A Blockchain-Based Decentralized Federated Learning Framework with CommitteeConsensus

基于区块链的具有委员会共识的分散式联邦学习框架

期刊:IEEE Network

作者:Yuzheng Li; Chuan Chen; Nan Liu; Huawei Huang; Zibin Zheng; Qiang Yan

时间:2020.12.14



一、Abstract

为了解决恶意客户端或中心服务器不断攻击全局模型或用户隐私数据,提出了一种基于区块链的去中心化联邦学习框架,即基于区块链的具有委员会共识的联邦学习框架(BFLC)。在没有中心化服务器的情况下,该框架使用区块链进行全局模型存储和本地模型更新交换。 为了实现所提出的BFLC,设计了一种创新的委员会共识机制,可以有效减少共识计算量并减少恶意攻击。

二、Introduction

在FL节点管理上,基于联盟链的架构,提供节点权限控制,无需中心化服务器。 在存储方面,设计了模型和更新的链上存储模式,这样节点可以快速获取最新的模型。 每个经过验证的更新都会记录在区块链上并保持不被篡改。 考虑到区块链上巨大的存储消耗,部分节点可以放弃历史区块以释放存储空间。 在区块共识机制方面,提出了一种新颖的委员会共识机制,仅增加少量验证消耗,并在恶意攻击下实现更高的稳定性。 在每一轮 FL 中,更新都会由少数节点(即委员会)进行验证和打包。 该机制允许最诚实的节点相互增强,不断改进全局模型。 少量不正确或恶意的更新将被忽略,以避免损坏模型。 同时,BFLC训练community具有灵活性,节点可以随时加入或离开,不会破坏训练过程。 结合有效的激励机制,做出贡献的节点可以获得实际奖励,从而促进整个训练community的良性循环发展。

contributions:(1)提出了一个基于区块链的FL框架BFLC,它详细定义了模型存储模式、训练过程和新颖的委员会共识。(2)从技术上讨论了BFLC的可扩展性,包括社区节点管理、恶意节点攻击分析、存储优化等。(3)通过对真实的FL 数据集的实验证明了BFLC 的有效性。 还通过模拟恶意攻击来验证安全性。

三、Blockchain Storage

为了实现权限控制,BFLC的存储是联盟区块链系统,只有授权的设备才能访问FL培训内容。 在区块链上,我们设计了两个不同的块来存储全局模型和局部更新,统称为学习信息。 为了简单起见,我们假设一个块中只放置一个学习信息。

一开始,将初始化的模型放入#0块中,然后开始第0轮训练。 节点访问当前模型并执行本地训练,并将验证后的本地梯度放入新的更新块中。 当持续有足够多的更新区块时,智能合约触发聚合,生成新的模型并上链。 需要注意的是,FL训练仅依赖于最新的模型块,并且存储历史块以用于故障回退和块验证。

将每轮所需的更新次数表示为 k,并将轮数表示为 t = 0, 1, ...。 那么有: # t ×(k + 1) 块包含第 t 轮的模型,称为模型块, # [t×(k + 1) + 1, (t + 1)×( k + 1) – 1] 个区块包含第 t 轮的更新,称为更新区块。 从实现的角度来看,一个模型块应该包括:块头、轮数t和全局模型,而一个更新块包括:块头、轮数t、本地更新梯度、上传者地址和更新分数。

四、Committee Consensus Mechanism

考虑到共识的计算和通信成本,本文提出了一种高效且安全的委员会共识机制(CCM),以在将局部梯度附加到链之前对其进行验证。 在此设置下,少数诚实节点将组成一个委员会,负责验证局部梯度和区块生成。 与此同时,其余节点执行本地训练并将本地更新发送给委员会。 然后委员会验证更新并为其打分。 只有符合条件的更新才会被打包到区块链上。 下一轮开始时,根据上一轮节点的得分选举新的委员会,这意味着该委员会不会重新选举。 值得注意的是,更新验证是 CCM 的关键组成部分,因此,本文描述了一种可行的方法:委员会成员通过将其数据视为验证集来验证本地更新,验证准确性成为分数。 这是最小化的方法,不需要委员会的进一步操作,而只需要运行学习模型的基本能力。 综合各委员会成员的分数后,中位数将成为本次更新的分数。

利用这种机制的好处:(1)高效率:只有少数节点会验证更新,而不是广播到每个节点并达成协议。(2)K折交叉验证:委员会成员不参加本轮本地培训。 因此,将委员会的本地数据作为验证集。 随着每轮委员会成员的交替,验证集也会发生变化。 在此设置中,实现了 FL 上的 k 倍交叉验证。(3)反恶意:根据验证分数,智能合约将选出相应性能较好的节点,并组成新的委员会进行下一轮的训练。 这意味着所选的本地数据分布是群居的并且节点不是恶意的。

五、Model Training

除委员会外的节点每轮进行本地训练。 为了安全和隐私,原始数据将保存在本地节点中,这些节点仅将梯度上传到区块链。主要有两个问题:(1)本地数据分布可能不是独立同分布(non-IID)(2)设备并不总是可用的。

为了解决第一个挑战,委员会共识机制可以通过委员会成员的数据分布验证本地更新来最大化全局模型的泛化能力。 为了解决第二个问题,每轮只需要一定数量的本地更新,本文为节点设计了一个主动的本地学习进程。 节点可以随时主动获取当前的全局模型并进行本地训练。 梯度将发送给委员会并进行验证。 当符合条件的更新被打包到区块链上时,作为奖励,代币可以附加到节点上。

如上所述,每轮都需要一定数量的有效更新。 因此,当委员会验证足够的本地更新时,聚合过程就会被激活。 这些经过验证的更新由委员会汇总成一个新的全局模型。 聚合可以在局部梯度或局部模型上进行,这两种方法的网络传输消耗是相等的。 新的全局模型打包到区块链上后,将再次选举委员会,并开始下一轮培训。

六、Node Management and Incentive

参与节点不仅可以访问全局模型,还可以上传更新以影响模型。 为了控制权限,本文指定了构成训练community的初始节点负责节点管理,即管理者。 每台设备在加入训练community之前都必须经过管理者的验证。 此验证采用黑名单模式:如果设备因不当行为(例如提交误导性更新)而被踢出community,则该设备将被拒绝。

根据所提出的区块链存储结构,新节点加入后可以在链上快速找到最新的全局模型。 节点可以立即使用模型来完成本地任务,也可以使用本地数据训练模型并获得奖励。每轮聚合只需要一定数量的有效更新,并且也只有部分节点在线参与。 因此,只要节点主动提交更新,就有可能参与全局模型训练并获得奖励。

community中的节点始终可以使用模型而无需提交更新,因此需要有效的激励来鼓励节点训练模型。 为了解决这个问题,本文提出了一种称为贡献利润分享的激励机制:(1)权限费用:每台设备都需要支付全局模型的访问权限费用,这些费用由管理者保留。 然后,节点可以无限制地访问community中的最新模型。(2)利润分享:每轮汇总后,管理者根据提交更新的得分向相应节点分配奖励。

  • 30
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值