基于模型准确率的链上去中心化联邦学习模型
宋宇波1,2, 朱靖恺1,2, 赵灵奇1,2, 胡爱群2,3    
1. 东南大学 网络空间安全学院, 江苏省计算机网络技术重点实验室, 南京 211189;
2. 紫金山实验室, 南京 211189;
3. 东南大学 信息科学与工程学院, 移动通信国家重点实验室, 南京 211189
摘要:现有的联邦学习存在恶意中央服务器和恶意参与者发布虚假数据毒害模型等问题。针对此情况, 该文提出了一种去中心化的联邦学习模型, 该模型将聚合工作由中央服务器移至参与者本地, 各个参与者依据聚合算法将训练之后的模型参数写入交易, 生成区块发布到区块链网络中。采用一种基于模型准确率的Byzantine容错共识算法构建共识小组, 通过建立节点信息表实现节点动态加入。对所提的链上去中心化联邦学习模型的吞吐量、时延等性能进行了相关测试, 结果表明:在相同条件下, 基于模型准确率的高性能Byzantine容错共识算法相较于传统的Byzantine容错共识算法, 吞吐量提升60%, 系统平均时延从6 s减少到1 s。
关键词联邦学习    区块链    共识机制    模型准确率    去中心化学习    
Centralized federated learning model based on model accuracy
SONG Yubo1,2, ZHU Jingkai1,2, ZHAO Lingqi1,2, HU Aiqun2,3    
1. Jiangsu Key Laboratory of Computer Networking Technology, School of Cyber Science and Engineering, Southeast University, Nanjing 211189, China;
2. Purple Mountain Laboratories, Nanjing 211189, China;
3. State Key Laboratory of Mobile Communications, School of Information Science and Engineering, Southeast University, Nanjing 211189, China
Abstract: Existing federated learning models have problems due to malicious central servers and malicious participants publishing false data that poisons the model. A decentralized federated learning model was developed to address these problems by moving the aggregation work from the central server to the participants' computers. Each participant uses the aggregation algorithm to write the trained model parameters into the transaction and generates blocks that are then published to the blockchain network. A Byzantine fault-tolerant consensus algorithm based on model accuracy is used to build a consensus group and the nodes are dynamically joined by establishing a node information table. The results show that under the same conditions, compared with the traditional Byzantine fault-tolerant consensus algorithm, the throughput of the high-performance Byzantine fault-tolerant consensus algorithm based on model accuracy is increased by 60%, and the average system delay is reduced from 6 s to 1 s.
Key words: federal learning    blockchain    consensus mechanism    model accuracy    decentralized learning    

随着近年来计算机技术的快速发展,机器学习技术在社交网络、电子商务等领域发挥了重要作用。但机器学习的模型训练依赖于大量数据,大部分领域的绝大多数企业只拥有少量数据,这些数据不足以支撑高效的机器学习模型训练,因此多家企业的数据联合训练成为一种解决方式。然而社交网络等领域用于训练的数据往往包含大量的用户隐私,比如用户姓名、银行卡账户等,因此如何在保护用户数据隐私且不违反相关法规的前提下,进行多方联合模型训练成为分布式机器学习的一项难题。

由McMahan等[1]提出的联邦学习技术为解决上述问题提供了一种思路。但是现有的联邦学习可能存在安全漏洞[2-3],中心化的结构完全依赖于中央服务器的可靠性,一旦中央服务器被恶意侵占,整个训练过程都将完全被攻击者控制。此外, 如何处理恶意参与者发布虚假、恶意数据毒害模型的情况仍是一个值得思考的问题。

区块链作为一项去中心化的技术,具有可溯源、不可篡改的特性,可以将每次模型更新与各个参与者相关联,利用区块链中交易的可追踪性来检测尝试篡改数据的欺诈性交易行为[4]。同时利用区块链实现系统的去中心化,加强了系统的容错性和抗攻击性。

针对现有的联邦学习存在恶意中央服务器和恶意参与者的问题,本文提出一种基于区块链的去中心化联邦学习模型。该模型将聚合工作由中央服务器移至参与者本地,各个参与者依据联邦学习聚合算法生成本地模型,训练之后的模型参数写入交易生成区块发布到区块链网络中,保证参与者之间模型参数的安全可信共享,实现联邦学习的去中心化。针对去中心化的联邦学习模型,设计并实现了一种区块链架构,包括区块链底层网络实现、区块设计、交易设计以及交易验证等。利用区块链存储参与者每一轮训练的模型参数信息。针对现有共识算法的不足,结合本文研究的去中心化联邦学习检测模型,提出了一共识算法——基于模型准确率的高性能Byzantine容错共识算法,简称为AHBFT。该共识算法依据模型准确率建立共识小组、执行共识流。在上述区块链架构基础之上,对其吞吐量、时延、容错性、带宽等性能进行了相关测试,并与传统PBFT共识算法进行比较,结果表明:提出的基于AHBFT的区块链在各方面的性能均优于传统PBFT算法。

1 相关工作

联邦学习作为一项新兴的技术,在多方参与者本地进行模型训练[5],并上传模型参数,最大程度上保护用户的数据隐私。在联邦学习场景下,不同参与者使用的数据集的分布差异往往很大,即数据非独立同分布(Non-IID),针对Non-IID,Hubert等[6]提出每个参与者都有一个个性化模型的解决方式。

如何聚合多方训练模型参数也是联邦学习的一个研究重点。McMahan等[1]提出了联邦平均(FedAvg)算法,该算法通过加权平均的方式聚合得到全局模型。Wang等[7]提出的联邦匹配平均(FedMA)算法,通过匹配具有相似特征的隐藏元素,以分层的方式构建全局模型。

针对联邦学习的隐私保护问题,区块链技术由于其分布式、不可篡改等特性,研究人员开始探索将区块链和联邦学习结合。Meng等[8]提出了利用区块链可以保护数据存储的安全性来解决入侵检测中的多方协作问题。Lu等[9]针对工业物联网场景下,多方协作数据共享面临的问题,提出了一种基于区块链的安全数据共享框架,利用区块链技术可以实现系统去中心化,避免因中央服务器的恶意行为而导致训练受阻。

恶意参与者可以上传错误模型参数来控制训练过程。如Nasr等[10]已证实可以通过在联邦学习中注入后门代码来恶意攻击其他参与者,并获取来自他人的数据。因此,保证参与者间模型参数信息安全可信共享也至关重要。

2 核心原理 2.1 联邦学习

联邦学习是Google提出的一种概念[1],核心思想是通过分布在多个设备上的数据集联合构建机器学习模型,并保证数据隐私安全、防止数据泄露。联邦学习客户端利用本地数据集训练模型,并将本地训练模型参数传输给中央服务器,中央服务器将客户端模型参数聚合后再发回客户端继续下一轮训练。

假设现在有N个数据拥有者利用自己的数据集D1, D2, …, DN进行机器学习。一种传统的方式是将N个数据拥有者的数据集合并,即令D=Ui=1NDi,再对其进行训练,得到一个训练模型Modelsum。而联邦学习则是N个数据拥有者共同训练一个模型Modelfl,在这个过程中,自身数据并不会暴露给其他参与者。

根据数据的分布特征,联邦学习可分为横向联邦学习、纵向联邦学习以及联邦迁移学习。

2.2 区块链技术

区块链最早于2008年提出[11],它解决了没有信任中心情况下的去中心化的问题。区块链主要利用Hash函数将每个区块的内容输出为一个固定长度的值作为区块的Hash值,区块与区块之间通过Hash值相连组成链状结构。

区块链没有中心化服务器,需要专门的共识算法解决多方共识问题。常见的用于区块链的共识算法有工作量证明(proof of work, POW)、股权证明(proof of stake, POS)和委托权益证明(delegated proof of stake, DPOS),以上几种共识机制主要用于加密货币系统。区块链本质上属于分布式系统,用于解决分布式系统一致性问题的算法也可用于解决区块链的共识问题[12],比如实用Byzantine容错(practical Byzantine fault tolerance, PBFT)共识算法、Tendermint共识算法[13]、Raft共识算法等。

3 基于区块链的去中心化联邦学习模型 3.1 模型整体架构

本文提出的基于区块链的去中心化联邦学习模型整体架构如图 1所示。该模型利用区块链技术实现系统的去中心化,利用基于模型相关度的聚合算法实现模型个性化。整个模型架构可分为2部分:区块链网络和本地服务器。其中区块链网络则包含区块链底层技术和区块链网络的实现。区块链网络的实现包括交易的广播、共识的达成、区块的生成、区块的广播等。

图 1 模型整体架构

本地服务器又分为2部分:区块链节点服务器节点和模型计算服务器节点。其中前者主要负责与区块链网络中的其余节点通信,生成或检查交易,执行共识机制以及本地保存区块链副本;后者主要负责利用本地数据对模型进行训练,并将生成的本地模型参数上传至区块链服务器。模型计算主要利用深度学习网络对数据进行学习。

3.2 区块链整体架构

本文设计的区块链整体架构如图 2所示。整个模型架构主要可分为3部分:应用层、区块链网络层和数据存储层。

图 2 区块链整体架构

各层具体作用如下:1) 应用层的主要功能是将模型参数按预设格式生成相应的交易,并广播给其余节点;2) 区块链网络层是整个区块链架构的核心部分,包括共识的达成以及区块的生成;3) 数据存储层主要包括区块链存储结构,比如Merkle树、非对称加密等。

3.3 交易设计

区块链交易中存储的是上一轮本地模型参数、模型准确率、训练集数目以及训练轮次。这些参数都将用于后续联邦学习的计算过程。该部分也采用了数据签名确认交易生成者的身份以及验证交易内容未被篡改。

此外,各个节点会在本地维护一个交易池,用于缓存尚未入链的交易。节点在接收到一个新的交易时,首先会对交易进行检查,具体流程如下:

1) 源地址检查。节点将交易中的源地址与节点保存的节点信息表比对,判断源地址是否存在以及是否合法。

2) 签名检查。节点可以根据源地址得到交易生成的公钥,利用公钥对签名解密得到一份Hash值,利用SHA256算法得到交易中数据的Hash值,将2个Hash值比对得到最后结果。

3) 交易正确性检查。节点在本地利用测试集对交易中的模型参数进行测试,并与交易中的模型正确率比对,若比对失败,会将发起交易的节点标记为恶意节点,并向全网广播。同时,检查交易中上一轮本地个性化模型参数与本地计算的模型参数是否相同,防止恶意节点篡改模型参数。

4) 交易重复性检查。节点依据数据和时间戳的Hash值,查询该交易是否已存在。

通过上述检查之后的交易会被存入节点的交易池中,等待后续入链。

3.4 基于模型准确率的共识机制

本文针对联邦学习的应用场景,提出AHBFT共识机制。

AHBFT共识算法的整体架构如图 3所示,主要包括3部分:计算本地模型准确率、建立共识小组以及进行共识。

图 3 AHBFT架构

相较于传统的PBFT算法,本文提出的AHPBF共识算法主要有以下优势:

1) 传统的PBFT主要通过随机的方式确立主节点,各节点被选为主节点的概率一致。本算法提出了一种基于模型准确率的方式,计算节点的投票权。共识小组中投票权最高的节点成为主节点,获得记账权。

2) 传统的PBFT共识算法需要经历预准备、准备、提交3个阶段,并在每个阶段所有节点都需要两两通信,大大增加了带宽和时间消耗。本文提出了一种性能更加优异的共识方式。在正常情况下将共识达成的时间复杂度由O(n2) 降低到了O(n)。

本文提出的AHPBF共识算法系统模型建立在以下假设前提下:

1) 假设存在f个恶意节点,且网络中参与共识的节点数N≥3f+1。

2) 假设恶意节点可以在共识期间进行任意行为,包括但不限于发送错误消息、恶意请求,延迟网络通信,与其余恶意节点联合破坏网络共识流程等。

3) 恶意节点无法解决Hash冲突,无法破坏公私钥加密技术体系等密码学技术。

构建共识小组,在联邦学习的每一轮计算过程中,本地服务器i使用本地数据训练得到本地模型Mi,并利用该模型和相关测试数据进行测试,得到识别准确率Acci。通过构建共识小组的方式,既能排除低准确率的节点,提高Byzantine容错率,又能减少参与共识的节点数目以及在共识过程中要传递的消息数量,加速区块链共识进程。

共识小组构建算法如图 4所示。

图 4 共识小组构建算法伪码

PBFT共识算法需要一个主节点领导,本文提出的AHPBF是专门适用于区块链与联邦学习结合的场景,因此提出了一种基于模型准确率的选取主节点方式。基于模型准确率,计算节点的得分。共识小组中得分最高的节点成为主节点,获得记账权。

假设共识小组节点上一轮的模型准确率为Acc,则其初始得分P为10Acc×random。random为一个在[1, 2]之间的随机数。图 5为不同模型准备率的模拟得分情况。

图 5 不同准确率节点得分分布

图 5可以看出,模型准确率越高,其得分会越高。同时当模型准确率相近时,得分的高低会有一定的随机性。这符合本文一开始提出的假设:模型准确率更高的节点往往具有更高的信任度。同时又加入了一定的随机性,保证主节点不会永远是模型准确率最高的节点。

具体的主节点确认算法如图 6所示。假设当前训练过程轮次为j,对于节点i,本轮的节点得分会加上之前累计的得分,即$P_{i}^{j}=10^{\mathrm{Acc}_{i}^{j-1}}$×random+Pij-1。其中Accij-1为节点ij-1轮的模型准确率。

图 6 主节点确认算法伪码

在选取主节点的算法中不直接选择模型准确度最高的节点而是通过计算得分并累计的方式选择得分最高的节点,有一定的随机性,是为了防止恶意节点直接利用测试集进行训练,从而得到较高的模型准确率成为主节点,影响整个共识过程。

3.5 基于Euclid距离的联邦学习聚合方法

各个参与者获得了最新区块中的模型参数之后,需要聚合得到全局模型参数,本文充分考虑不同应用场景流量特征对模型的影响,提出了一种改进的基于Euclid距离的聚合算法。符号含义说明见表 1

表 1 符号含义说明表
符号 含义
N 整个网络中参与者数目
addri 参与者i的地址
wglobalt t轮时的全局模型参数
wit t轮时的参与者i的模型参数
$\widetilde{w}_{i}^{t}$ t轮时参与者i的本地化模型参数
mi 参与者i的训练集大小
Accit t轮时参与者i的模型准确率

针对现有联邦学习聚合算法中,模型比重依据样本数量计算,相似场景参与者间不能更好地协作的问题,在本文提出的基于Euclid距离的本地化联邦学习聚合算法中,依据参与者模型之间的相关度计算模型聚合比重,具体计算如下:

$ k_{i, j}=\frac{\mathrm{e}^{\alpha} \sqrt{\left(w_{j}^{t}-w_{i}^{t}\right)^{2}}}{\sum\limits_{l=1}^{N} \mathrm{e}^{\alpha} \sqrt{\left(w_{j}^{t}-w_{i}^{t}\right)^{2}}}. $ (1)

其中:ki, j表示参与者i聚合生成模型时,参与者j的模型在聚合过程中所占比重;α为一个超参数,$\sqrt{\left(w_{j}^{t}-w_{i}^{t}\right)^{2}}$表示witwjt之间的Euclid距离。

利用式(1)计算参与者i与参与者j之间模型相关度,witwjt间差异越小,ki, j的值越小,针对参与者i计算聚合参数时,参与者j所占比重越大,对生成的模型影响越大。

由上文内容可知,本文提出了去中心化联邦学习模型,全局模型的生成不再由中央服务器处理,而是在参与者本地进行处理,通过这种操作,实现联邦学习的去中心化。此外,针对传统联邦学习聚合算法中各个参与者缺乏模型场景化的问题,本文提出的基于Euclid距离的联邦学习聚合算法也对其进行了改进。参与者通过式(2)在本地聚合生成一个新的模型并继续下一步的训练,实现模型的本地化。

$ \widetilde{w}_{i}^{t+1}=\sum\limits_{i=1}^{N} k_{i, j} w_{j}^{t+1}, \quad k_{i, j}=\frac{\mathrm{e}^{\alpha \sqrt{\left(w_{j}^{t}-w_{i}^{t}\right)^{2}}}}{\sum\limits_{l=1}^{N} \mathrm{e}^{\alpha} \sqrt{\left(w_{j}^{t}-w_{i}^{t}\right)^{2}}}. $ (2)
4 测试与评估

本文将上述基于区块链的去中心化联邦学习模型应用于网络流量异常检测领域,并对该模型异常识别性能进行了测试。整个系统可分为2部分:联邦学习部分以及区块链部分。联邦学习部分代码主要用Python编写,区块链部分主要用JavaScript编写。

本文采用NSL-KDD作为网络流量异常识别检测的数据集。NSL-KDD数据集广泛地用于入侵检测领域,帮助研究入侵检测方法的准确性。

由于实验条件的限制,本文的实验将在本地模拟上述条件。本文将NSL-KDD数据集分为60部分,模拟60个服务器的本地数据集。

4.1 数据集

NSL-KDD数据集并不能直接用于本文提出的检测模型,首先需要对其进行分类,本文将按照正常(normal)流量、拒绝服务攻击(DoS)流量、R2L(root to local attack)流量、U2R(user to root attacks)流量和探测攻击(probing attacks)流量这5种分类方式将数据集中的数据进行重新划分,划分后的数据类型分布情况如图 7所示。

图 7 NSL-KDD中不同类型流量分布

4.2 性能评估指标

本文采用的评价指标可以通过混淆矩阵计算得到,混淆矩阵的结构如表 2所示,其中:真阳(true positive, TP)表示实际为异常数据且被检测为异常数据的样本数量;假阴(false negative, FN)表示实际为异常数据但被认检测为正常数据的样本数量(漏报);假阳(false positive, FP)表示实际为正常数据但被检测为异常数据的样本数量(误报); 真阴(true negative, TN)表示实际为正常数据且被检测为正常数据的样本数量。

表 2 异常检测混淆矩阵
预测=异常数据 预测=正常数据
真实=异常数据 TP FN
真实=正常数据 FP TN

准确率是分类问题中最为常用的指标,由正确分类的样本数与测试样本总数的比值得到,本文用Acc表示,计算如下:

$ \mathrm{Acc}=\frac{\mathrm{TP}+\mathrm{TN}}{\mathrm{TP}+\mathrm{FN}+\mathrm{FP}+\mathrm{TN}}. $ (3)

对于本文多分类异常检测场景,实际上是多个二分类的组合,为评估多分类模型的性能,引入宏平均的概念。宏平均指分别计算每个类别的精准率、召回率、F1-score后,对所有类别的指标做算术平均。

具体来说,当计算某一类别指标时,将该类别设置为True,其余类别均设置为False,得到如表 2所示的二分类混淆矩阵,设置完毕后,得到宏精准率(marco-P)、宏召回率(marco-R)和宏F1值(marco-F1)表示如下:

$ \operatorname{marco}-P=\frac{1}{n} \sum\limits_{i=1}^{n}\left(\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FP}}\right)_{i}, $ (4)
$ \operatorname{marco}-R=\frac{1}{n} \sum\limits_{i=1}^{n}\left(\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FN}}\right)_{i}, $ (5)
$ \operatorname{marco}-F_{1}=\frac{2 \times \operatorname{marco}-P \times \operatorname{marco}-R}{\operatorname{marco}-P+\operatorname{marco}-R}. $ (6)
4.3 参与者数量的增加对模型性能的影响

在实验中,将每次分别挑选1、5、10、15、25、35、45、50、60个服务器上传本地的训练模型参数,其中本地模型训练轮次local_epoch为5次,本地模型训练一次选取样本数量batch_size为10。总体训练轮次epoch为50次,并分别计算了每次训练的Acc、marco-F1和loss值,训练结果如图 8所示。

图 8 不同数量参与者时模型识别性能

图 8可知:最优的训练轮次在30~40次。当参与者数量一定时,随着训练轮次的增加,模型的识别准确率快速上升;不同参与者数量情况下达到收敛的时间不同。从损失函数随训练轮次的变化图中可以看出,当参与者数量只有1个时,达到收敛所需的训练轮次最多,整体的模型识别准备率最终维持在0.92左右;当参与者数量较少时,模型识别性能较差,之后随着参与者数量的增加,整体的模型识别准备率变化不明显,维持在0.92左右。

4.4 区块链系统性能测试

1) 吞吐量分析。

吞吐量往往通过每秒钟交易量(transaction per second,TPS)表示,计算如下:

$ \mathrm{TPS}=\frac{\sum \text { transactions }}{T}. $ (7)

其中:T表示交易发出到区块确认的时间间隔,Σtransactions表示在这个时间间隔内区块链下新增的区块中包含的所有交易数。本文测试均在同一台机器上完成,保证实验环境相同,网络中的节点数为20个,每个区块包含交易为50个的情况下进行。本文分别对传统的PBFT和AHBFT共识算法的吞吐量进行了相关测试,结果如图 9所示。

图 9 吞吐量测试

图 9可以看出,在相同条件下,AHBFT共识算法的TPS约为480个/s,而传统的PBFT共识算法的TPS约为300个/s,AHBFT共识算法比传统的PBFT共识算法具有更高的吞吐量。同时考虑到本文共识机制的应用场景为去中心化联邦学习,在完成一轮模型训练之后,才需要进行共识,因此对系统吞吐量的要求不高,该共识算法的性能可以胜任。

2) 时延分析。

本文定义交易的时延为一个交易从发出到区块共识完成的时间。时延定义如下:

$ \text { Delay }=T_{-} \text {consensus }=T_{\text {trans }}+T_{\text {blockcreated }}. $ (8)

其中:Ttrans表示交易生成的时间,Tblockcreated表示区块入链的生成时间。交易时延的高低决定了整个共识机制的好坏同时为了方便测试,本文规定在测试时延时区块中只包含一个交易,并保证相同的测试网络环境,同时为了保证参与共识的节点数量相同,在测试时,AHBFT共识小组中的节点数量就是网络中所有节点数量。具体的测试结果如图 10所示。

图 10 系统时延测试

本文分别在5、10、20、30、40、50个节点的情况下,测试了整个网络的交易时延,每种情况均测试20次。具体测试情况如图 10所示,在结果中,可以由于测试过程中存在网络波动,每次测试的时延会有一定差距。因此在这20次测试结果中,取其余数据的平均值,画出不同节点数量下交易时延的关系图,如图 11所示。

图 11 不同数量节点下系统时延

从结果中可以看到,传统的PBFT共识协议和本文提出的AHBFT共识算法随着节点数量的增加,共识达成时间均会增长。但是传统的PBFT协议随着节点数量增加,时延几乎成倍数增长,尤其在节点数量达到50时,平均时延达6 s。而本文提出的AHBFT共识算法随着节点数量的增加,延时基本呈线性增长,在相同节点数的情况下,共识时间小于传统的PBFT算法,且在节点数量较大的情况下,这种差距更为明显。且在节点数量达到50时,整个网络交易时延基本维持在1 s左右,考虑到联邦学习场景中本地模型训练也需要花费时间,这个延时是完全可以接受。同时由于AHBFT共识算法将选取准确率较高的节点组成共识小组参与共识,在实际情况中,当参与共识的节点数在50时,可以有500甚至更多的节点参与整个模型的计算,因此该共识算法可以被应用于大规模的节点共识中。

3) 带宽分析。

假设区块链网络中的节点数量为N,区块大小为BlockSize,那么对于采用全网广播方式进行传播的系统如PBFT,其所有节点完成一次区块传播需要的网络带宽BandWidth表示如下:

$ \text { BandWidth }=N \times(N-1) \times \text { BlockSize }. $ (9)

当BlockSize固定不变时,BandWidth将随着节点数量增加而增加。以传统的PBFT共识机制为例,共识过程可分为预准备、准备和提交3个阶段。在每一个阶段中,各个节点都需要相互广播区块信息,因此达成一次共识所消耗的网络带宽为3倍的BandWidth。

而对于本文提出的共识算法,在共识过程中,区块并不需要相互广播,而是由主节点传播给其余节点,或者由其余节点传回给主节点,总计需要进行5步。因此带宽消耗为5倍的(N-1)×BlockSize。假设区块大小BlockSize为4 kB,则两者随着节点数量的带宽消耗比较如图 12所示。

图 12 系统带宽测试

图 12可以看出,与传统的PBFT相比,本文提出的AHBFT在带宽消耗上随节点数量的增长呈线性增长,且远远小于PBFT共识算法。该实验结果可以表明,在相同条件下,采用AHBFT共识算法的系统比采用PBFT的系统在通信时带宽消耗要更少。

5 结论

针对现有的联邦学习存在恶意中央服务器和恶意参与者发布虚假数据毒害模型的问题,本文提出了一种基于区块链的去中心化联邦学习模型,实现参与者之间模型参数的安全可信共享。针对去中心化联邦学习设计并实现了一种区块链架构。此外,针对现有共识算法的不足,提出了一种共识算法——基于模型准确率的高性能Byzantine容错共识算法,该共识算法通过依据模型准确率实现节点动态加入。在上述区块链架构基础上,对其吞吐量、时延等性能进行相关测试,本文提出AHBFT算法在各方面的性能均优于传统PBFT算法。

参考文献
[1]
MCMAHAN H B, MOORE E, RAMAGE D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Proceedings of the 20th International Conference on Artificial Intelligence and Statistics (AISTATS). Fort Lauderdale, USA: JMLR, 2017: 1273-1282.
[2]
ZHANG J L, CHEN J J, WU D, et al. Poisoning attack in federated learning using generative adversarial nets[C]//Proceedings of the 18th IEEE International Conference on Trust, Security and Privacy in Computing and Communications/13th IEEE International Conference on Big Data Science and Engineering (TrustCom/BigDataSE). Rotorua, New Zealand: IEEE, 2019: 374-380.
[3]
LIU Y, YU J J Q, KANG J W, et al. Privacy-preserving traffic flow prediction: A federated learning approach[J]. IEEE Internet of Things Journal, 2020, 7(8): 7751-7763. DOI:10.1109/JIOT.2020.2991401
[4]
赵灵奇, 宋宇波, 张克落, 等. 基于区块链和分层加密的物流隐私保护机制[J]. 应用科学学报, 2019, 37(2): 224-234.
ZHAO L Q, SONG Y B, ZHANG K L, et al. Logistics information privacy protection based on blockchain and hierarchical encryption[J]. Journal of Applied Sciences, 2019, 37(2): 224-234. (in Chinese)
[5]
FINN C, ABBEEL P, LEVINE S. Model-agnostic meta-learning for fast adaptation of deep networks[C]//Proceedings of the 34th International Conference on Machine Learning. Sydney, Australia: JMLR, 2017: 1126-1135.
[6]
HUBERT E, TOMER K, BRENDAN M, et al. Semi-cyclic stochastic gradient descent[C]//Proceedings of the 36th International Conference on Machine Learning. Long Beach, USA: PMLR 97, 2019: 1764-1773.
[7]
WANG H Y, YUROCHKIN M, SUN Y K, et al. Federated learning with matched averaging[C]//Proceedings of the 8th International Conference on Learning Representations (ICLR). Addis Ababa, Ethiopia: ICLR, 2020: 1-16.
[8]
MENG W Z, TISCHHAUSER E W, WANG Q J, et al. When intrusion detection meets blockchain technology: A review[J]. IEEE Access, 2018(6): 10179-10188.
[9]
LU Y L, HUANG X H, DAI Y Y, et al. Blockchain and federated learning for privacy-preserved data sharing in industrial IoT[J]. IEEE Transactions on Industrial Informatics, 2020, 16(6): 4177-4186. DOI:10.1109/TII.2019.2942190
[10]
NASR M, SHOKRI R, HOUMANSADR A. Comprehensive privacy analysis of deep learning: Passive and active white-box inference attacks against centralized and federated learning[C]//Proceedings of the 2019 IEEE Symposium on Security and Privacy (SP). San Francisco, USA: IEEE, 2019: 739-753.
[11]
NAKAMOTO S. Bitcoin: A peer-to-peer electronic cash system[Z/OL]. [2021-07-10]. https://bitcoin.org/en/.
[12]
宋宇波, 张仕奇, 宋睿. 一种基于投票权竞争的区块链共识机制[J]. 山东大学学报(理学版), 2020, 55(3): 43-50.
SONG Y B, ZHANG S Q, SONG R. A blockchain consensus mechanism based on voting rights competition[J]. Journal of Shandong University (Natural Science), 2020, 55(3): 43-50. (in Chinese)
[13]
AMOUSSOU-GUENOU Y, DEL POZZO A, POTOP- BUTUCARU M, et al. Dissecting tendermint[C]// Proceedings of the 7th International Conference on Networked Systems. Marrakech, Morocco: Springer, 2019: 166-182.