(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210369653.1
(22)申请日 2022.04.08
(65)同一申请的已公布的文献号
申请公布号 CN 114826699 A
(43)申请公布日 2022.07.29
(73)专利权人 西安电子科技大 学
地址 710071 陕西省西安市太白南路2号
(72)发明人 王子龙 肖丹 陈谦 周伊琳
陈嘉伟
(74)专利代理 机构 陕西电子 工业专利中心
61205
专利代理师 侯琼 王品华
(51)Int.Cl.
H04L 9/40(2022.01)
H04L 9/32(2006.01)G06F 21/60(2013.01)
G06N 3/04(2006.01)
G06N 3/08(2006.01)
G06N 20/20(2019.01)
(56)对比文件
CN 113794675 A,2021.12.14
CN 110493198 A,2019.1 1.22
CN 112100659 A,2020.12.18
VArma. 《LEGATO: A Layerw isE Gradient
AggregaTiOn Algorithm for Mitig ating
Byzantine Attacks in Federated Leari ng》 .
《IEEE》 .2022,
梁伦. 《基于区块链的拜占庭容 错分布式机
器学习算法研究》 . 《中国硕士学位 论文全文库》
.2021,
审查员 高伟
(54)发明名称
基于区块链的去中心化联邦学习中拜占庭
攻击抵御方法
(57)摘要
本发明公开了一种基于区块链的去中心化
联邦学习中拜占庭攻击抵御方法, 主要解决去中
心化联邦学习出现拜占庭攻击时现有技术的计
算开销和通信开销过高问题。 其实现步骤为: 1)
本地用户获取预训练的模型, 并建立信誉对照关
系; 2)本地用户对模型训练后传输, 然后生成签
名消息并广播; 3)本地用户对签名消息验证后存
储, 当签名消息存储了一定数量时, 生成区块并
利用改进的PBFT共识算法对区块共识后上链; 4)
本地用户对其他本地用户的传输和广播行为进
行信誉对照关系的更新, 然后调整签名消息的生
成难度, 重复执行流程直到模型收敛时结束。 本
发明能够有效降低现有技术的计算开销和通信
开销, 可用于提升去中心化联邦学习的拜占庭鲁
棒性。
权利要求书3页 说明书8页 附图3页
CN 114826699 B
2022.12.06
CN 114826699 B
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利用本地模型和其垃圾邮件数据生成本地更新模型
5)本地用户ui随机选择某个相邻本地用户uA, 且uA∈Ui, 向其发送本地更新模型
6)本地用户ui生成签名消息 Mi, 并将该消息广播给其 他本地用户uj:
(6a)本地用户ui构建由消息编号id、 消息内容mess、 相邻本地用户uA公钥、 ui消息集合
中尾端消息编号prevId以及随机值 nonce组成的消息 Mi':
<id,mes s,nextPubK ey,prevId,n once>,
其中, 消息集合
初始状态为空, 用于存储本地用户ui自身生成的消息以及该用户接
收到的其他合法消息, 消息编号id是本地用户ui对消息集合
中尾端消息的消息编号加1
所得, 消息编号id的初始编号为1; 消息内容me ss为“本地用户ui向相邻本 地用户uA发送了一
个模型”; 随机值nonce的初始值 为1;
(6b)本地用户ui根据信誉值Rij, 利用信誉对照公式计算难度值
(6c)本地用户ui判断消息Mi'的消息序列化哈希值
十六进制字符串中从左开始字符
连续为0的数量是否等于难度值
若等于, 则直接执行步骤(6d), 反之, 对随机 值nonce加1
后再次判断, 直到等于难度值
时再进入步骤(6d);
(6d)本地用户ui用私钥ski对消息Mi'进行签名, 得到签名消息 Mi:
其中, σi为本地用户ui的签名;
(6e)本地用户ui将签名消息Mi存储到消息集合
中, 然后向其他本地用户uj广播该签
名消息Mi;
7)其他本地用户uj将签名消息 Mi转移到区块链上:
(7a)其他本地用户uj对签名消息 Mi进行合法性校验, 并更新信誉对照关系;
(7b)其他本地用户uj对存储了固定数量的uj消息集合
生成区块Bj, 然后利用改进权 利 要 求 书 1/3 页
2
CN 114826699 B
2PBFT共识算法对区块Bj的区块序列化哈希值
进行共识, 得到共识结果;
所述的改进PBFT共识算法按如下步骤实现:
(7b1)本地用户ui向系统中其 他本地用户uj广播预准备消息:
其中,
为预准备消息标志, m为区块Bi的区块序列化哈希值
h为区块链的高度, d
为m的摘要;
(7b2)其他本地用户uj检查本地区块链 中是否包含区块高度h相同但摘要d不同的预准
备消息, 若是, 则执 行步骤(7b10), 否则, 执 行步骤(7b3);
(7b3)其它本地用户uj向除其之外的别的本地用户uk广播准备消息:
其中, k=1,2,...,n且k≠j,
为准备消息标志;
(7b4)其他本地用户uj检查是否接收到2f条高度h和摘要d一一对应的准备消息, 若是,
则执行步骤(7b5), 否则, 执 行步骤(7b10);
(7b5)其他本地用户uj向本地用户ui发送预提交消息
其中
为预提交
消息标志;
(7b6)本地用户ui检查是否收到2f+1条预提交消息, 若是, 则执行步骤(7b7), 否则, 执行
步骤(7b10);
(7b7)本地用户ui向其他本地用户uj广播提交消息
其中
为提交消息标
志;
(7b8)其他本地用户uj检查是否收到提交消息, 若是, 判定本地用户ui和其他本地用户
uj共识成功; 反 之, 判定为本地用户ui和其他本地用户uj共识失败;
(7c)其他本地用户uj根据共识结果判断是否共识成功, 若是, 则执行步骤(7d), 否则, 判
定系统中恶意本地用户数量超过拜占庭容错算法的范围, 无法达成系统一致性共识, 结束
流程并退出系统;
(7d)其他本地用户uj将区块Bj放到区块链上;
8)相邻本地用户uA将本地用户ui发送的本地更新模型
作为更新后本地模型;
9)本地用户ui判断更新后本地模型是否收敛, 若是, 则直接执行步骤10), 否则, 用更新
后本地模型作为本地模型, 返回执 行步骤4);
10)结束训练。
2.根据权利要求1所述的方法, 其特 征在于: 步骤(7a)中所述 合法性校验, 过程如下:
(7a1‑1)其他本地用户uj利用信誉对照关系和信誉对照公式, 获取本地用户ui的难度值
(7a1‑2)其他本地用户uj判断是否同时满足如下情况:
情况1: 签名消息Mi不在uj消息集合
中, 且签名消息Mi的签名 σi能被uj消息集合
中
尾端消息的nextPubK ey验证成功;
情况2: 签名消息Mi的消息序列化哈希值
十六进制字符串从左开始字符连续为0的数权 利 要 求 书 2/3 页
3
CN 114826699 B
3
专利 基于区块链的去中心化联邦学习中拜占庭攻击抵御方法
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:19:23上传分享