(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211003610.8
(22)申请日 2022.08.19
(71)申请人 西安理工大 学
地址 710048 陕西省西安市碑林区金花 南
路5号
(72)发明人 张倩 王尚平
(74)专利代理 机构 西安弘理专利事务所 61214
专利代理师 徐瑶
(51)Int.Cl.
H04L 9/30(2006.01)
H04L 9/08(2006.01)
H04L 9/06(2006.01)
(54)发明名称
安全可扩 展的分片区块链构造方法
(57)摘要
本发明公开的安全可扩展的分片区块链构
造方法, 具体按照以下步骤实施: 步骤1、 共识协
议设计, 包括分片验证集合选择, 动态的记账节
点选择和分片区块生成; 步骤2、 验证链记账; 步
骤3、 全局随机数更新和时间轮同步。 本发明方法
利用基于椭圆曲线的可验证随机函数(EC ‑VRF)
构造新的分片 共识协议实现高的交易处理性能,
利用验证链保证交易的全局一 致。
权利要求书3页 说明书8页 附图1页
CN 115361133 A
2022.11.18
CN 115361133 A
1.安全可扩展的分片区块链构造方法, 其特 征在于, 具体按照以下步骤实施:
步骤1、 共识 协议设计, 包括分片验证集 合选择, 动态的记账节点选择和分片区块 生成;
步骤2、 验证链 记账;
步骤3、 全局随机数 更新和时间轮同步。
2.根据权利要求1所述的安全可扩展的分片区块链构造方法, 其特征在于, 步骤1具体
按照以下步骤实施:
步骤1.1、 全局初始化: 在 分片中, 时间被分为 时段epoch, 记为epochT, T=1,2, …, 每一
个时段epoch又分为c个子时段, 最先加入网络中的节 点互相通信产生一个公共的初始随机
值R0作为初始全局随机数;
步骤1.2、 分片节点生成可验证随机数及其证明: 设计EC ‑VRF生成可验证随机数及其证
明, 具体步骤为: 分片链κ中的节点i选择公私钥对为(pki,ski), 私钥
公钥pki=
ski·G, G是椭圆曲线E(Fq)的基点, G的阶数为n,
是小于n且与n互素的元素构成的乘法
群; 以上一个时段epochT‑1(T=1,2, …)生成的全局随机数RT‑1、 节点公钥pki作为输入, 得到
字符串mi=RT‑1||pki, 这里||表示级联; 节点i随机选择
计算Li=li·G=(xi*,yi*),
其中x*为L的横坐标, y*为L的纵坐标, 计算ξi=xi*modq,
这里
哈希函数h:
得到ei=h( πi), 之后计算σi=l‑1( πi+ξ·ski)mod n, 节点i得到关
于字符串mi的随机数 ei的证明
步骤1.3、 分片链κ 中的所有节点判断 自己是否是候选验证节点;
步骤1.4、 验证节点选择: 分片链κ 中的节点首先对所有候选节点的证明元组进行验证,
分片链κ中节点i的验证过程具体为: 首先计算
判断
这里
来自
若 不 成 立 则 关 于 候 选 节 点 i 的 验 证 失 败 ,否 则 继 续 计 算
令ζi=x′imod q, 若ζi=ξi,
则候选节点i验证成功, 否则证明失败; 之后, 对验证通过的所有分片链κ 中的候选节点的参
考值{refi}按照由大到小的顺序进行排序, 前τ个参考值所代表的候选节点即为选择出的
验证节点 集合, τ 为分片链κ 选择的验证节点的数目;
步骤1.5、 验证集合形成: 分片链κ 中验证节点之间相互通信建立分片验证节点集合VNT
并确认;
步骤1.6、 动态的子时段分片记账节点选 择: 在分片链κ 中, 验证节点集合VNT中的节点将
时段epochT选出的验证节点的可验证随机数
组成一棵Merkle树, 叶子节点为每一个
验证节点的可验证随机数, 随机数的哈希 值为叶节 点的权重, 这里哈希 函数选择S HA256; 非
叶子结点的权重为左右子树的权重之和, weightΔ为该树节点的最大权重; 之后, 为epochT
的每一个子时段j,j=1, …,c‑1分别选择记账节点,
表示分片链κ在时段epochT
的第j个子时段的初始种子值,
这里RT‑1为上一时段的公共随机数;
在每个子时段中, 对构造的Merkl e树自顶向下遍历, 将种子值
输入伪随机函数p_权 利 要 求 书 1/3 页
2
CN 115361133 A
2f(·):
中生成一个随机数, 如果生成的随机数小于左子树的权重则
选择左子树, 否则选择右子树, 依次以上一层生 成的随机数作为p_f( ·)的输入生成新的随
机数进行遍历, 直到选择某一个叶子节点的可验证随机数为
则节点ij被选中作为第j子
时段的记账节点;
步骤1.7、 分片记账及区块头签名生成: 记账节点ij收集分片矿池中的交易, 生成交易区
块
之后, 随机 选择
计算
得到区块头签名Ωj=(Qj, μj), 这里
tj=
(epochT||j); 分片区块头的具体表示 为:
κ为分片
链, tj=(epochT||j)为分片时段和子时段索引号, hashpre为前一个验 证区块的哈希值, sub ‑
hashpre为分片上前一区块的哈希值, t imestamp为分片区块生成的时间戳,
为
分片记账节点ij的可验证随机数和证明, merkle_rootj为当前子时段收集交易的Merkle树
根; 记账节点ij将区块
和区块头签名Ωj=(Qj, μj)广播至分片 链κ, 验证节点集合中的其
余验证节点对区块合法性进行验证; 当收到至少
个验证节点对区块的正确验证结果
时, 记账节点将该区块记录在它所在的分片链上;
步骤1.8、 区块头打包: 第c ‑1个子时段的记账节点
生成区块
同时收集 epochT中所
有生成的区块头签名{Ωj}j=1,…,c‑1以及区块头的集合
发送到验
证链上。
3.根据权利要求2所述的安全可扩展的分片区块链构造方法, 其特征在于, 步骤1.3具
体按照以下步骤实施:
步骤1.3.1、 节点i拥有si个标准单位的代币, 表示为节点i拥有si个权益值; 之后, 节点i
用生成的ei计算
步骤1.3.2、 节点i将区间[0,1)划分为si个连续区间的形式, 在si个权益值中选择恰好 η
个权益值的概率服从二项分布B(si,p):
其中,
这里
τ为分片链κ选择的
验证节点的数目,
表示分片链κ 中拥有的所有的权益 值数量;权 利 要 求 书 2/3 页
3
CN 115361133 A
3
专利 安全可扩展的分片区块链构造方法
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 04:07:51上传分享