(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210710309.4
(22)申请日 2022.06.22
(65)同一申请的已公布的文献号
申请公布号 CN 114785812 A
(43)申请公布日 2022.07.22
(73)专利权人 浙商银行股份有限公司
地址 311200 浙江省杭州市萧 山区鸿宁路
1788号
专利权人 易企银 (杭州) 科技有限公司
(72)发明人 郭东升 陈嘉俊 臧铖
(74)专利代理 机构 杭州求是专利事务所有限公
司 33200
专利代理师 刘静
(51)Int.Cl.
H04L 67/1095(2022.01)H04L 9/32(2006.01)
H04L 67/568(2022.01)
H04L 67/5682(2022.01)
G06Q 40/04(2012.01)
(56)对比文件
CN 114065283 A,202 2.02.18
WO 202013 3333 A1,2020.07.02
WO 20212 22669 A1,2021.1 1.04
翟社平等.区块链中的隐私保护技 术. 《西安
邮电大学学报》 .2018,(第0 5期),
审查员 程晓青
(54)发明名称
一种基于零知识证明的区块链区块同步方
法及装置
(57)摘要
本发明公开了一种基于零知识证明的区块
链区块同步方法及装置, 在节点同步区块时, 不
需要重复计算区块里的交易, 同时, 由于隐私等
问题, 区块里的数据可能为加密的, 区块验证不
能直接明文验证, 本发明采用对区块里的零知识
证明进行验证, 验证通过则表明区块是合法区
块, 然后进行区块同步, 能够提升区块同步的效
率, 同时提高区块链的隐私保护性能; 此外, 区块
同步采用异步的方式, 将区块传输、 验证进行分
离, 在区块传输、 验证阶段均采用分段策略, 降低
区块同步对区块链网络负载的影 响, 防止当同步
较多区块时出现错误导致整个同步工作失败, 浪
费资源, 影响区块链网络稳定 。
权利要求书2页 说明书7页 附图3页
CN 114785812 B
2022.10.21
CN 114785812 B
1.一种基于零知识证明的区块链区块同步方法, 其特 征在于, 包括:
在区块链网络设置公共的零知识证明服务模块, 所述零知识证明服务模块为 区块链节
点提供基于离散对数的非交互式零知识证明服务, 将零知识证明服务请求所输入零知识证
明材料生成零知识证明, 并将零知识证明返回给请求 者;
在区块传输阶段, 计算区块同步请求节点需要 同步的总区块高度, 根据分段步长确定
分段数, 针对各分段的同步区块从最 新区块高度节点中选择同步节点进行同步;
在区块验证阶段, 当区块被传送到区块同步请求节点后, 放入缓存, 区块同步请求节点
根据分段步长进行分段验证, 各分段内验证最高的区块, 各分段内最高的区块对应的同步
节点向零知识证明服务模块 发起服务请求, 并将零知识证明服务模块返回的零知识证明发
送到区块同步请求节点完成区块验证。
2.根据权利要求1所述的一种基于零知识证明的区块链区块同步方法, 其特征在于, 所
述基于离散对数的非交 互式零知识证明服 务流程包括:
区块同步请求节点向同步节点发起区块同步请求;
同步节点向零知识证明服务模块请求零知识证明服务, 同步节点根据区块信 息生成零
知识证明材 料δ, 并发送到零知识证明服 务模块;
零知识证 明服务模块利用零知识证 明材料δ构建基于大质数p和正整数g的离散对数y=
gδ(mod p), mod为 求模, y为指数值;
零知识证明服务模块从群Zp中选出一个随机数v, 计算新的指数值t=gv(mod p), 其中Zp
为小于p的所有素 数集合构成的群;
零知识证明服 务模块计算哈希值h =H(g,y,t), H( ·)为哈希函数;
零知识证明服务模块计算中间变量r=v ‑h*δ, 得到零知识证明proof=(t,r), 并将零知
识证明pro of以及正整数g、 指数值y、 哈希值h返回给区块同步;
同步节点将零知识证明proof以及正整数g、 指数值y、 哈希值h发送给区块同步请求节
点;
区块同步请求节点验证零知识证明pro of, 即验证公式 gryh≡t是否成立。
3.根据权利要求1所述的一种基于零知识证明的区块链区块同步方法, 其特征在于, 所
述零知识证明材料包括: 前序区块哈希、 交易列表、 区块签名信息、 时间戳、 随机数、 默克尔
树验证路径、 默克尔根。
4.根据权利要求3所述的一种基于零知识证明的区块链区块同步方法, 其特征在于, 根
据前序区块哈希、 交易列表、 区块签名信息、 时间戳、 随机数这些区块信息生成当前区块哈
希, 所述当前区块哈希按照默克尔树验证路径与默克尔根对比从而验证区块 合法性。
5.根据权利要求1所述的一种基于零知识证明的区块链区块同步方法, 其特征在于, 在
区块传输阶段, 各分段的同步区块根据区块链中节点的负载情况, 从最新区块高度节点中
选择同步节点进行同步, 每次同步的同步节点个数不超过区块链半数节点。
6.根据权利要求1所述的一种基于零知识证明的区块链区块同步方法, 其特征在于, 区
块同步请求节点向最新区块高度 节点确认区块高度差异, 根据差异 值及分段步长确定 分段
数, 各分段并发同步区块, 区块哈希的生成采用递归哈希, 根据递归哈希, 只需验证每个分
段内最高的区块。
7.根据权利要求1所述的一种基于零知识证明的区块链区块同步方法, 其特征在于, 各权 利 要 求 书 1/2 页
2
CN 114785812 B
2分段同步完成后, 同步本地区块高度, 如果有分段内区块验证失败, 则将已经验证通过的具
有最高区块高度的分段以及之前分段的区块更新至本地账本, 更新本地区块高度, 其余分
段的区块进行回滚, 按照新的本地区块高度再次开启同步 流程。
8.根据权利要求1所述的一种基于零知识证明的区块链区块同步方法, 其特征在于, 每
个节点设有处理模块、 验证模块和提交模块, 所述处理模块用于区块高度检查, 发起区块同
步请求, 区块传输; 所述验证模块用于验证区块的合法性; 所述提交模块用于将合法的区块
提交到账本 。
9.根据权利要求8所述的一种基于零知识证明的区块链区块同步方法, 其特征在于, 区
块同步流程如下:
区块同步请求节点通过处理模块发起 区块同步请求, 并选择最新 区块高度节点作为同
步节点;
接收到区块同步请求的同步节点验证请求信息后, 将区块传输给区块同步请求节点,
区块同步请求节点将区块缓存;
区块同步请求节点进行分段验证, 各分段内验证最高的区块, 各分段内最高的区块对
应的同步节点向零知识证明服 务模块发起 零知识证明服 务请求;
零知识证明服务模块根据零知识证明服务请求信 息, 生成零知识证明并返回给同步节
点;
同步节点将零知识证明发送给区块同步请求节点, 区块同步请求节点的验证模块验证
零知识证明;
零知识证 明验证通过, 通过提交模块提交区块, 并更新本地区块高度及缓存区块, 否则
结束;
检查区块同步请求节点的本地 区块高度是否同区块链的最高区块高度一致, 如果不一
致则继续发起区块同步请求, 如果 一致则结束区块同步 流程。
10.一种基于零知识证明的区块链区块同步装置, 包括存储器和一个或多个处理器, 所
述存储器中存储有 可执行代码, 其特征在于, 所述处理器执行所述可执行代码时, 实现如权
利要求1‑9中任一项所述的方法。权 利 要 求 书 2/2 页
3
CN 114785812 B
3
专利 一种基于零知识证明的区块链区块同步方法及装置
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:15:45上传分享