System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种区块链系统中的共识方法、装置制造方法及图纸_技高网

一种区块链系统中的共识方法、装置制造方法及图纸

技术编号:41254779 阅读:4 留言:0更新日期:2024-05-11 09:15
一种区块链系统中的共识方法和装置,所述包括:收集针对上一轮共识的第一共识提议的共识投票,并接收由客户端提交的交易;响应于收集到了至少Quorum个共识节点针对第一共识提议的共识投票,基于客户端提交的交易和至少Quorum个共识投票生成本轮共识的第二共识提议;将第二共识提议广播至其它共识节点,由其它共识节点对所述第二共识提议进行共识投票,并在第二共识提议共识投票通过之后保存第二共识提议,以触发区块链系统向本轮共识的提议节点以及与所述至少Quorum个投票对应的投票节点分别发放虚拟资源。

【技术实现步骤摘要】

本说明书实施例属于区块链,尤其涉及一种区块链系统中的共识方法、装置


技术介绍

1、区块链系统中,不同参与方通过部署的节点(node)可以建立一个分布式的区块链网络。利用链式区块结构构造的去中心化(或称为多中心化)的分布式账本,保存于分布式的区块链网络中的每个节点(或大多节点上,如共识节点)上。这样的区块链系统需要解决去中心化(或多中心化)的多个节点上各自的账本数据的一致性和正确性的问题。每个节点上都运行着区块链程序,在一定容错需求的设计下,通过共识(consensus)机制保证所有忠诚节点具有相同的交易,从而保证所有忠诚节点对相同交易的执行结果一致,并将交易及执行结果打包生成区块。

2、当前主流的共识协议包括:工作量证明(proof of work,pow)、股权证明(proofof stake,pos)、委任权益证明(delegated proof of stake,dpos)、实用拜占庭容错(practical byzantine fault tolerance,pbft)协议,蜜獾拜占庭容错(honeybadgerbft)协议、hotstuff协议,等等。

3、其中,在实际应用中,共识协议通常可以分为异步共识协议、非异步共识协议和半异步共识协议。例如,honeybadgerbft协议属于一种异步(asynchronous)协议,而hotstuff协议属于一种半异步(partial asynchronous)协议。


技术实现思路

1、本说明书提出一种区块链系统中的共识方法,所述区块链系统中的共识节点运行的共识协议支持在每一轮共识中重新选举提议节点;所述方法应用于任意一轮共识中被选举为提议节点的目标共识节点,所述方法包括:

2、收集针对上一轮共识的第一共识提议的共识投票,并接收由客户端提交的交易;

3、响应于收集到了至少quorum个共识节点针对所述第一共识提议的共识投票,基于接收到由所述客户端提交的交易和收集到的至少quorum个共识投票生成本轮共识的第二共识提议;

4、将第二共识提议广播至其它共识节点,由所述其它共识节点对所述第二共识提议进行共识投票,并在所述第二共识提议共识投票通过之后保存所述第二共识提议,以触发区块链系统向本轮共识的提议节点以及与所述至少quorum个投票对应的投票节点分别发放虚拟资源。

5、可选的,基于客户端提交的交易和收集到的至少quorum个共识投票生成本轮共识的第二共识提议,包括:

6、基于收集到的至少quorum个共识投票生成证书;其中,所述证书用于表示收集到的共识投票达到了quorum个;基于客户端提交的交易和生成的所述证书,进一步生成本轮共识的第二共识提议;

7、将第二共识提议广播至其它共识节点,以由所述其它共识节点对所述第二共识提议进行共识投票,包括:

8、所述将第二共识提议广播至其它共识节点,以由所述其它共识节点针对所述第二共识提议中包含的所述证书进行合法性验证,并在针对所述证书的合法性验证通过之后,进一步对所述第二共识提议进行共识投票。

9、可选的,所述区块链上部署了用于发放虚拟资源的智能合约;

10、在所述第二共识提议共识投票通过之后保存所述第二共识提议,以触发区块链系统向本轮共识的提议节点以及与所述至少quorum个共识投票对应的共识节点发放虚拟资源,包括:

11、在所述第二共识提议共识投票通过之后保存所述第二共识提议,并发起针对所述智能合约的合约调用,以向本轮共识的提议节点以及与所述至少quorum个共识投票对应的投票节点分别发放虚拟资源。

12、可选的,所述第二共识提议中包含预先添加的与所述智能合约对应的合约调用交易;

13、在所述第二共识提议共识投票通过之后保存所述第二共识提议,并发起针对所述智能合约的合约调用,以向本轮共识的提议节点以及与所述至少quorum个共识投票对应的投票节点分别发放虚拟资源,包括:

14、在所述第二共识提议共识投票通过之后保存所述第二共识提议,并执行所述第二共识提议中包含的所述合约调用交易,发起针对所述智能合约的合约调用,以向本轮共识的提议节点以及与所述至少quorum个共识投票对应的投票节点分别发放虚拟资源。

15、可选的,所述共识协议包括hotstuff共识协议。

16、可选的,所述共识协议为chained hotstuff共识协议;

17、收集所述区块链系统中的共识节点,针对上一轮共识的第一共识提议的共识投票,包括:

18、收集所述区块链系统中的共识节点发送的generic消息;其中,所述generic消息由区块链系统中的共识节点在接收到上一轮共识的提议节点广播的包含所述第一共识提议的new-view消息之后,发送至本轮共识的提议节点;所述generic消息包含针对所述第一共识提议的共识投票;

19、获取收集到的所述generic消息中包含的针对所述第一共识提议的共识投票。

20、可选的,将所述第二共识提议广播至其它共识节点,以由所述其它共识节点针对所述第二共识提议中包含的所述证书进行合法性验证,并在针对所述证书的合法性验证通过之后,进一步对所述第二共识提议进行共识投票,包括:

21、向其它共识节点广播new-view消息;其中,所述new-view消息携带所述第二共识提议,以由所述其它共识节点针对所述第二共识提议中包含的所述证书进行合法性验证,并在针对所述证书的合法性验证通过之后,进一步向下一轮共识的提议节点发送携带针对所述第二共识提议的共识投票的generic消息,并由所述下一轮共识的提议节点基于收集到的至少quorum个generic消息中携带的针对所述第二共识提议的共识投票生成证书,以完成针对所述第二共识提议的共识投票;其中,所述证书用于表示收集到的共识投票达到了quorum个。

22、可选的,在所述第二共识提议共识投票通过之后保存所述第二共识提议,并执行所述第二共识提议中包含的所述合约调用交易,发起针对所述智能合约的合约调用,以向本轮共识的提议节点以及与所述至少quorum个共识投票对应的投票节点分别发放虚拟资源,包括:

23、接收所述下一轮共识的提议节点广播的new-view消息;其中,所述new-view消息携带与下一轮共识对应的第三共识提议;所述第三共识提议包含由所述下一轮共识的提议节点基于收集到的至少quorum个generic消息中包含的针对所述第二共识提议的共识投票生成的证书;

24、响应于接收到的所述下一轮共识的提议节点广播的new-view消息,针对所述第三共识提议中包含的所述证书进行合法性验证,并在针对所述证书的合法性验证通过之后,保存所述第二共识提议,向所述下一轮共识的提议节点发送包含针对所述第三共识提议的共识投票的generic消息,并继续接收后续轮次的共识的提议节点广播的new-view消息;本文档来自技高网...

【技术保护点】

1.一种区块链系统中的共识方法,所述区块链系统中的共识节点运行的共识协议支持在每一轮共识中重新选举提议节点;所述方法应用于任意一轮共识中被选举为提议节点的目标共识节点,所述方法包括:

2.如权利要求1所述的方法,基于客户端提交的交易和收集到的至少Quorum个共识投票生成本轮共识的第二共识提议,包括:

3.如权利要求2所述的方法,所述区块链上部署了用于发放虚拟资源的智能合约;

4.如权利要求3所述的方法,所述第二共识提议中包含预先添加的与所述智能合约对应的合约调用交易;

5.如权利要求4所述的方法,所述共识协议包括HotStuff共识协议。

6.如权利要求5所述的方法,所述共识协议为chained HotStuff共识协议;

7.如权利要求6所述的方法,将所述第二共识提议广播至其它共识节点,以由所述其它共识节点针对所述第二共识提议中包含的所述证书进行合法性验证,并在针对所述证书的合法性验证通过之后,进一步对所述第二共识提议进行共识投票,包括:

8.如权利要求7所述的方法,在所述第二共识提议共识投票通过之后保存所述第二共识提议,并执行所述第二共识提议中包含的所述合约调用交易,发起针对所述智能合约的合约调用,以向本轮共识的提议节点以及与所述至少Quorum个共识投票对应的投票节点分别发放虚拟资源,包括:

9.如权利要求4所述的方法,所述共识协议为basic HotStuff共识协议;所述basicHotStuff共识协议包括prepare阶段、pre-commit阶段、commit阶段;

10.如权利要求9所述的方法,将所述第二共识提议广播至其它共识节点,以由所述其它共识节点针对所述第二共识提议中包含的证书进行合法性验证,并在针对所述证书的合法性验证通过之后,进一步对所述第二共识提议进行共识投票,包括:

11.如权利要求10所述的方法,所述basic HotStuff共识协议还包括decide阶段;

12.如权利要求2、7、8、10、11中任一所述的方法,所述区块链系统中的共识节点分别持有对联合私钥进行分割得到的一私钥分片;所述共识投票为所述共识节点基于持有的私钥分片对所述第一共识提议进行签名处理得到的数字签名分片;

13.一种区块链系统的节点装置,所述区块链系统中的共识节点运行的共识协议支持在每一轮共识中重新选举提议节点;所述装置应用于任意一轮共识中被选举为提议节点的目标共识节点,包括:

14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现权利要求1至12任一所述方法的步骤。

15.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至12任一所述方法的步骤。

...

【技术特征摘要】

1.一种区块链系统中的共识方法,所述区块链系统中的共识节点运行的共识协议支持在每一轮共识中重新选举提议节点;所述方法应用于任意一轮共识中被选举为提议节点的目标共识节点,所述方法包括:

2.如权利要求1所述的方法,基于客户端提交的交易和收集到的至少quorum个共识投票生成本轮共识的第二共识提议,包括:

3.如权利要求2所述的方法,所述区块链上部署了用于发放虚拟资源的智能合约;

4.如权利要求3所述的方法,所述第二共识提议中包含预先添加的与所述智能合约对应的合约调用交易;

5.如权利要求4所述的方法,所述共识协议包括hotstuff共识协议。

6.如权利要求5所述的方法,所述共识协议为chained hotstuff共识协议;

7.如权利要求6所述的方法,将所述第二共识提议广播至其它共识节点,以由所述其它共识节点针对所述第二共识提议中包含的所述证书进行合法性验证,并在针对所述证书的合法性验证通过之后,进一步对所述第二共识提议进行共识投票,包括:

8.如权利要求7所述的方法,在所述第二共识提议共识投票通过之后保存所述第二共识提议,并执行所述第二共识提议中包含的所述合约调用交易,发起针对所述智能合约的合约调用,以向本轮共识的提议节点以及与所述至少quorum个共识投票对应的投票节点分别发放虚拟资源,包括:

9.如权利要求4所述的方...

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

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

1