[发明专利]一种基于混合拜占庭容错的联盟区块链网络共识方法有效
申请号: | 202010152890.3 | 申请日: | 2020-03-06 |
公开(公告)号: | CN111478795B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 陈柏帆;于秀兰 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | H04L41/0894 | 分类号: | H04L41/0894;H04L41/142;H04L67/10;H04L9/08;H04L9/32;G06F16/27;G06Q40/04 |
代理公司: | 北京同恒源知识产权代理有限公司 11275 | 代理人: | 赵荣之 |
地址: | 400065 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 混合 拜占庭 容错 联盟 区块 网络 共识 方法 | ||
1.一种基于混合拜占庭容错的联盟区块链网络共识方法,其特征在于,该方法包括以下步骤:
S1:利用分片机制,将区块链网络节点分类为四种节点类型,包含普通节点、验证节点、排序节点和出块节点,其中出块为全节点;
定义分片机制为:假设有n个相同计算能力的无身份处理器,其中f个处理器由拜占庭对手控制;网络接受每个块的事务,块j中的事务i用整数表示;所有处理器都能访问外部指定的约束函数定义处理器之间运行的协议W,该协议输出一个集合X,包含k个单独的分片满足以下条件:
(1)对于给定的安全性参数λ,诚实的处理器以至少1-2-λ的概率在X上达成一致;
(2)给定的分片X满足指定的约束函数C,即
(3)k的值随节点n的大小线性增长,且每个处理器使用的计算和带宽保持恒定,与n和k无关;
(4)分片以轮数进行,每一轮决定一组值其中2s为子集Xi的数量;
进行分片时,每个处理器在本地选择其身份识别码(IP,PK),它们分别是公用密钥和IP地址;每个处理器在本地搜索满足以下约束的有效随机数:
O=H(Randomness|IP||PK|nonce)≤2γ-D
其中,γ表示随机输出位数,D表示网络预定义参数;通过上述步骤,将区块链网络节点分片;
S2:将共识机制分为两个阶段,包括预处理阶段算法和执行阶段算法,执行预处理算法;
S3:利用主节点视图切换算法来保证主节点在共识机制中正常运行;
S4:出块节点执行并行拜占庭容错算法来达成出块节点共识,并由本轮共识中的主节点完成出块。
2.根据权利要求1所述的一种基于混合拜占庭容错的联盟区块链网络共识方法,其特征在于,所述步骤S2具体包括:
预处理阶段算法和执行阶段算法:将多个状态对象分组为状态部件,并将每个部件分配给一组f+1个机器;使用两种不同类型的并行来处理传入的请求:首先,每个副本只执行访问在其分配的状态部分中分组的对象的请求;其次,每个副本并行处理独立请求;总数为n的副本被随机分成p个组,每个组至少包含f+1个机器,p表示状态部件的数量;对于i组中的所有机器都负责执行对位于状态部件内部Si的对象的请求;在每个组包含f+1个副本的前提下,n表示为n=p×(f+1);请求r访问的对象集表示为O(r),P(r)是一组被访问的部分,有:
设主节点可以向属于同一部分的任何非空对象集发出请求;当主节点发出请求时,系统根据被访问的状态对象的位置为每个请求分配一个角色,共有三种主要的角色类型:执行者、验证者和观察者;每当节点请求访问分配给第i部分的对象o时,来自组号i的副本将充当执行程序,来自下一组的副本将扮演验证者的角色,其余的机器组将充当观察者;验证者角色只分配给一个状态段访问;
执行预处理算法:对于给定的副本,当它从至少不同的f+1个执行器获得相同的请求结果r时,定义语句e-complete(r)为真,否则为假;当请求结果相同时,保证请求结果r为真;此外,定义一个语句complete(r),如果一个副本的e-complete(r)语句结果为真,或者它已经执行了请求r,那么语句complete(r)对于这个副本是正确的;对于任意请求r,如果至少有一个节点崩溃或产生不同的结果,对于f+1个副本的处理结果,语句e-complete(r)结果永远为假;在验证者收到每个请求的第一个响应后设置一个计时器;如果验证者在超时之前没有收到足够的响应,语句e-complete(r)将设置为真,且会暂时接管执行请求的角色。
3.根据权利要求1所述的一种基于混合拜占庭容错的联盟区块链网络共识方法,其特征在于,所述步骤S3具体包括:当主节点变成拜占庭节点时,在共识机制中,正确的节点以一致的方式观察组内节点的变化,一致的组称为视图,并给视图编号并将它们记录为v;假设一个视图总共有N个节点,每个节点都有编号{0,1,2,...,N-1};主节点数量记为p,其余节点称为备份节点,满足公式:
p=v mod N
当组中的主节点失败时,下一个编号的节点成为主节点,视图也切换,视图数量增加1。
4.根据权利要求1所述的一种基于混合拜占庭容错的联盟区块链网络共识方法,其特征在于,所述步骤S4具体包括:在接收到新的请求r之后,一旦满足以下条件,执行程序将处理请求:
处理r之后,执行程序对请求r进行数字签名,并将其发送给所有其他副本和客户机;验证器不执行获取的任务,而是等待执行器的响应;每个客户机查询至少有一条这样的消息;验证者将获得的消息转发给其他副本,但是对于每个请求,每个执行器的结果只转发一次。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010152890.3/1.html,转载请声明来源钻瓜专利网。