和数链课堂是用和数链技术架构做的吗?

1.本发明涉及机器学习技术领域,特别是涉及一种基于区块链的联邦学习系统及参数聚合方法。

2.联邦学习以分布式的形式进行模型训练,这种新型的训练方式使得用户无需将隐私数据上传至服务提供商的中心服务器,也可以享受服务提供商提供的个性化服务,这一方式很好的保护了用户的个人隐私。
3.在联邦学习训练过程中,用户使用移动设备接收云服务器发送的模型,使用自身的数据在本地进行模型训练,之后将训练得到的模型参数发送给云服务器,用于云服务器进行全局模型的更新。然而,近期的研究表明,攻击者可以通过拦截用户发送的模型参数并从中解析出用户的隐私信息。这一问题揭露了联邦学习潜在的巨大隐私泄露风险。因此,为了保护用户发送的模型参数中的隐私信息,研究一种安全鲁棒具有强隐私保护特性的参数聚合方法具有十分重要的意义。
4.现有技术中主要分为以下三类解决上述问题:
5.1)基于加性掩码的参数聚合方法
6.该方法通过用户之前进行两两协商来确定一个私密值,并使用该私密值通过伪随机数生成器(prg)生成随机掩码,由于相同的输入经过prg运算后所产生的随机掩码是相同的,因此协商双方的双方一方在原有模型参数的基础上加上随机掩码,另一方则减去随机掩码。如此,在进行模型参数聚合时随机掩码对于聚合结果的影响将会被抵消。为了提升系统的鲁棒性,可采用秘密共享来对意外丢失的随机掩码进行恢复,从而确保聚合结果不会因为随机掩码无法抵消而不可用。
7.基于加性掩码的参数方法要求每两个移动设备间都要进行协商,由于移动设备数量巨大因此协商轮数十分巨大且极高的通信成本时移动设备无法承受的。此外,仅使用秘密共享来对丢失的随机掩码进行恢复成功率和效率处于较低水平。因为秘密恢复需要收集一定数量的秘密碎片才能完整的恢复出原始秘密,而一旦秘密碎片不足则无法完整恢复随机掩码,这就会造成随机掩码无法被完全消除,聚合结果不可用的情况。
8.2)基于加密的参数聚合方法
9.此类方法主要是利用同态加密、半同态加密的方法对用户发送的模型参数进行加密,通过对密文进行操作来实现参数聚合的目的,并通过对聚合的密文进行解密来获得最终的聚合结果。基于加密的参数聚合方法使用同态加密(半同态加密)手段进行加密,这种加密方法的计算开销是十分巨大的,无法适用于计算资源有限的移动设备,并且该加密算法目前仍处于理论研究层面,距离实际应用仍有较大的差距。此外,目前的同态加密算法,只能适用于加法或惩罚操作,对于深度学习模型中的非线性计算无法很好的适配,因此局限性较大。
10.3)基于信号变换的参数聚合方法
11.此类方法主要是利用快速傅里叶变换、all or nothing变换来对用户的模型参数进行变换,从而防止攻击者获取到用户真实的模型参数。通过对信号进行叠加来进行参数聚合,通过逆向信号恢复来得到最终的参数聚合结果。基于信号变换的参数聚合方法在对参数进行变化和恢复的过程中会因为传输过程中的信号受损而导致恢复结果不可用的情况产生,因此实用性不强。且目前主流的信号变换算法无法对深度学习模型高维矩阵进行高效变换,因此此类方案局限性较大。
12.此外,现有的方案普遍采用“服务器-移动设备”两层架构,此类架构,可扩展性差,无法承载海量设备同时进行连接的场景。移动设备和服务器的直接通信,会随着接入的移动设备的增长而产生较大的通信等待和通信延迟,服务质量较低。

13.本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于区块链的联邦学习系统及参数聚合方法。
14.为了实现本发明的上述目的,根据本发明第一个方面,本发明提供了一种基于区块链的联邦学习系统,包括用户层、边缘层和云端层;所述用户层包括至少一个分区,每个分区至少具有一个移动设备;所述边缘层包括至少一个边缘服务器,每个边缘服务器管辖一个分区内的移动设备,每个边缘服务器对其管辖区域内移动设备输出的模型参数进行区域聚合获得区域聚合结果,并将所述区域聚合结果发送至云端层;所述云端层包括云服务器,所述云服务器被配置为对接收的区域聚合结果进行全局聚合;构建以边缘服务器为共识节点,以移动设备和云服务器为参与节点的区块链,在所述区块链上部署智能合约,所述智能合约为边缘服务器分发第一掩码和/或为移动设备分发第二掩码。
15.上述技术方案:该系统采用“云-边-端”三层架构,可通过扩充分区提升面向海量移动设备的服务能力,通过边缘层对参数聚合过程先做区域聚合之后再由云服务器进行全局聚合,减轻了云服务器的运行压力,有效的提升了系统的承载能力。采用智能合约替代现有方案中通过协商方式确定掩码的方案,减少了联邦学习参数聚合过程中移动设备间的通信轮次,节省了通信成本和计算开销。其次,智能合约具备有去中心化、自动执行的特点,可以高效的完成掩码的分发工作。
16.为了实现本发明的上述目的,根据本发明第二个方面,本发明提供了一种基于本发明第一方面所述的基于区块链的联邦学习系统的模型参数聚合方法,包括:云服务器向边缘服务器发起参数聚合请求;调用第一智能子合约为参与本次参数聚合的边缘服务器分发第一掩码;边缘服务器向其管辖区域内的移动设备发起参与请求;参与本次参数聚合的每个边缘服务器调用第二智能子合约基于自身第一掩码为其管辖区域内参与本次参数聚合的移动设备分发第二掩码;参与本次参数聚合的移动设备向其所属边缘服务器发送加入自身第二掩码的模型参数;边缘服务器对接收的模型参数进行区域聚合,并将获得的区域聚合结果发送至云服务器;云服务器对接收的区域聚合结果进行全局聚合获得总体模型参数。
17.上述技术方案:除具有上述系统的有益技术效果外,还具有如下技术效果:第二掩码基于第一掩码获得,使得边缘服务器能够将区域聚合结果直接发送给云服务器,不需要再加入第一掩码,简化了处理过程。
18.图1是本发明一具体实施方式中基于区块链的联邦学习系统的结构示意图;
19.图2是本发明一具体实施方式中模型参数聚合方法的流程示意图;
20.图3是本发明一具体实施方式中移动设备注册过程示意图;
21.图4是本发明一具体实施方式中第一掩码分发过程示意图;
22.图5是本发明一具体实施方式中第二掩码分发过程示意图;
23.图6是本发明一具体实施方式中移动设备发送模型参数的流程示意图;
24.图7是本发明一具体实施方式中模型参数聚合过程示意图。
25.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
26.在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
27.在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
28.本发明公开了一种基于区块链的联邦学习系统,在一种优选实施方式中,如图1所示,该系统包括用户层、边缘层和云端层;用户层包括至少一个分区,每个分区至少具有一个移动设备;边缘层包括至少一个边缘服务器,每个边缘服务器管辖一个分区内的移动设备,每个边缘服务器对其管辖区域内移动设备输出的模型参数进行区域聚合获得区域聚合结果,并将区域聚合结果发送至云端层;云端层包括云服务器,云服务器被配置为对接收的区域聚合结果进行全局聚合;构建以边缘服务器为共识节点,以移动设备和云服务器为参与节点的区块链,在区块链上部署智能合约,智能合约为边缘服务器分发第一掩码和/或为移动设备分发第二掩码。
29.在本实施方式中,分区的划分优选但不限于根据地理位置或计算性能等划分,如距离较近或计算性能相近的一个或多个移动设备组成一个分区。每个分区指定一个边缘服务器进行管理,分区与边缘服务器一一对应。边缘服务器作为共识结点在边缘层维持区块链的运转。云服务器负责发起参数聚合请求以及模型参数全局聚合,聚合最终结果。
30.在一种优选实施方式中,还包括密钥生成中心,密钥生成中心生成主私钥和主公钥,并基于主私钥、主公钥、以及移动设备/边缘服务器/云服务器的身份标识符生成移动设备/边缘服务器/云服务器的私钥。
31.在本实施方式中,密钥生成中心优选但不限于为半可信第三方,通常由政府部门担任,负责实体注册以及私钥等参数分配,实体优选但不限于为移动设备或原服务器或边
缘服务器。如图1所示,密钥生成中心向各实体分配的参数优选但不限于包括私钥、主私钥、主公钥。
32.在本实施方式中,在系统开始运行后,需要对系统进行初始化,初始化过程为:密钥生成中心使用生成元p和素数阶n在椭圆曲线e(z
)上生成一个子群g,z
是以生成元p与素数阶n生成的定义域;选择一个随机数作为主私钥,计算主公钥pk
p;定义一个哈希函数h:{0,1}
,h)。zn是域当且仅当n是素数。是zn中所有可逆元素的模。
33.在本实施方式中,为实现私钥的有效安全设置,优选的,密钥生成中心对移动设备进行注册的过程示意图如图3所示,具体包括:
34.步骤201:第i个边缘服务器管辖区域内第j个移动设备将自身的唯一身份标识符发送给密钥生成中心,id
表示第i个边缘服务器管辖区域内第j个移动设备的身份标识符。
35.步骤202:密钥生成中心根据注册列表验证该实体的身份标识符是否已被注册,即该身份标识符是否已存在注册列表中,如没有被注册则进行步骤203,若已注册则终止。
36.步骤203:密钥生成中心为该实体选取一个随机数,r
表示密钥生成中心为第i个边缘服务器管辖区域内第j个移动设备选取的随机数。计算第一私钥参数r
s,其中,h()表示哈希函数,(r
)组成了第i个边缘服务器管辖区域内第j个移动设备的私钥ppk
37.步骤204:密钥生成中心将私钥ppk
)发送给第i个边缘服务器管辖区域内第j个移动设备。
38.步骤205:第i个边缘服务器管辖区域内第j个移动设备通过验证等式s
是否成立来判断该私钥是否是利用自己的唯一身份标识信息生成的,验证无误则注册完成,反之,则终止注册流程。
39.在本实施方式中,优选的,区块链上存储有边缘服务器的第一掩码和/或移动设备的公钥。这样能够保证当无法成功恢复移动设备的第二掩码(mask值)时,云服务器可通过调用查询合约,从区块链中检索掩码恢复失败区域的第一掩码shield值,可以在最后的聚合结果中直接消去这个区域的影响,保证其他区域的聚合结果不受干扰,因此具有更强的鲁棒性。
40.本发明开公开了一种基于上述基于区块链的联邦学习系统的模型参数聚合方法,在一种优选实施方式中,如图2所示,该方法包括:
41.步骤s1,云服务器向边缘服务器发起参数聚合请求。
42.在本实施方式中,步骤s1包括:
43.步骤s11,云服务器向所有边缘服务器广播参数聚合请求,参数聚合请求req=(m,γ,h(m,γ),t),其中,m为本次参数聚合的模型信息,γ为参与本次参数聚合的边缘服务器限制条件,h(m,γ)是模型信息和边缘服务器限制条件的哈希值,t为系统当前时间戳。
44.步骤s12,满足参与本次参数聚合的边缘服务器限制条件γ的边缘服务器向云服务器发送边缘服务器回复信息res=(idi,addri,h(idi,addri),t),其中,idi表示第i个边缘服务器的身份标识符,addri表示第i个边缘服务器的区块链地址,h(idi,addri)表示第i个边缘服务器的身份标识符和区块链地址融合后的哈希值,t表示边缘服务器发送回复信息
45.步骤s2,调用第一智能子合约为参与本次参数聚合的边缘服务器分发第一掩码。第一掩码shield的分发过程如图4所示,优选的,具体包括:
46.步骤s21,云服务器随机获取第一随机数;
47.步骤s22,第一智能子合约处理过程为:设置第一变量ψ,第一变量ψ的初始值为第一随机数;遍历所有参与本次参数聚合的边缘服务器,并在遍历每个边缘服务器时执行:获取系统当前时间戳,将系统当前时间戳输入伪随机数生成器生成随机掩码,将随机掩码作为当前遍历的边缘服务器的第一掩码shield,令ψ=ψ-shield;在遍历完所有参与本次参数聚合的边缘服务器后将第一变量ψ返回云服务器。
48.上述步骤s21、步骤s22的具体算法过程如下:
进一步优选的,为便于后续第一掩码查询,特别是当分区不可用时,可以从区块链上调用查询合约查询到这个分区对应的边缘服务器的第一掩码,可以在最后的聚合结果中直接消去整个区域的影响,保证其他区域的聚合结果不受干扰,因此具有更强的鲁棒性,并且通过区块链来存储也更加安全,防止篡改。因此,步骤s2还包括步骤s23,步骤s23为:构建边缘服务器候选列表l,边缘服务器候选列表l存储于区块链上,l={h1,h2,...,h
表示参与本次参数聚合的边缘服务器数量,i∈[1,n
]设第i个边缘服务器的边缘服务器信息hi=h(idi,addri);在边缘服务器候选列表中,参与本次参数聚合的边缘服务器的边缘服务器信息和第一掩码一一对应设置,边缘服务器信息为边缘服务器的身份标识符和区块链地址融合值的哈希值。
步骤s3,如图5所示,边缘服务器向其管辖区域内的移动设备发起参与请求,具体包括:
步骤s31,边缘服务器向其所辖区域内的所有移动设备发送请求req
),t),其中,m为本次参数聚合的模型信息,γ
为参与本次参数聚合的限制条件,h(m,γ
)是模型信息和限制条件γ
的哈希值,t为系统当前时间戳。
步骤s32,移动设备收到请求信息后,通过验证模型信息和限制条件γ
的哈希值来确保该信息未被篡改,根据限制条件γ
判断自身是否满足本次参数聚合的要求,若满足条件,则发送回复信息res
),表示将参与本次参数
聚合。回复信息包括第i个边缘服务器的第j个移动设备的身份标识符id
)和当前系统的时间戳t’。
步骤s33,边缘服务器在收到来自移动设备的回复信息后,计算移动设备信息hj′
存入移动设备候选列表假设有n
个参与本次参数聚合的移动设备个数。
步骤s4,参与本次参数聚合的每个边缘服务器调用第二智能子合约基于自身第一掩码为其管辖区域内参与本次参数聚合的移动设备分发第二掩码。边缘服务器以移动设备候选列表l
、公钥列表pkl、边缘服务器信息作为参数调用第二智能子合约,为参与聚合的移动设备分配mask值。
在本实施方式中,优选的,如图5所示,步骤s4具体包括:
步骤s41,边缘服务器从区块链上调用自身的第一掩码,优选的,设第i个边缘服务器,计算hi=h(idi,addri),调用查询合约,从区块链上查询获得该边缘服务器的第一掩码。
步骤s42,设置第二变量第二变量的初始值为边缘服务器的第一掩码;
步骤s43,遍历管辖区域内所有参与本次参数聚合的移动设备,在遍历每个移动设备时执行:获取系统当前时间戳,将系统当前时间戳输入伪随机数生成器生成随机掩码,将随机掩码作为当前遍历的移动设备的第二掩码mask,令在遍历完边缘服务器管辖区域内所有参与本次参数聚合的移动设备后将第二变量返回边缘服务器。
进一步优选的,边缘服务器和该边缘服务器管辖区域内的移动设备之间通过公私密钥对传递第二掩码。在边缘服务器可通过移动设备对应的公钥、部分系统参数对该移动设备的第二掩码进行加密,将加密结果发送给移动设备,移动设备利用自身私钥解密获得第二掩码。为便于后续查找,将加密结果与移动设备信息一一对应存储于移动设备候选列表中。
步骤s4中第二智能子合约的算法过程如下:
步骤s5,参与本次参数聚合的移动设备向其所属边缘服务器发送加入自身第二掩码的模型参数。
在本实施方式中,优选的,通过使用秘密共享和智能合约设计了双重容错机制,加强系统安全性和鲁棒性。如图6所示,步骤s5具体包括:
步骤s51,移动设备随机获取一个随机数ε,将随机数ε输入随机数生成器生成用户掩码∈,将加入了用户掩码∈和第二掩码mask的模型参数发送给所属边缘服务器。移动设备计算发送信息y
表示第i个边缘服务器管辖区域内第j个移动设备发送给第i个边缘服务器的发送信息,x
为示第i个边缘服务器管辖区域内第j个移动设备训练获得的模型参数,mask
为第i个边缘服务器管辖区域内第j个移动设备的第二掩码值,∈
为第i个边缘服务器管辖区域内第j个移动设备的用户掩码。移动终端发送向边缘服务器发送y
步骤s52,移动设备将自身的第二掩码分为多个第二掩码碎片,将自身的用户掩码
分为多个用户掩码碎片,移动设备将第二掩码碎片和用户掩码碎片分发给所在区域内的移动设备。
步骤s6,边缘服务器对接收的模型参数进行区域聚合,并将获得的区域聚合结果发送至云服务器。
在本实施方式中,如图7所示,步骤s6中边缘服务器对接收的模型参数进行区域聚合,包括:
边缘服务器向管辖区域内参与本次参数聚合的移动设备请求已成功发送模型参数的移动设备的用户掩码碎片和未成功发送模型参数的移动设备的第二掩码碎片。之后,移动设备根据请求内容向边缘服务器发送用户掩码碎片或第二掩码碎片。
边缘服务器利用收集的用户掩码碎片和第二掩码碎片重构未成功发送模型参数的移动设备的第二掩码和所有参与本次参数聚合的移动设备的用户掩码,获得mask
边缘服务器根据如下公式获得区域聚合结果:
其中,zi表示第i个边缘服务器的区域聚合结果;设第i个边缘服务器管辖区域内有n1个移动设备成功发送模型参数,有n2个移动设备未成功发送模型参数;y
表示第i个边缘服务器管辖区域内成功发送模型参数的第j个移动设备的发送信息;ε
表示第i个边缘服务器重构的第j个成功发送模型参数的移动设备的用户掩码;j∈[1,n1];m∈[1,n2];mask
表示第i个边缘服务器重构的第m个未成功发送模型参数的移动设备的第二掩码。表示第i个边缘服务器调用第二智能子合约进行第二掩码分发结束后的第二变量值。n1+n2=n
上述步骤中通过使用秘密共享和智能合约设计了双重容错机制,在面对移动设备因设备异常离线时,可先通过秘密共享恢复其掩码信息以消除其对聚合结果的影响。
优选的,将区域汇聚结果存储在区块链上,采用区块链来记录在联邦学习参数聚合过程中的中间结果,借助区块链的可追溯性、防篡改等特性,记录在链上的中间结果不会被篡改,当参数聚合流程出现异常或遭受攻击,可通过查询链上记录来快速定位出错环节以及攻击者的相关信息,便于及时开展补救措施和对攻击者进行追责。
步骤s7,云服务器对接收的区域聚合结果进行全局聚合获得总体模型参数。云服务器汇总来自所有边缘服务器的区域聚合结果,并通过如下公式计算总体模型参数p:
其中,ψ为第一智能子合约分发第一掩码值结束时获得的第一变量值,ξ为第一智能子合约分发第一掩码值开始时设置的第一随机数。
在步骤s7中,当秘密共享无法成功恢复时,可通过查询合约来获取异常已送设备所在分区边缘服务器的第一掩码值,在全局聚合中减去该第一掩码值,通过消除这个分区整个区域的影响来保证其他分区的参数聚合结果不受影响。因此,能够有效的应对设备异常离线或遭受攻击宕机的情况,具有高鲁棒性。
本专利在进行第一掩码和第二掩码发放过程中全程由第一智能子合约和第二智能子合约自动执行,没有任何实体能够参与该过程,且对于掩码的分发采用先加密后分发
的原则,能够保证攻击者无法窃取实体的掩码信息,从而保证用户的模型参数安全以及参数内包含的隐私信息,可见本方法具有高安全性与高隐私保护性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

我要回帖

更多关于 区块链技术的基本架构 的文章

 

随机推荐