基于区块链隐私增强的联邦学习可验证安全存储方案
2023-12-20林庆新胡志强曾凌静
林庆新,余 锋,胡志强,曾凌静
(1.福州大学至诚学院 计算机工程系,福建 福州 350002;2.福建师范大学 计算机与网络安全学院, 福建 福州 350017;3.中国航天科工集团第二研究院 七〇六所,北京 100854; 4.福建船政交通职业学院 信息与智慧交通学院,福建 福州 350004)
0 引 言
联邦学习作为一个分布式学习框架[1],可以在不泄露用户数据的前提下完成模型训练,但是在传统的联邦学习系统中,中央服务器在接收到参与方上传的本地模型后,直接根据既定策略对其聚合更新全局模型,而没有对本地模型的合法性进行验证,导致后续模型不可靠,这就是模型存储可靠性问题[2-4]。本文以联邦学习在数据存储过程中的模型可靠性需求为目标展开研究,并结合区块链的去中心化、不可篡改、可追溯和可审计的特性[5],提出一种基于区块链隐私增强的联邦学习可验证安全存储方案。本文的主要贡献如下:
(1)将联邦学习模型的可靠性问题,转换为区块链上验证者对于模型的验证问题。考虑到系统可能存在试图篡改模型的恶意节点,所以工人上传的本地模型可能是不可信的,引入验证者角色并提出一种新颖的验证者投票机制。该机制让验证者接收到来自工人的交易后,会对它的签名做验证,并提取交易中的本地模型进行可靠性投票,从而提升模型可靠性。
(2)当恶意节点成为矿工后,它可能通过篡改验证者的投票结果甚至向其开采的区块中加入噪声来干扰全局模型的计算,继而影响系统模型的表现。因此,引入一种奖励机制和角色轮换机制来避免恶意节点开采的区块成为共识区块,并且根据节点各自的角色分配奖励,从而增强了系统的健壮性。
(3)为了验证本方案的有效性,采用PyTorch框架在MNIST数据集上进行仿真实验。结果表明,在设置一定数量的恶意节点下,仍然保持较高的模型准确性。由于模型准确性受工人和验证者数量比例影响,在存在15%的恶意节点联邦学习设置下,对比基线策略FedAvg和pFedMe,本方案能够通过验证机制剔除恶意模型,确保存储模型的安全性与可靠性,进而保障最终模型的准确率表现。
1 相关工作
在联邦学习的数据存储过程中,传统联邦学习通常是直接聚合参与方上传的本地模型更新,而未做任何验证以保证上传模型的可靠性。McMahan等[6]提出FedAvg算法,通过联邦平均来实现模型的全局更新,从而在不共享原始数据的情况下实现协同深度学习。Li等[7]提出FedProx算法,它在FedAvg更新策略上做了调整,在每个客户端上引入了一个正则项,来平衡平均的全局模型与本地模型的差异。进而使得FedAvg算法更加稳健。针对FedProx缺乏形式化问题,Li等[8]提出FedLGA算法,它先将系统异构联邦学习问题形式化,然后通过梯度近似来弥合本地模型更新的分歧。Reisizadeh等[9]提出FedPAQ算法,通过在迭代过程中,周期性地对参与方的模型进行平均,在传输过程中将参与方的模型参数进行量化,以减少通信量,同时保持模型精度。Zhao等[10]指出FedAvg算法在数据非独立同分布(non-IID)场景下的性能很差,定义并指出权重差异是导致性能下降的主要原因,进一步地,提出了FedShare算法,一种共享部分共有数据集的方法,来提升non-IID场景下FedAvg算法的性能。
同时,目前有许多工作结合区块链提出安全联邦学习框架。Xu等[11]提出一种安全可验证的联邦学习框架VerifyNet,首先提出一个双掩码协议来保证联邦学习过程中用户本地梯度的机密性。然后,云服务器向每个用户提供关于其聚合结果正确性的证明。Kim等[12]提出的框架实现了基于区块链的设备上联邦学习(on-device FL),该方案主要利用矿工对设备的本地模型更新的交叉验证机制以及区块链的不可篡改和可追溯审计等特性,以确保模型更新的准确性和可靠性。Jiang等[13]为数字孪生网络提出一种模型更新链,利用有向无环图区块链来保护本地模型和全局模型更新。同时涉及了一种基于迭代双拍卖的联邦学习和本地模型验证模型更新方案,解决了联邦学习和本地模型验证的最佳统一时间,以最大化社会福利。Peng等[14]提出一种基于区块链系统的可验证和可审计的联邦学习框架VFChain。该方案通过区块链选择一个委员会来聚合模型并在区块链中记录可验证的证据来提供可验证性,同时,为区块链提出了一种经过身份验证的数据结构,以提高可验证证据的搜索效率并支持委员会的安全轮换。Li等[15]提出一种抗拜占庭安全区块链联邦学习框架BytoChain。通过引入验证者并执行繁重的验证工作量来提高模型验证的效率,并通过抗拜占庭共识的准确率证明来检测拜占庭攻击[16-18]。
然而,现有工作在数据存储过程中缺少有效的验证机制和奖励机制,而联邦学习中的客户端或服务器可能是恶意的,往往存在数据被篡改和隐私泄露的风险,无法保证本地模型存储的可靠性,影响最终全局模型的表现。
2 BFL4MVSS方案及架构设计
2.1 BFL4MVSS架构
BFL4MVSS的系统架构如图1所示。BFL4MVSS主要包含以下几种角色:工人w∈W, 验证者v∈V, 矿工m∈M, 其中 |W|+|V|+|M|=|D|,D={d1,d2,…,dn}。
图1 系统架构
安全模型:本文考虑联邦学习参与者对于全局模型的投毒攻击。这种攻击通过在本地训练过程中通过反转标签等方式训练出异常本地模型,从而最终影响联邦学习全局模型的可靠性。这种攻击之所以能够成功是因为联邦学习的本地模型的可靠性没有可信的第三方进行评估。另一方面,区块链中的恶意工人一旦被选举为矿工会阻碍区块链上的共识的达成,不但影响区块链的性能,更会严重降低区块链的安全性。此外,对于异常模型,这些矿工也很有可能采取放任的态度并让他们进入联邦聚合过程,这终究会影响联邦学习的全局模型的可靠性。因此,恶意工人也是本文需要防范的安全威胁之一。
针对这些安全威胁,本文利用区块链技术,提出了验证者投票机制,验证者先后对本地模型做评估与投票,以保证存储模型的可靠性;同时引入了一种奖励机制,允许系统在一定数量的恶意节点存在下正常运行。
本方案所用到的主要符号及含义见表1。
2.2 联邦学习过程
BFL4MVSS的联邦学习过程如图2所示。具体描述如下:
表1 主要符号说明
(1)角色分配以及初始化:根据角色随机轮转机制为所有节点分配角色,全局模型随机初始化,并广播给所有联邦学习参与方即工人w;
(2)本地模型更新:工人w在私有数据集上进行本地训练以生成本地模型,然后将本地模型封装到交易并发送给验证者v;
(3)本地模型广播:接着,与工人w关联的验证者v将接收到的交易广播给其它的验证者;
(4)验证者投票:所有验证者根据投票机制对接收到的交易进行投票;
(5)模型聚合:矿工m在聚合得到全局模型后创建并广播经过基于权益证明(proof of stake,PoS)共识后的共识区块;
(6)区块添加:具有最多累计奖励的矿工生成的区块被添加到区块链中。如果未达到预设的通信轮次,那么矿工请求与之关联的设备下载包含全局模型的公式区块,反之,联邦学习过程结束。
重复以上步骤直到联邦学习过程结束。相比于基础联邦学习过程,本文提出的联邦学习是建立在工人训练模型、验证者验证模型、矿工聚合模型的基础上的。因此,模型的可靠性是通过验证者验证过的。
图2 BFL4MVSS的联邦学习过程
2.3 验证者投票机制
算法1:验证者投票机制
(5)else
2.4 奖励机制
基于PoS的共识机制的保护会保护合法学习所得的本地模型和记录在区块链上的模型,以用来更新全局模型。而在本方案中,矿工负责投票结果的汇总和记录。因此,当恶意节点成为矿工后,它可能通过篡改验证者的投票结果甚至向其开采的区块中加入噪声来干扰全局模型的计算,继而影响系统模型的表现。因此,我们采用一种奖励机制和角色轮换机制来避免恶意节点开采的区块成为共识区块[16],奖励根据节点各自的角色分配,这在一定程度上增强了系统的健壮性。
本方案的节点分为工人、验证者、矿工3种角色,对应的奖励亦分为3类:工人奖励、验证者奖励和矿工奖励。定义r为一个单位奖励。
(1)
(2)
(3)
2.5 模型聚合策略
BFL4MVSS采用前述的验证者投票机制和奖励机制,能够抵抗恶意节点发起的噪声攻击,保障了区块中存储本地模型的可靠性。因此,本方案使用类似FedAvg[5]的聚合策略来聚合本地模型就可以保障全局模型可靠性,描述如下
(4)
3 实验及结果分析
3.1 实验环境
本方案的仿真实验设备采用20台虚拟机,CPU 8核2.10 GHz、16 G内存、300 G硬盘,采用Python 3.8和PyTorch框架实现本方案的基线算法FedAvg[5]、pFedMe[17]和BFL4MVSS。方案采用MNIST数据集[18]进行验证。MNIST是一个手写体数字的图片数据集,该数据集来由美国国家标准与技术研究所发起整理,一共统计了来自250个不同的人手写数字图片,其中50%是高中生,50%来自人口普查局的工作人员。其中,训练集train一共包含了60 000张图像和标签,而测试集一共包含了10 000张图像和标签。为了处理该数据集,本方案使用的CNN模型,它由带有ReLU激活函数的两个5×5的卷积层,两个2×2的池化层,以及两个全连接层组成。
我们假设FedAvg、pFedMe和BFL4MVSS包括20台设备且均参与联邦学习过程,将整个MNIST数据集随机不重叠等分并分配给每个参与方。为了简化,假设所有签名都是验证通过的。本实验相关超参数设置见表2。
表2 超参数设置
3.2 实验结果分析
3.2.1 BFL4MVSS健壮性分析
图3 12w,5v,3m设置下的准确率变化情况
图4 8w,9v,3m设置下的准确率变化情况
图5 8w,9v,3m设置下的BFL4MVSS有效性
本实验中,为了探究BFL4MVSS的健壮性,我们将恶意节点的数量设置为不同的值(即3,4,6,8,10,12,14,16),工人w数量和验证者v数量为12和5,矿工m数量为3,然后分别记录系统模型的准确率,其结果如图3所示。我们观察到,当存在少于10个注入高斯噪声的恶意节点时,BFL4MVSS仍然能够维持较高的准确率,尤其是4个恶意节点时,对应的准确率达到90%。这表明在此设置中,BFL4MVSS能够利用验证者投票机制,减小恶意模型被存储的可能性,进而抵制恶意节点数量占比为40%的高斯噪声攻击。进一步地,为了探究不同工人数量和验证者数量的情况下BFL4MVSS的健壮性,我们将工人w数量和验证者v数量调整为8和9,其它设置保持不变。其实验结果如图4、图5所示。当且仅当恶意节点数量不多于4个的设置下,BFL4MVSS的准确率能够维持在较高水平,即存在3个恶意节点时,模型准确率为95%,存在4个恶意节点时,模型准确率为80%。这同样验证了本系统一定程度的健壮性,且系统的健壮能力是受工人和验证者数量比例影响的。这是因为本策略通过奖励激励工人的非恶意行为,这样更多的非恶意工人能够成为矿工,而一旦成为矿工,他将获得更多的奖励。此外,工人晋升为矿工是存在竞争的,因为只有累计奖励最高的工人才有晋升的机会。这意味着工人会因为奖励从而不进行恶意行为。另一方面,由于验证者的存在,通过比对前后轮模型的准确性,本地模型的可靠性得到显著的提升。然而,验证者是一个团体而非个人,因此验证者对于模型的验证也是一个团体行为,即对于模型可靠性的验证最终需要通过团体投票决定,而这一决定又和验证者的奖励有直接关系。这意味着验证者因为奖励的存在所以对模型的可靠性进行真实验证,以保证各验证者对于模型的可靠性的决定接近一致,从而保障了模型的可靠性。以上的分析验证了工人和验证者数量的比例对于模型可靠性存在一定的影响。
3.2.2 BFL4MVSS有效性分析
为了验证BFL4MVSS的有效性,我们根据以下设置进行对比实验。20台设备均合法设置下的FedAvg算法(用FedAvg_0/20表示),存在3个恶意节点的FedAvg算法(用FedAvg_3/20表示),本方案中存在3个恶意节点的设置(用OurScheme_3/20表示)。我们对以上每个设置进行3次实验,并记录所有设备的模型准确率变化情况。实验结果如图5所示,其中实线代表3次实验准确率的平均值。观察图中的两个不同设置的FedAvg算法,FedAvg在无恶意节点设置下的准确率为96%,然而,在存在15%的恶意节点设置下,其准确率骤降至12%。观察图中均为15%恶意节点设置下的FedAvg和本方案表现,尽管相比于Fed-Avg,本方案的准确率下降了10%,但本方案的准确率仍然能够达到86%。这表明了在存在15%比例的恶意节点联邦学习设置下,本方案能够通过验证机制剔除恶意模型,确保存储模型的安全性与可靠性,进而保障最终模型的准确率表现。
接着,在恶意节点比例占15%,以及12个工人、5个验证者和3个矿工,8个工人、9个验证者和3个矿工两种不同角色比例的设置下,我们对比了FedAvg、pFedMe和本方案的准确率表现,相应的实验结果见表3。我们很容易观察到本方案的准确率远高于前两个对比算法的准确率。这又进一步验证了:在恶意节点占比15%的设置下,相比其它两种对比算法,本方案能够有效保证存储模型的可靠性,进而维持模型准确率表现。上述实验结果符合预期,这是因为作为基线策略FedAvg和pFedMe无法有效验证恶意模型,这使得全局模型的准确率低。而本方案利用验证者先后对本地模型做评估与投票从而保证存储模型的可靠性,并引入了奖励机制,这使得无论在12个工人、5个验证者和3个矿工还是8个工人、9个验证者和3个矿工两种不同角色比例设置下,对于存在15%的恶意节点,本方案模型的准确性都更高。
表3 不同角色比例设置下的算法准确率对比/%
4 结束语
针对联邦学习系统中的模型存储可靠性问题,本文将区块链技术引入到联邦学习中,提出了一种基于区块链隐私增强的联邦学习可验证安全存储方案BFL4MVSS。本方案首先引入验证者角色,提出了一种验证者投票机制来剔除系统中可能存在的恶意模型,确保最终模型的可靠性。然后,为了维持系统正常运行,引入了奖励机制来激励节点,其中拥有最高奖励的矿工具有存储全局模型的权利,以维持本系统的正常运作。仿真实验表明,BFL4MVSS能够有效保护用户数据隐私,同时保持了较高的模型准确率。与现有方案相比,由于验证者投票机制,恶意模型的存储比例更低,全局模型的可靠性更高,相应的模型准确率更高。本方案解决联邦学习系统中存在恶意节点时的模型存储的可靠性问题,为健壮的联邦学习系统提供了一种解决思路。此外,如何将合理的奖励机制融入高效可靠的共识机制的设计也是我们未来的研究方向。