一种区块链的共识方法、共识节点及电子设备技术

技术编号:31705113 阅读:37 留言:0更新日期:2022-01-01 11:07
本说明书实施例提供一种区块链的共识方法、共识节点及电子设备。方法包括:领导者节点对自身交易池中的第一交易集执行RBC协议,使用纠删码算法将第一交易集拆分成与区块链的共识节点相对应的N个数据块,并基于Rval消息向各追随者节点发送对应的数据块。追随者节点执行RBC协议,通过Echo消息将从Rval消息接收到的数据块转发至其他追随者节点,并在接收到N

【技术实现步骤摘要】
一种区块链的共识方法、共识节点及电子设备


[0001]本文件涉及数据处理
,尤其涉及一种区块链的共识方法、共识节点及电子设备。

技术介绍

[0002]基于区块链的特性,在复制和容错RAFT的共识协议中,每轮共识提议的提议数据是由领导者节点打包并同步传输给区块链的各追随者节点。假设区块链的共识节点数量为N(领导者节点和追随者节点均属于共识节点),针对一轮共识提议,领导者节点需要发送N

1份提议数据,这对于领导者节点的网络带宽产生了极大开销。
[0003]随着未来区块链业务的爆发性增长,要获得更高的吞吐量,就需要单位时间内达成更多数据的共识,对领导者节点来讲负担更大,导致共识效率反而下降。为此,当前亟需一种能够降低领导者节点发起共识提议所开销的带宽的技术方案。

技术实现思路

[0004]本说明书实施例目的是提供一种区块链的共识方法、共识节点及电子设备,能够以较小的领导者节点侧的带宽开销,完成区块链共识。
[0005]为了实现上述目的,本说明书实施例是这样实现的:
[0006]第一方面本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种区块链的共识方法,包括:区块链的领导者节点对所述领导者节点的交易池中的第一交易集执行可靠广播传输RBC协议,以使用纠删码算法将所述第一交易集拆分成与所述区块链的共识节点相对应的N个数据块,并基于Rval消息向所述区块链的各追随者节点发送对应的数据块,其中,所述第一交易集拆分成的数据块对应有基于所述纠删码算法计算得到的默克尔树证明,N为所述区块链的共识节点数量;所述追随者节点执行所述RBC协议,以通过Echo消息将从Rval消息接收到的相对应的数据块转发至其他追随者节点,并在接收到N

2f个Echo消息后,基于所述纠删码算法将已接收到的数据块还原成所述第一交易集,其中,f为所述区块链的共识节点容错数;所述领导者节点在对所述第一交易集执行完所述RBC协议后,对所述第一交易集的所有数据块的默克尔树证明执行复制和容错RAFT协议,以发起针对所述第一交易集的所有数据块的默克尔树证明的共识提议;所述追随者节点基于所述RAFT协议响应所述共识提议,以完成针对所述第一交易集的所有数据块的默克尔树证明的共识;在所述第一交易集的所有数据块的默克尔树证明完成共识后,所述领导者节点和所述追随者节点从各自的所述第一交易集中匹配出达成共识的默克尔树证明所对应的交易,以对匹配出的交易执行写块操作。2.根据权利要求1所述的方法,还包括:所述领导者节点使用纠删码算法将所述第一交易集拆分成与所述区块链的共识节点相对应的N个数据块后,将所述第一交易集拆分成的N个数据块按序添加至所述领导者节点的共识执行队列中;所述领导者节点在对所述第一交易集执行完所述RBC协议后,对所述第一交易集的所有数据块的默克尔树证明执行复制和容错RAFT协议,以发起针对所述第一交易集的所有数据块的默克尔树证明的共识提议,包括:所述领导者节点从所述领导者节点的共识执行队列中按序选取所述第一交易集的数据块的默克尔树证明,以发起至少一轮的共识提议,直至所述第一交易集的所有数据块的默克尔树证明完成共识。3.根据权利要求1所述的方法,所述领导者节点串行执行所述RBC协议和所述RAFT协议,所述方法还包括:在所述第一交易集的所有数据块的默克尔树证明完成共识后,若所述区块链未更换RAFT协议的任期,则所述领导者节点对所述领导者节点的交易池中的第二交易集执行所述RBC协议,其中,所述第二交易集是指所述领导者节点的交易池中尚未被所述领导者节点执行过所述RBC协议的交易集。4.根据权利要求2所述的方法,所述领导者节点的共识执行队列作为所述领导者节点的持久化数据,所述方法还包括:若所述领导者节点发生重启,则基于所述领导者节点的持久化数据,将所述领导者节点的共识执行队列恢复至重启前的状态。5.根据权利要求2所述的方法,
所述领导者节点在对所述第一交易集的所有数据块的默克尔树证明执行所述RAFT协议时,基于所述RAFT协议的Log日志,将作为本轮共识对象的默克尔树证明发送至其他共识节点。6.一种区块链的共识方法,包括:领导者节点对所述领导者节点的交易池中的第一交易集执行可靠广播传输RBC协议,以使用纠删码算法将所述第一交易集拆分成与所述区块链的共识节点相对应的N个数据块,并基于Rval消息向所述区块链的各追随者节点发送对应的数据块,使得追随者节点执行所述RBC协议,通过Echo消息将从Rval消息接收到的相对应的数据块转发至其他追随者节点,并在接收到N

f个Echo消息后向所述区块链广播Ready消息,以及在接收到2f+1个Ready消息后,基于所述纠删码算法将已接收到的数据块还原成所述第一交易集,其中,所述第一交易集拆分成的数据块对应有基于所述纠删码算法计算得到的默克尔树证明,N为所述区块链的共识节点数量,f为所述区块链的共识节点容错数;所述领导者节点在对所述第一交易集执行完所述RBC协议后,对所述第一交易集的所有数据块的默克尔树证明执行复制和容错RAFT协议,以发起针对所述第一交易集的所有数据块的默克尔树证明的共识提议,使得所述追随者节点基于所述RAFT协议响应所述共识提议,以完成针对所述第一交易集的所有数据块的默克尔树证明的共识;在所述第一交易集的所有数据块的默克尔树证明完成共识后,所述领导者节点从所述第一交易集中匹配出达成共识的默克尔树证明所对应的交易,以对匹配出的交易执行写块操作。7.一种区块链的共识方法,包括:区块链的追随者节点接收所述区块链的领导者节点执行RBC协议时所发送的所述追随者节点相对应的数据块,其中,所述追随者节点相对应的数据块是所述领导者节点对所述领导者节点的交易池中的第一交易集执行可靠广播传输RBC协议,以使用纠删码算法将所述第一交易集拆分成与所述区块链的共识节点相对应的N个数据块,并基于Rval消息向所述追随者节点发送的;所述追随者节点执行所述RBC协议,通过Echo消息将从Rval消息接收到的相对应的数据块转发至其他追随者节点,并在接收到N

2f个Echo消息后,基于所述纠删码算法将已接收到的数据块还原成所述第一交易集,其中,f为所述区块链的共识节点容错数;在所述领导者节点对所述第一交易集的所有数据块的默克尔树证明执行复制和容错RAFT协议,以发起针对所述第一交易集的所有数据块的默克尔树证明的共识提议后,所述追随者节点基于所述RAFT协议响应所述共识提议,以完成针对所述第一交易集的所有数据块的默克尔树证明的共识;在所述第一交易集的所有数据块的默克尔树证明完成共识后,所述追随者节点从还原的所述第一交易集中匹配出达成共识的默克尔树证明所对应的交易,以对匹配出的交易执行写块操作。8.一种区块链的共识节点,包括:第一RBC执行模块,领导者节点对所述领导者节点的交易池中的第一交易集执行可靠广播传输RBC协议,以使用纠删码算法将所述第一交易集拆分成与所述区块链的共识节点相对应的N个数据块,并基于Rval消息向所述区块链的各追随者节点发送对应的数据块,使
得追随者节点执行所述RBC协议,通过Echo消息将从Rval消息接收到的相对应的数据块转发至其他追随者节点,并在接收到N

2f个Echo消息后,基于所述纠删码算法将已接收到的数据块还原成所述第一交易集,其中,所述第一交易集拆分成的数据块对应有基于所述纠删码算法计算得到的默克尔树证明,N为所述区块链的共识节点数量,f为所述区块链的共识节点容错数;第一RAFT执行模块,所述领导者节点在对所述第一交易集执行完所述RBC协议后,对所述第一交易集的所有数据块的默克尔树证明执行复制和容错RAFT协议,以发起针对所述第一交易集的所有数据块的默克尔树证明的共识提议,使得所述追随者节点基于所述RAFT协议响应所述共识提议,以完成针对所述第一交易集的所有数据块的默克尔树证明的共识;第一写块模块,在所述第一交易集的所有数据块的默克尔树证明完成共识后,所述领导者节点从所述第一交易集中匹配出达成共识的默克尔树证明所对应的交易,以对匹配出的交易执行写块操作。9.一种电子设备包括:存...

【专利技术属性】
技术研发人员:廖校均
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1