CN114826699B - 基于区块链的去中心化联邦学习中拜占庭攻击抵御方法 - Google Patents

基于区块链的去中心化联邦学习中拜占庭攻击抵御方法 Download PDF

Info

Publication number
CN114826699B
CN114826699B CN202210369653.1A CN202210369653A CN114826699B CN 114826699 B CN114826699 B CN 114826699B CN 202210369653 A CN202210369653 A CN 202210369653A CN 114826699 B CN114826699 B CN 114826699B
Authority
CN
China
Prior art keywords
local
message
local user
users
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210369653.1A
Other languages
English (en)
Other versions
CN114826699A (zh
Inventor
王子龙
肖丹
陈谦
周伊琳
陈嘉伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202210369653.1A priority Critical patent/CN114826699B/zh
Publication of CN114826699A publication Critical patent/CN114826699A/zh
Application granted granted Critical
Publication of CN114826699B publication Critical patent/CN114826699B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于区块链的去中心化联邦学习中拜占庭攻击抵御方法,主要解决去中心化联邦学习出现拜占庭攻击时现有技术的计算开销和通信开销过高问题。其实现步骤为:1)本地用户获取预训练的模型,并建立信誉对照关系;2)本地用户对模型训练后传输,然后生成签名消息并广播;3)本地用户对签名消息验证后存储,当签名消息存储了一定数量时,生成区块并利用改进的PBFT共识算法对区块共识后上链;4)本地用户对其他本地用户的传输和广播行为进行信誉对照关系的更新,然后调整签名消息的生成难度,重复执行流程直到模型收敛时结束。本发明能够有效降低现有技术的计算开销和通信开销,可用于提升去中心化联邦学习的拜占庭鲁棒性。

Description

基于区块链的去中心化联邦学习中拜占庭攻击抵御方法
技术领域
本发明属于信息安全技术领域,进一步涉及攻击抵御,具体为一种基于区块 链的去中心化联邦学习中拜占庭攻击抵御方法。用于抵御去中心化联邦学习出现 的拜占庭攻击,并减小消息数据的计算量和传输规模,提高去中心化联邦学习的 安全性。
背景技术
去中心化联邦学习不需要中央服务器,相邻的用户通过多次不断交换和更新 模型来保障训练的模型具有良好的泛化能力。具体地,参与去中心化联邦学习的 用户持有各自的隐私数据并获取预训练的全局模型作为本地模型,利用隐私数据 对本地模型进行训练得到本地更新模型,将本地更新模型发送给相邻用户,并接 收相邻用户发送的本地更新模型作为本地模型进行再次训练。该过程一直持续, 直到用户的本地模型收敛。去中心化联邦学习中的用户依据伪随机算法选择相邻 用户发送模型,这使得模型训练路线是既定的。然而,由于中央服务器的缺失, 未经身份认证的恶意用户可能发起拜占庭攻击,它试图在未训练模型的情况下发 送本地模型,从而改变模型训练路线,影响用户对模型训练路线的共识。最终, 模型的实际训练过程偏离正确方向,进而影响模型的泛化能力。因此,如何在保 障模型泛化能力的前提下,提升去中心化联邦学习抵御拜占庭攻击的能力,并降 低消息数据的计算开销和共识过程的通信开销成为了发展去中心化联邦学习的 关键问题。
杭州趣链科技有限公司在其申请的专利文献“基于区块链去中心化的联邦学 习成员推理攻击防御方法和装置”(申请号CN202110553163.2,申请公布号 CN113467928A,公布日期2021.10.01)中提出了一种基于区块链去中心化的联 邦学习成员推理攻击防御方法和装置。该方法虽然在一定程度上增强了去中心化 联邦学习***抗推理攻击的能力,然而其要在每轮聚合模型过程中随机选择用户 作为临时中央服务器,去中心化不强,且由于用户需要通过工作量证明的方式获 取区块的记账权,从而浪费了大量的计算资源,导致用户在争夺记账权过程中的 计算开销过大。因此,存在浪费用户算力、增加计算成本的问题。
Li等人在其发表的论文“Byzantine Resistant Secure BlockchainedFederated Learning at the Edge”(IEEE Network,2021,PP(99):1-7.)中 提出了一个名为BytoChain的抗拜占庭的安全区块链联邦学习框架。在该论文提 出的BytoChain框架中,通过区块链打包节点、数据持有者、验证者三方协作训 练模型,并使用抗拜占庭共识算法PoA来检测异常模型,增强了联邦学习抗拜 占庭攻击的能力,但其不足之处在于:每轮训练时,数据持有者都需要从区块链 打包节点处获取最新全局模型以及发送局部模型给验证者检查,从而在模型传输 过程中产生大量通信,增加了通信开销。
发明内容
本发明的目的在于针对上述已有技术的不足,提出一种基于区块链的去中心 化联邦学习中拜占庭攻击抵御方法,用于抵御去中心化联邦学习模型训练过程中 恶意用户实施的拜占庭攻击,以及优化已有技术存在的计算开销大、通信开销大 的问题。
实现本发明目的的技术思路是:首先,针对去中心化联邦学习模型训练和传 输过程中出现的拜占庭攻击问题,本发明设计并搭建了一条区块链,着重设计用 于广播模型传输行为的消息的内容,以前驱指针和后继公钥的方式,防止恶意节 点篡改模型训练路线;其次,针对消息生成过程中的计算成本过大问题,本发明 利用信誉值动态调整消息的生成难度,从而降低了计算开销;最后,针对用于区 块上链的PBFT共识算法出现的消息通信数量过多的问题,本发明对PBFT算法 的提交阶段进行改进,从而降低消息共识过程中的通信开销。本发明在抵御拜占 庭攻击并保证模型泛化能力的前提下,有效提高了计算效率和通信效率。
为实现上述目的,发明采用的技术方案包括如下步骤:
1)设本地用户的总数为n,将第i个本地用户表示为ui,i=1,2,...,n;每 个本地用户持有各自的垃圾邮件数据,并将获取的***预训练的全局模型作为 本地模型;
2)本地用户分别建立各自的本地公私钥对,并广播公钥:
(2a)本地用户ui利用ECC签名算法计算符合PKCS#8标准的私钥ski
(2b)本地用户ui利用DSS加密算法和私钥ski计算公钥pki,得到其本地公 私钥对<ski,pki>;
(2c)本地用户ui向其他本地用户uj∈Ui广播公钥pki,其中Ui={uj|j≠i} 表示本地用户集合,j=1,2,...,n;
3)本地用户ui为其他本地用户uj的信誉值Rij建立信誉对照关系 <<uj,Rij>>,设定Rij初始值为0.5;
4)本地用户ui利用本地模型和其垃圾邮件数据生成本地更新模型
Figure BDA0003587630320000031
5)本地用户ui随机选择某个相邻本地用户uA,且uA∈Ui,向其发送本地更 新模型
Figure BDA0003587630320000032
6)本地用户ui生成签名消息Mi,并将该消息广播给其他本地用户uj
(6a)本地用户ui构建由消息编号id、消息内容mess、相邻本地用户uA公 钥、ui消息集合
Figure BDA0003587630320000033
中尾端消息编号prevId以及随机值nonce组成的消息Mi':
<id,mess,nextPubKey,prevId,nonce>,
其中,消息集合
Figure BDA0003587630320000034
初始状态为空,用于存储本地用户ui自身生成的消息以 及该用户接收到的其他合法消息,消息编号id是本地用户ui对消息集合
Figure BDA0003587630320000035
中尾 端消息的消息编号加1所得,消息编号id的初始编号为1;消息内容mess为“本 地用户ui向相邻本地用户uA发送了一个模型”;随机值nonce的初始值为1;
(6b)本地用户ui根据信誉值Rij,利用信誉对照公式计算难度值
Figure BDA0003587630320000036
Figure BDA0003587630320000037
(6c)本地用户ui判断消息Mi'的消息序列化哈希值
Figure BDA0003587630320000038
十六进制字符串中 从左开始字符连续为0的数量是否等于难度值
Figure BDA0003587630320000039
若等于,则直接执行步骤(6d), 反之,对随机值nonce加1后再次判断,直到等于难度值
Figure BDA00035876303200000310
时再进入步骤(6d);
(6d)本地用户ui用私钥ski对消息Mi'进行签名,得到签名消息Mi
<id,mess,nextPubKey,prevId,nonce>σi
其中,σi为本地用户ui的签名;
(6e)本地用户ui将签名消息Mi存储到消息集合
Figure BDA00035876303200000311
中,然后向其他本地用 户uj广播该签名消息Mi
7)其他本地用户uj将签名消息Mi转移到区块链上:
(7a)其他本地用户uj对签名消息Mi进行合法性校验,并更新信誉对照关 系;
(7b)其他本地用户uj对存储了固定数量的uj消息集合
Figure BDA0003587630320000041
生成区块Bj,然 后利用改进PBFT共识算法对区块Bj的区块序列化哈希值
Figure BDA0003587630320000042
进行共识,得到共 识结果;
所述的改进PBFT共识算法按如下步骤实现:
(7b1)本地用户ui向***中其他本地用户uj广播预准备消息:
Figure BDA0003587630320000043
其中,
Figure BDA0003587630320000044
为预准备消息标志,m为区块Bi的区块序列化哈希值
Figure BDA0003587630320000045
h为 区块链的高度,d为m的摘要;
(7b2)其他本地用户uj检查本地区块链中是否包含区块高度h相同但摘 要d不同的预准备消息,若是,则执行步骤(7b10),否则,执行步骤(7b3);
(7b3)其它本地用户uj向除其之外的别的本地用户uk广播准备消息:
Figure BDA0003587630320000046
其中,k=1,2,...,n且k≠j,
Figure BDA0003587630320000047
为准备消息标志;
(7b4)其他本地用户uj检查是否接收到2f条高度h和摘要d一一对应的 准备消息,若是,则执行步骤(7b5),否则,执行步骤(7b10);
(7b5)其他本地用户uj向本地用户ui发送预提交消息
Figure BDA0003587630320000048
其中
Figure BDA0003587630320000049
为预提交消息标志;
(7b6)本地用户ui检查是否收到2f+1条预提交消息,若是,则执行步 骤(7b7),否则,执行步骤(7b10);
(7b7)本地用户ui向其他本地用户uj广播提交消息
Figure BDA00035876303200000410
其中
Figure BDA00035876303200000411
为提交消息标志;
(7b8)其他本地用户uj检查是否收到提交消息,若是,判定本地用户ui和其他本地用户uj共识成功;反之,判定为本地用户ui和其他本地用户uj共识 失败;
(7c)其他本地用户uj根据共识结果判断是否共识成功,若是,则执行步骤 (7d),否则,判定***中恶意的本地用户数量超过拜占庭容错算法的范围,无 法达成***一致性共识,结束流程并退出***;
(7d)其他本地用户uj将区块Bj放到区块链上;
8)相邻本地用户uA将本地用户ui发送的本地更新模型
Figure BDA0003587630320000051
作为更新后本地 模型;
9)本地用户ui判断更新后本地模型是否收敛,若是,则直接执行步骤10), 否则,用更新后本地模型作为本地模型,返回执行步骤4);
10)结束训练。
本发明与现有技术相比具有如下优点:
第一,本发明通过信誉值动态调整每个用户生成消息的难度,降低了合法消 息生成时的计算成本,克服了现有技术存在的计算成本大的问题,使得本发明在 抵御拜占庭攻击并保证模型泛化能力的前提下,降低消息生成过程中的计算开 销,提高了去中心化联邦学习模型训练过程的效率。
第二,本发明改进了PBFT共识算法的提交阶段,降低了区块共识过程中的 消息通信的数量,克服了现有PBFT共识算法存在的通信数量大的问题,使得本 发明在抵御拜占庭攻击并保证模型泛化能力的前提下,降低共识过程中的通信数 量,提高了通信效率。
附图说明
图1为本发明的实现流程图;
图2为本发明方法的应用场景示意图;
图3为本发明中信誉值更新的流程图;
图4为本发明中改进PBFT共识算法的流程图。
具体实施方式
去中心化联邦学习依靠相邻用户间直接交互,将训练模型任务分摊到***中 的其他用户,从而获得一个具有良好泛化能力的模型。具体来说,参与去中心化 联邦学习的用户持有各自的隐私数据并获取预训练的全局模型作为本地模型,利 用隐私数据对本地模型进行训练得到本地更新模型,将本地更新模型发送给相邻 用户,并接收相邻用户发送的本地更新模型作为本地模型进行再次训练。该去中 心化联邦学习模型更新过程迭代进行,直到用户的本地模型收敛。
下面结合附图和实施例对本发明做进一步的详细描述。
参照图1和图2,对本发明提出的基于区块链的去中心化联邦学习中拜占庭 攻击抵御方法做进一步的详细描述,具体实现步骤如下:
步骤1,设本地用户的总数为n,将第i个本地用户表示为ui,i=1,2,...,n; 每个本地用户持有各自的垃圾邮件数据,并将获取的***预训练的全局模型作 为本地模型。本实施例中***预训练的模型数据和每个本地用户持有的垃圾邮 件数据分别来源于国际文本分类会议于2006年提供的Trec06p数据集和2007年提 供的Trec07数据集。本发明所述模型均为卷积神经网络结构CNN,其中包括一层 嵌入层、两层卷积层、两层池化层和三层全连接层。***经过预训练后,会得 到一个全局模型和一个用于将文本数据转化成模型可以接受的向量的字典。
步骤2,本地用户分别建立各自的本地公私钥对,并广播公钥:
本地用户ui建立本地公私钥对<ski,pki>,首先利用PyCryptodome加密库中的ECC签名算法计算符合PKCS#8标准的私钥ski,然后利用加密库中的DSS加密算法 和私钥ski计算符合PKCS#8的公钥pki,最后向其他本地用户uj∈Ui广播公钥pki, 其中,本地用户集合Ui={uj|j≠i},j=1,2,...,n。
步骤3,本地用户ui为其他本地用户uj的信誉值Rij建立信誉对照关系 <<uj,Rij>>,设定Rij初始值为0.5;
步骤4,本地用户ui利用本地模型和其垃圾邮件数据生成本地更新模型Mi
在这一步,本地用户ui利用字典将自身的垃圾邮件数据转化成模型可以接受 的向量,然后利用向量对本地模型进行再次训练后,得到本地更新模型。
步骤5,本地用户ui随机选择某个相邻本地用户uA,且uA∈Ui,向其发送本 地更新模型
Figure BDA0003587630320000061
本实施例中,本地用户ui按照伪随机算法选择某个相邻本地用 户uA,该相邻本地用户uA除了需要验证其他的消息之外,还需要根据消息的合 法性决定接收的模型是否该丢弃。
步骤6,本地用户ui生成签名消息Mi,并将该签名消息广播给其他本地用 户uj
(6a)本地用户ui构建包含模型发送行为的消息Mi',Mi'的结构为:
<id,mess,nextPubKey,prevId,nonce>,
其中,id为消息Mi'的编号,mess为消息Mi的内容,具体内容为“本地用 户ui向相邻本地用户uA发送了一个模型”,nextPubKey为相邻本地用户uA的公钥 pkA,prevId为消息集合
Figure BDA0003587630320000071
中尾端消息的编号,nonce为随机值。消息集合
Figure BDA0003587630320000072
初始状态为空,用于存储本地用户ui自身生成的签名消息以及该本地用户接收到 的其他用户广播的合法签名消息,消息编号id是本地用户ui对消息集合
Figure BDA0003587630320000073
中尾 端消息的消息编号加1所得,消息编号id的初始编号为1;随机值nonce的初始 值为1。
(6b)本地用户ui根据信誉值Rij,利用信誉对照公式计算难度值
Figure BDA0003587630320000074
Figure BDA0003587630320000075
(6c)本地用户ui判断消息Mi'的消息序列化哈希值
Figure BDA0003587630320000076
的十六进制字符串 形式中从左开始字符连续为0的数量是否等于难度值
Figure BDA0003587630320000077
若等于,则直接执行步 骤(6d),反之,对随机值nonce加1后再次判断,直到等于难度值
Figure BDA0003587630320000078
时再进入步 骤(6d);
(6d)本地用户ui用私钥ski对消息Mi'进行签名,得到签名消息Mi
<id,mess,nextPubKey,prevId,nonce>σi
其中,σi为本地用户ui的签名;
(6e)本地用户ui将签名消息Mi存储到消息集合
Figure BDA0003587630320000079
中,然后向其他本地用 户uj广播该签名消息Mi
在所构建的签名消息中,id不仅是签名消息Mi的编号,结合prevId,可以 将签名消息Mi以链的形式按序排放在消息集合
Figure BDA00035876303200000710
中。随机值nonce和哈希函数 的难度值
Figure BDA00035876303200000711
的结合,使得恶意的本地用户篡改链中的任意签名消息时,需要将 后续的签名消息重新生成,这会造成较大的计算开销。为了保障正常的本地用户 在生成签名消息时的计算开销降低,本发明用信誉值Rij动态调整哈希函数的难 度值。nextPubKey是相邻本地用户uA的公钥pkA,用于指定本地更新模型将要 被发送的其他的本地用户。σi保证了签名消息Mi的不可否认性。并且,对于其 他本地用户uj收到的签名消息Mi而言,其签名σi只能被消息集合
Figure BDA0003587630320000081
中尾端签 名消息的nextPubKey成功验证。
通过指定后继本地用户的公钥的形式,该发明保证了去中心化联邦学习的模 型训练路线不被篡改。当恶意本地用户发起拜占庭攻击,通过冒充模型训练路线 即将到达的本地用户的身份,发送模型并广播签名消息时,其他的本地用户的消 息集合中尾端消息存储的nextPubKey并非恶意本地用户的公钥,即可验证该签 名消息的错误性。
步骤7,其他本地用户uj将签名消息Mi转移到区块链上:
(7a)其他本地用户uj对签名消息Mi进行合法性校验,并更新信誉对照关 系;
所述合法性校验,过程如下:
(7a1-1)其他本地用户uj利用信誉对照关系和信誉对照公式,获取本地用 户ui的难度值
Figure BDA0003587630320000082
(7a1-2)其他本地用户uj判断是否同时满足如下情况:
情况1:签名消息Mi不在uj消息集合
Figure BDA0003587630320000083
中,且签名消息Mi的签名σi能被uj消息集合
Figure BDA0003587630320000084
中尾端消息的nextPubKey验证成功;
情况2:签名消息Mi的消息序列化哈希值
Figure BDA0003587630320000085
的十六进制字符串形式中从左 开始字符连续为0的数量等于难度值
Figure BDA0003587630320000086
若是,则执行步骤(7a1-4);反之,则签名消息Mi来源于发起拜占庭攻击的 恶意本地用户,执行步骤(7a1-3);
(7a1-3)其他本地用户uj丢弃签名消息Mi,若其他本地用户uj是相邻本地 用户uA,则还需丢弃本地更新模型
Figure BDA0003587630320000087
该步骤保证了模型训练路线不被恶意本 地用户所篡改;
(7a1-4)其他本地用户uj将签名消息Mi存储到uj消息集合
Figure BDA0003587630320000088
参照图3,对本发明实施例中所述更新用户信誉对照关系的过程做进一步的 详细描述,具体是对信誉值Rij进行如下更新:
(7a2-1)本地用户ui在x倍的训练模型和生成消息总和时间内,统计收到其 他本地用户uj的签名消息Mj的数量Nj,其中,1<x<2;
(7a2-2)本地用户ui对数量Nj进行如下判断:
a)若Nj大于1,则将信誉值Rij更新为0;
b)若Nj等于0,则信誉值Rij更新为y×Rij,0<y<1;
c)若Nj等于1,则本地用户ui将信誉值Rij更新为
Figure BDA0003587630320000091
其中,min为取最小值操作,t为训练轮次。
这里x倍的总和时间保证了正常的本地用户执行一***作所需的时间,而 无法满足恶意本地用户发起攻击所需的时间。在该x倍的总和时间中,本地用户 广播一种签名消息,则本地用户是正常执行流程,其信誉值会增加。随着聚合 轮次的增多,正常的本地用户的信誉值将缓慢增长到不超过1。如果在该时间段 内本地用户没有广播签名消息,意味着可能该本地用户的当前网络状态不太良 好,那么其信誉值就会下降,下降的速度由y的值决定。如果该时间段内本地用 户广播了超过一种签名消息,该本地用户将被认作为发起拜占庭攻击的恶意本 地用户,其信誉值直接降为0,生成签名消息的难度值超过了一台正常设备的算 力要求范围。
本发明根据本地用户发送模型和广播消息的行为对其进行信誉值评分,利 用信誉值对消息生成的难度值进行动态调整,使得正常的本地用户的计算开销 越来越低,有利于***的正向发展;而恶意的本地用户信誉值降低,其计算开 销呈指数级增长。
(7b)其他本地用户uj对存储了固定数量的uj消息集合
Figure BDA0003587630320000092
生成区块Bj,然 后利用改进PBFT共识算法对区块Bj的区块序列化哈希值
Figure BDA0003587630320000093
进行共识,得到共 识结果;这里的固定数量至少为50条,具体根据需要进行设定,本实施例优选 设定固定数量为100条。
参照图4,对本发明实施例中所述的改进PBFT共识算法的过程做进一步的 详细描述。
所述的改进PBFT共识算法,按如下步骤实现:
(7b1)本地用户ui向***中其他本地用户uj广播预准备消息:
Figure BDA0003587630320000094
其中,
Figure BDA0003587630320000101
为预准备消息标志,m为区块Bi的区块序列化哈希值
Figure BDA0003587630320000102
h为 区块链的高度,d为m的摘要;
原有的PBFT共识算法中包含了视图v和消息的序列号n,当发起共识请求 的本地用户因为宕机等故障需要执行视图切换选择下一个本地用户时,保证消 息的请求次序一致。去中心化联邦学习***中每个本地用户都可以发起共识请 求,并不需要经历视图切换的过程。因此,本发明利用区块链高度h保证了m的 次序一致性。m只在该步骤中被广播至其他的本地用户,之后的判断依据依赖 于h和d。
(7b2)其他本地用户uj检查本地区块链中是否包含区块高度h相同但摘 要d不同的预准备消息,若是,则执行步骤(7b10),否则,执行步骤(7b3);
在同一个区块高度h下,只会存在一个共识成功后存储在区块链中的区 块。若接收的预准备消息中区块高度h相同但摘要d不同,意味着发起共识的本 地用户是恶意本地用户,它广播了错误的预准备消息。
(7b3)其它本地用户uj向除其之外的别的本地用户uk广播准备消息:
Figure BDA0003587630320000103
其中,k=1,2,...,n且k≠j,
Figure BDA0003587630320000104
为准备消息标志;
(7b4)其他本地用户uj检查是否接收到2f条高度h和摘要d一一对应的 准备消息,若是,则执行步骤(7b5),否则,执行步骤(7b10);
在准备阶段要求本地用户收到2f个消息是因为若有f个恶意本地用户不 响应时,网络中正常本地用户至少能发送2f条消息,使得***能够运行下去。
该步骤可以保证***中的每个本地用户的m的次序一致性。由于没有视 图切换的过程,PBFT共识算法的提交阶段可以优化成两个部分:预提交阶段和 提交阶段。
(7b5)其他本地用户uj向本地用户ui发送预提交消息
Figure BDA0003587630320000105
其中
Figure BDA0003587630320000106
为预提交消息标志;
(7b6)本地用户ui检查是否收到2f+1条预提交消息,若是,则执行步 骤(7b7),否则,执行步骤(7b10);
该步骤是发起共识的本地用户收集其他本地用户的反馈,获取m在共识 过程中其他本地用户的了解情况。
在预提交阶段要求发起共识的本地用户收到包含自己在内的2f+1条内 容相同的预提交消息是因为,***认为有最多f个恶意本地用户故意掉线,而 事实上这f个恶意本地用户发出恶意的预提交消息,那么只有正确的预提交消 息的条数至少为f+1时,即收到包括自己在内的2f+1条消息时,则有效的正 常本地用户数量比恶意本地用户数量多,算法一定能运行下去。
(7b7)本地用户ui向其他本地用户uj广播提交消息
Figure BDA0003587630320000111
其中
Figure BDA0003587630320000112
为提交消息标志;
(7b8)其他本地用户uj检查是否收到提交消息,若是,判定本地用户ui和其他本地用户uj共识成功;反之,判定为本地用户ui和其他本地用户uj共识 失败;
该步骤是发起共识的本地用户确认其他本地用户的m一致性后,将结果 反馈给其他本地用户。
(7c)其他本地用户uj根据共识结果判断是否共识成功,若是,则执行步骤 (7d),否则,判定***中的恶意用户数量超过拜占庭容错算法的范围,无法达 成***一致性共识,结束本发明方法的执行流程并退出***;
(7d)其他本地用户uj将区块Bj放到区块链上;
步骤8,相邻本地用户uA将本地用户ui发送的本地更新模型Mi作为更新后 本地模型。
步骤9,本地用户ui判断更新后本地模型是否收敛,若是,则直接执行步骤 10,否则,用更新后本地模型作为本地模型,返回执行步骤4;
步骤10,结束训练。
去中心化联邦学习在模型训练过程中会面临拜占庭攻击。拜占庭攻击具体体 现为恶意用户在未对模型训练的情况下随意发送模型,对模型训练路线篡改,以 达到***局部区域模型泛化能力最优,而全局模型泛化能力欠缺。现有方案面临 两个难点:难点一,计算开销过大;现有方案采用工作量证明的方式增加消息生 成的计算成本,在一定程度上加大恶意用户发起拜占庭攻击的难度,然而,对于 ***中的正常用户而言,过高的消息生成难度会引起不必要的计算资源的浪费, 大大增加了计算开销;难点二,通信开销过大;现有方案采用PBFT共识算法对 包含模型发送行为的消息进行共识上链,在***出现一定数量的拜占庭用户时, 仍然保证***的可用性;然而,PBFT共识算法有两个阶段需要传输的网络消息 数为O(n2),造成了很大的通信开销,降低了去中心化联邦学习的通信效率。
针对难点一,本发明利用信誉值对每个用户生成消息的难度进行动态调整, 降低了消息产生过程中的计算成本,克服了现有技术存在的计算开销大的问题。 本发明在抵御拜占庭攻击并保证模型泛化能力的前提下,降低了消息生成过程中 的计算开销。针对难点二,本发明通过对PBFT共识算法的提交阶段的改进,降 低了***传输的网络消息数量,克服了现有PBFT共识算法存在的通信开销大的 问题。本发明在抵御拜占庭攻击并保证模型泛化能力的前提下,降低消息共识过 程的通信开销。
本发明未详细说明部分属于本领域技术人员公知常识。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,显然对于 本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明 原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发 明思想的修正和改变仍在本发明的权利要求保护范围之内。

Claims (5)

1.一种基于区块链的去中心化联邦学习中拜占庭攻击抵御方法,其特征在于,本地用户基于动态信誉值降低***计算开销,利用改进的PBFT共识算法降低***通信开销;实现步骤包括如下:
1)设本地用户的总数为n,将第i个本地用户表示为ui,i=1,2,...,n;每个本地用户持有各自的垃圾邮件数据,并将获取的***预训练的全局模型作为本地模型;
2)本地用户分别建立各自的本地公私钥对,并广播公钥:
(2a)本地用户ui利用ECC签名算法计算符合PKCS#8标准的私钥ski
(2b)本地用户ui利用DSS加密算法和私钥ski计算公钥pki,得到其本地公私钥对<ski,pki>;
(2c)本地用户ui向其他本地用户uj∈Ui广播公钥pki,其中Ui={uj|j≠i}表示本地用户集合,j=1,2,...,n;
3)本地用户ui为其他本地用户uj的信誉值Rij建立信誉对照关系<<uj,Rij>>,设定Rij初始值为0.5;
4)本地用户ui利用本地模型和其垃圾邮件数据生成本地更新模型
Figure FDA0003587630310000011
5)本地用户ui随机选择某个相邻本地用户uA,且uA∈Ui,向其发送本地更新模型
Figure FDA0003587630310000012
6)本地用户ui生成签名消息Mi,并将该消息广播给其他本地用户uj
(6a)本地用户ui构建由消息编号id、消息内容mess、相邻本地用户uA公钥、ui消息集合
Figure FDA0003587630310000013
中尾端消息编号prevId以及随机值nonce组成的消息Mi':
<id,mess,nextPubKey,prevId,nonce>,
其中,消息集合
Figure FDA0003587630310000014
初始状态为空,用于存储本地用户ui自身生成的消息以及该用户接收到的其他合法消息,消息编号id是本地用户ui对消息集合
Figure FDA0003587630310000015
中尾端消息的消息编号加1所得,消息编号id的初始编号为1;消息内容mess为“本地用户ui向相邻本地用户uA发送了一个模型”;随机值nonce的初始值为1;
(6b)本地用户ui根据信誉值Rij,利用信誉对照公式计算难度值
Figure FDA0003587630310000016
Figure FDA0003587630310000021
(6c)本地用户ui判断消息Mi'的消息序列化哈希值
Figure FDA0003587630310000022
十六进制字符串中从左开始字符连续为0的数量是否等于难度值
Figure FDA0003587630310000023
若等于,则直接执行步骤(6d),反之,对随机值nonce加1后再次判断,直到等于难度值
Figure FDA0003587630310000024
时再进入步骤(6d);
(6d)本地用户ui用私钥ski对消息Mi'进行签名,得到签名消息Mi
Figure FDA0003587630310000025
其中,σi为本地用户ui的签名;
(6e)本地用户ui将签名消息Mi存储到消息集合
Figure FDA0003587630310000026
中,然后向其他本地用户uj广播该签名消息Mi
7)其他本地用户uj将签名消息Mi转移到区块链上:
(7a)其他本地用户uj对签名消息Mi进行合法性校验,并更新信誉对照关系;
(7b)其他本地用户uj对存储了固定数量的uj消息集合
Figure FDA0003587630310000027
生成区块Bj,然后利用改进PBFT共识算法对区块Bj的区块序列化哈希值
Figure FDA0003587630310000028
进行共识,得到共识结果;
所述的改进PBFT共识算法按如下步骤实现:
(7b1)本地用户ui向***中其他本地用户uj广播预准备消息:
Figure FDA0003587630310000029
其中,
Figure FDA00035876303100000210
为预准备消息标志,m为区块Bi的区块序列化哈希值
Figure FDA00035876303100000211
h为区块链的高度,d为m的摘要;
(7b2)其他本地用户uj检查本地区块链中是否包含区块高度h相同但摘要d不同的预准备消息,若是,则执行步骤(7b10),否则,执行步骤(7b3);
(7b3)其它本地用户uj向除其之外的别的本地用户uk广播准备消息:
Figure FDA00035876303100000212
其中,k=1,2,...,n且k≠j,
Figure FDA00035876303100000213
为准备消息标志;
(7b4)其他本地用户uj检查是否接收到2f条高度h和摘要d一一对应的准备消息,若是,则执行步骤(7b5),否则,执行步骤(7b10);
(7b5)其他本地用户uj向本地用户ui发送预提交消息
Figure FDA00035876303100000214
其中
Figure FDA0003587630310000031
为预提交消息标志;
(7b6)本地用户ui检查是否收到2f+1条预提交消息,若是,则执行步骤(7b7),否则,执行步骤(7b10);
(7b7)本地用户ui向其他本地用户uj广播提交消息
Figure FDA0003587630310000032
其中
Figure FDA0003587630310000033
为提交消息标志;
(7b8)其他本地用户uj检查是否收到提交消息,若是,判定本地用户ui和其他本地用户uj共识成功;反之,判定为本地用户ui和其他本地用户uj共识失败;
(7c)其他本地用户uj根据共识结果判断是否共识成功,若是,则执行步骤(7d),否则,判定***中恶意本地用户数量超过拜占庭容错算法的范围,无法达成***一致性共识,结束流程并退出***;
(7d)其他本地用户uj将区块Bj放到区块链上;
8)相邻本地用户uA将本地用户ui发送的本地更新模型
Figure FDA0003587630310000034
作为更新后本地模型;
9)本地用户ui判断更新后本地模型是否收敛,若是,则直接执行步骤10),否则,用更新后本地模型作为本地模型,返回执行步骤4);
10)结束训练。
2.根据权利要求1所述的方法,其特征在于:步骤(7a)中所述合法性校验,过程如下:
(7a1-1)其他本地用户uj利用信誉对照关系和信誉对照公式,获取本地用户ui的难度值
Figure FDA0003587630310000035
(7a1-2)其他本地用户uj判断是否同时满足如下情况:
情况1:签名消息Mi不在uj消息集合
Figure FDA0003587630310000036
中,且签名消息Mi的签名σi能被uj消息集合
Figure FDA0003587630310000037
中尾端消息的nextPubKey验证成功;
情况2:签名消息Mi的消息序列化哈希值
Figure FDA0003587630310000038
十六进制字符串从左开始字符连续为0的数量等于难度值
Figure FDA0003587630310000039
若是,则执行步骤(7a1-4),反之执行步骤(7a1-3);
(7a1-3)其他本地用户uj丢弃签名消息Mi,相邻本地用户uA丢弃本地更新模型
Figure FDA00035876303100000310
(7a1-4)其他本地用户uj将签名消息Mi存储到uj消息集合
Figure FDA0003587630310000041
3.根据权利要求1所述的方法,其特征在于:步骤(7a)中所述的更新用户信誉对照关系,具体是对信誉值Rij进行如下更新:
(7a2-1)本地用户ui在x倍的训练模型和生成消息总和时间内,统计收到其他本地用户uj的签名消息Mj的数量Nj,其中,1<x<2;
(7a2-2)本地用户ui对数量Nj进行如下判断:
a)若Nj大于1,则将信誉值Rij更新为0;
b)若Nj等于0,则信誉值Rij更新为y×Rij,0<y<1;
c)若Nj等于1,则本地用户ui将信誉值Rij更新为
Figure FDA0003587630310000042
其中,min为取最小值操作,t为训练轮次。
4.根据权利要求1所述的方法,其特征在于:步骤(7b)中所述的生成区块Bj,过程如下:
(7b1)uj获取区块链的尾端区块,对其编号加1作为区块Bj的编号index,将其区块序列化哈希值作为区块Bj的前驱哈希prevHash;
(7b2)计算编号index、前驱哈希prevHash和uj消息集合
Figure FDA0003587630310000043
的哈希值,将其作为区块Bj的区块序列化哈希值
Figure FDA0003587630310000044
即区块的hash部分;
(7b3)uj生成区块Bj
<index,prevHash,messages,hash>,
其中,messages表示uj的消息集合
Figure FDA0003587630310000045
中存储的所有签名消息;
(7b4)uj清空集合
Figure FDA0003587630310000046
中的签名消息,进入下一个区块的消息存储。
5.根据权利要求1所述的方法,其特征在于:步骤(7b)中所述固定数量至少为50条,具体根据需要进行设定。
CN202210369653.1A 2022-04-08 2022-04-08 基于区块链的去中心化联邦学习中拜占庭攻击抵御方法 Active CN114826699B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210369653.1A CN114826699B (zh) 2022-04-08 2022-04-08 基于区块链的去中心化联邦学习中拜占庭攻击抵御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210369653.1A CN114826699B (zh) 2022-04-08 2022-04-08 基于区块链的去中心化联邦学习中拜占庭攻击抵御方法

Publications (2)

Publication Number Publication Date
CN114826699A CN114826699A (zh) 2022-07-29
CN114826699B true CN114826699B (zh) 2022-12-06

Family

ID=82534736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210369653.1A Active CN114826699B (zh) 2022-04-08 2022-04-08 基于区块链的去中心化联邦学习中拜占庭攻击抵御方法

Country Status (1)

Country Link
CN (1) CN114826699B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117094420B (zh) * 2023-10-20 2024-02-06 浙江大学 一种模型训练方法、装置和功率预测方法以及设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493198A (zh) * 2019-07-26 2019-11-22 北京工业大学 一种基于改进PBFT算法防御区块链中Sybil攻击的方法
CN112100659A (zh) * 2020-09-14 2020-12-18 电子科技大学 一种区块链联邦学习***及拜占庭攻击检测方法
CN113794675A (zh) * 2021-07-14 2021-12-14 中国人民解放军战略支援部队信息工程大学 基于区块链和联邦学习的分布式物联网入侵检测方法及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493198A (zh) * 2019-07-26 2019-11-22 北京工业大学 一种基于改进PBFT算法防御区块链中Sybil攻击的方法
CN112100659A (zh) * 2020-09-14 2020-12-18 电子科技大学 一种区块链联邦学习***及拜占庭攻击检测方法
CN113794675A (zh) * 2021-07-14 2021-12-14 中国人民解放军战略支援部队信息工程大学 基于区块链和联邦学习的分布式物联网入侵检测方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《LEGATO:A LayerwisE Gradient AggregaTiOn Algorithm for Mitigating Byzantine Attacks in Federated Learing》;VArma;《IEEE》;20220203;全文 *
《基于区块链的拜占庭容错分布式机器学习算法研究》;梁伦;《中国硕士学位论文全文库》;20210525;全文 *

Also Published As

Publication number Publication date
CN114826699A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
US11907174B2 (en) Systems and methods for managing data generation, storage, and verification in a distributed system having a committee of validator nodes
CN109447795B (zh) 一种支持快速达成最终确认性的拜占庭共识方法
CN108667614B (zh) 一种拜占庭容错方法及其实现***
Civit et al. Polygraph: Accountable byzantine agreement
CN113194469B (zh) 基于区块链的5g无人机跨域身份认证方法、***及终端
CN111131209B (zh) 一种改进的高效共识方法、***、计算机设备及存储介质
CN109685505B (zh) 基于关联环签名的拜占庭容错共识优化方法
CN115378604B (zh) 一种基于信誉值机制的边缘计算终端设备的身份认证方法
CN109949034A (zh) 基于可信性评估的区块链共识方法
CN113141414B (zh) 一种cnfs协议中区块链节点的分组多链异步共识方法
CN112651830B (zh) 应用于电力资源共享网络的区块链共识方法
CN110445795B (zh) 一种区块链认证唯一性确认方法
KR20200081533A (ko) 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법
Liang et al. Seer: A secure and efficient service review system for service-oriented mobile social networks
CN111798234B (zh) 一种轻量级区块链***及构造方法
CN114745140B (zh) 基于聚合加密的城市规划领域区块链共识验证方法及***
CN114826699B (zh) 基于区块链的去中心化联邦学习中拜占庭攻击抵御方法
CN116017509A (zh) 面向任务无人机网络轻量异步可证明共识方法及应用
CN114615281B (zh) 基于小规模委员会的区块链出块方法及PoS协议确认方法
CN115174570A (zh) 一种基于动态委员会的跨链共识方法及***
CN111970370B (zh) 基于面向通信设备体系的多层区块链协议拓展***及方法
CN112039837B (zh) 一种基于区块链和秘密共享的电子证据保全方法
CN109274674B (zh) 一种具有高安全性的区块链异构共识方法及终端
Challal et al. RLH: receiver driven layered hash-chaining for multicast data origin authentication
Shukla et al. A novel of congestion control architecture using edge computing and trustworthy blockchain system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant