查看原文
其他

BFLC:带有委员会机制的基于区块链的去中心化联邦学习架构

没饭了 隐私计算研习社 2022-09-24
本次介绍由中山大学陈川老师组于2021年1月发表在IEEE Network上的论文《A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus》。期刊IEEE NetWork的介绍如下,由此可看出论文质量还是可以的。

接下来,我们看下该篇论文所做的工作。


01背景

现有的中心化的联邦学习框架存在两个缺点:

(1)可能存在恶意客户端节点或中心服务器对全局模型或用户隐私数据进行攻击(Due to the malicious clients or central servers’ constant attack on the global model or user privacy data.);

(2)中心服务器通信压力大,鲁棒性弱,一旦崩溃,整个系统都是受到影响(The server needs to collect updates from numerous clients for aggregation operation, and it also needs to broadcast new global models to these clients, which puts a high demand on network bandwidth. Cloud-based servers are affected by the stability of cloud service providers.);

为了解决以上这两个问题,现有的工作(作者的主要参考文献)有两种思路:

(1)采用去中心化的架构,把全局模型存储在区块链,分别是参考文献[1]和[2]。

(2)采用去中心化的架构,把全局模型和本地模型更新存储在区块链中,参考文献[3]。

作者在阅读这些参考文献后,认为使用区块链来代替中心化联邦学习架构中的中心服务器是有效的(Through the literature review, it would be an effective way for blockchain to serve as decentralized storage and replace the central FL servers.),但以上参考文献中区块链达成共识的时间耗费较长,因此,作者设计了一个委员会机制来改善。综上,相比于之前的工作,作者提出的带有委员会机制的基于区块链的去中心化联邦学习架构主要有两大创新点:

(1)委员会机制;
(2)将全局模型和本地模型分为不同的区块存储在区块链上;

02框架

本文提出的框架名字叫BFLC(Blockchain-based Federated Learning framework with Committee consensus )

传统的中心化的联邦学习框架是由中心服务器向向客户端节点下发当前的全局模型,客户端节点收到后进行本地模型训练,完成后,向服务器上传模型更新,服务器聚合形成新的全局模型。迭代上述过程,直到全局模型精度或通信轮数达到阈值。本文中,作者把灰色的平行四边形的部分称为 训练社区(Training community),通过客户端节点管理机制(Nodes Management Mechanism)将合格的客户端节点选进社区,在训练社区中,节点又被分为2部分:

1. 训练节点(Training Nodes),即绿色圆圈部分;

2. 共识委员会(Committee Consensus),即蓝色圆圈部分;

训练节点从区块链上获取最新的全局模型,在本地进行训练,完成后,将模型更新部分发给共识委员会,共识委员会进行验证,通过后,将模型更新放到区块链上。模型更新的数量达到本轮的要求后,触发共识委员会节点上的智能合约,进行聚合,形成新的全局模型,并放到区块链中。

2.1 Nodes Management Mechanism

使用最初组成训练社区的节点来作为管理机制的节点。(we have designated the initial nodes that constitute the training community to be responsible for node management.) 管理机制使用黑名单的模式,如果客户端节点历史中有不好的行为,那么它加入训练社区将会被拒绝。

2.2 Committee Consensus

选出部分节点(设n个)作为委员会成员,其上的数据作为验证集,用来对每个训练节点的本地模型进行验证并将验证精度作为对该节点的打分,那么每个训练节点就会有n个分数,选择n个分数中的中位数作为每个训练节点模型跟新的最终分数,之后,由分数从高到低,选择m(视聚合需要多少个更新而定)个更新保存到区块链上。

共识委员会的选举:
下一轮共识委员会的成员节点是本轮得分最高的n个训练节点。

2.3 Blockchain Storage

分为模型区块和更新区块,其中,t是联邦学习的通信轮次,k是该轮需要的更新个数,所以 t*(k +1) 是model block,用来存储全局模型, [t*(k+1)+1,(t+1)*(k+1)-1] 是update blocks,分别存储第t轮通信的k个模型更新。

其中,model block 包含区块头、更新轮次t、全局模型;update block包含区块头、更新轮次t、更新所属的训练节点地址、本更新的得分、模型更新。


03框架扩展

3.1恶意节点攻击分析(Analysis of malicious node attacks

本文分析了两种恶意节点的攻击:
(1)委员会当中超过1/2的节点是恶意节点

作者假设训练社区中的总节点数为N,委员会节点数为M,那么训练节点数是N-M。只有当委员会节点中恶意节点数超过M/2时,恶意的更新被聚合。然而委员会中的M个节点是上一轮中得分最高的M个节点,这就意味着这些委员会节点的更新被上一轮超过M/2个委员会节点接受,以此类推,第一轮中委员会节点就有超过M/2个恶意节点。反之,当第一轮,委员会节点中超过M/2个节点是善意节点,那么就不会有恶意节点加入委员会并损伤全局模型。

(2)恶意节点联合伪装成正常节点去获取委员会席位 

当恶意节点占有一半的委员会席位时,攻击就会开始。为了分析这种攻击模式,本文设训练社区中的总节点数是A,恶意节点占比是q,委员节点占比是p,那么恶意节点的目标是获得(A*p)/2 个委员会席位。

令A等于1000,得到的分析图如下所示:

只有当恶意节点的占比q超过50%时,攻击开始显著增加。但是,这种情况下攻击的成本大于收益。历史的全局模型和更新都存储在区块链上,当攻击发生时,可以回滚到正常的模型和更新。

3.2存储优化(Storage optimization

本文将模型更新和全局模型都放到区块链上,对存储区块链的节点来说需要大量的存储,因此作者给出了存储优化方案。
(1)没有足够存储空间的节点无需存储整个区块链,而是只存储最新的全局模型和更新;由核心节点来存储整个区块链。但是,这样做缺点也很明显,那就是会降低区块链的可信度,在互相不信任的社区中,每个节点出于安全考虑,可能不使用此方案。
(2)使用可信且可靠的第三方存储。区块链只记录全局模型和更新文件在第三方存储上的存储地址,以及记录修改操作。

04实验

根据表1和图4可以看出,没有攻击时,本文提出的框架BFLC的精度略微下降;在有攻击时,BFLC的精度一直维持在较高水平。如图5所示,BFLC的通信开销较大,但相比于其他基于区块链的设计,通信开销还可以接受。


05参考文献

[1] P. Ramanan, K. Nakayama, and R. Sharma, “BAFFLE : Blockchain based aggregator free federated learning,” CoRR, vol. abs/1909.07452, 2019. [Online]. Available: http://arxiv.org/abs/1909.074

[2] S. Zhou, H. Huang, W. Chen, Z. Zheng, and S. Guo, “PIRATE: A blockchain-based secure framework of distributed machine learning in 5g networks,” CoRR, vol. abs/1912.07860, 2019. [Online].  

[3] X. Chen, J. Ji, C. Luo, W. Liao, and P. Li, “When machine learning meets blockchain: A decentralized, privacy-preserving and secure design,” in 2018 IEEE International Conference on Big Data (Big Data), Dec 2018, pp. 1178–1187.  


END

译者简介:知乎:没饭了。研究兴趣包括机器学习、联邦学习、区块链等。

往期回顾#
联邦学习前沿 | 基于图神经网络的联邦推荐系统研究
面向大规模联邦学习系统设计
抗量子密码标准化与应用论坛即将召开
《简洁非交互零知识证明》介绍
TenSEAL: 一个使用同态加密的加密张量运算库
MOTION-混合协议的多方计算框架




欢迎投稿
邮箱:pet@openmpc.com
参与更多讨论,请添加小编微信加入交流群

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存