CN112671815A - 一种非许可网络的拜占庭容错共识方案 - Google Patents

一种非许可网络的拜占庭容错共识方案 Download PDF

Info

Publication number
CN112671815A
CN112671815A CN201910980013.2A CN201910980013A CN112671815A CN 112671815 A CN112671815 A CN 112671815A CN 201910980013 A CN201910980013 A CN 201910980013A CN 112671815 A CN112671815 A CN 112671815A
Authority
CN
China
Prior art keywords
consensus
tolerant
byzantine fault
historical
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910980013.2A
Other languages
English (en)
Inventor
陈小虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201910980013.2A priority Critical patent/CN112671815A/zh
Publication of CN112671815A publication Critical patent/CN112671815A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

拜占庭容错共识可以提供快速、及时的最终性,可以广泛用于私有链或者联盟链的应用场景。但是,传统的拜占庭容错共识是许可网络,也即参与共识的节点必须以准入的方式参与共识。因此,一定程度上造成中心化的特性。本发明提出一种非许可网络的拜占庭容错共识方式,采用具有周期性最终性的工作量证明,可以在海量节点参与、非许可准入的条件下,实现拜占庭容错共识。

Description

一种非许可网络的拜占庭容错共识方案
技术领域
本发明涉及去中心化的系统包括区块链和其他分布式系统,具体来说是一种创新的非许可网络的拜占庭容错共识方案。
背景技术
去中心化共识的传统方法有拜占庭容错共识(PBFT),采用投票的方式,通过网络节点之间对某个提案进行投票,将获得大多数节点同意的提案写入共识系统。在PBFT基础上有很多改进的方法:阈值签名采用BLS算法,能够有效降低节点投票时候的消息的大小;HOTSTUFF改进了视界(view)改变时候的通讯量;dPOS(权益证明)采用各个参与节点的所拥有的股权,通过代理的方式进行投票,或者与POW结合的方式实现共识。
类PBFT的共识方式对网络的通讯量要求很高,随节点数量的增加呈级数级增长(O(n^2)-O(n^3))。因此,此方法限制了能够参与的网络节点的数量(<100)。 此外,参与共识的节点的有效性必须事先得到确定,因此这个共识系统是个封闭的、许可准入的网络。如果是非准入网络的大量节点,目前缺乏一种有效的去中心化随机选取的方式,在保证安全性的同时,能够兼容去中心化。
发明内容
本发明由以下几部分组成:
一种非许可网络的拜占庭容错共识方案,包括:
参与共识的多个节点;
采用能够实现具有周期性最终性的工作量证明;
在实现最终性的某个历史位置向前追溯可定义的范围;
在所述范围内获得对这个范围内的共识生成有贡献的节点集合;
从所述节点集合中通过共识过程中的随机函数获得参与拜占庭容错共识的共识子集;
从所述节点集合中通过共识过程中的随机函数获得参与拜占庭容错共识当前视图的领导者;
所述共识子集与领导者实现拜占庭容错共识。
根据上述共识方案,其特征是:
工作量证明形成的周期性最终性的新位置,可以作为拜占庭容错共识的视图切换点;
由所述新位置向前追溯可定义的范围;
在所述范围内获得对这个范围内的共识生成有贡献的节点集合;
从所述节点集合中通过共识过程中的随机函数获得参与拜占庭容错共识的新的共识子集和领导者,从而实现视图的切换。
根据上述共识方案所述具有周期性最终性的工作量证明,其特征是:
从设定的共识统计范围获得所有有贡献的节点集合;
计算所述集合中每个节点在所述范围内的历史贡献;
从某个共识位置计算之后的共识生成者的所述历史贡献累加;
当所述历史贡献累加超过设定值即标记所述共识位置达到最终性;
更新共识统计范围,并计算相应的历史贡献,对新的共识位置进行历史贡献累加,判断结果并相应标记所述新的共识位置达到最终性;
重复以上步骤获得周期性的最终性。
根据上述共识方案所述具有周期性最终性的工作量证明,其特征是:
从设定的共识统计范围获得所有有贡献的节点集合;
计算集合中每个节点在所述范围内的历史贡献;
从某个共识位置计算之后的共识生成者的历史贡献累加;
从某个共识位置计算之后的共识所覆盖的有界资源比率;
计算所述历史贡献累加与有界资源覆盖比率的组合函数的结果,超过设定值即标记所述共识位置达到最终性;
更新共识统计范围,并计算相应的历史贡献与资源比率,对新的共识位置计算所述组合函数的结果,判断结果并相应标记所述新的共识位置达到最终性;
重复以上步骤获得周期性的最终性。
根据上述共识方案所述随机函数,其特征是:
采用当前或者历史的共识结果派生的随机数,包括但不限于共识的哈希值、交易集合的哈希、签名、阈值签名、难度系数、时间戳等。
上述历史贡献累加与有界资源覆盖比率的组合函数,包括但不限于:
历史贡献累加与有界资源覆盖比率的线性叠加、加权平均、逻辑运算等。
上述共识方案,其特征是:
从所述节点集合中可以通过随机函数选出多个拜占庭容错共识子集和领导者,从而同时支持多个拜占庭容错共识系统并行运行。
上述共识方案,其特征是:
所述工作量证明的共识结果可以与多个参与拜占庭容错共识结果公用一个共识系统,或者分别采用独立的共识系统。
上述共识方案,其特征是:
多个拜占庭容错共识系统之间可以互相独立运行,也可以互相共用一个或多个子模块。
根据上述共识方案所述参与共识的节点,其特征是:
网络接口;存储器;和耦合网络接口和存储器的处理器;
处理器配置为:
通过网络接口接收多个交易;处理每个交易获得结果;
根据设定共识方案与其他共识节点交互获得工作量证明;
根据设定共识方案获得拜占庭容错共识的节点子集和领导者,以及视图切换;
实现拜占庭容错共识。
附图说明
附图1中显示的是从周期最终性的工作量证明中选取拜占庭容错共识参与者的一个实例过程。102是一个周期性的工作量证明产生的共识结果,101、103是具有最终性的共识位置。从当前具有最终性的位置103向前追溯一定范围,从这个范围中获得历史共识的贡献节点集合。通过随机函数获得指定数量的拜占庭共识参与者集合104。这个集合104 中包括参与的节点105,以及领导者106。
具体实施形式
本发明是一个支持海量的节点、无准入许可,支持拜占庭容错共识方案。
本发明采用底层具有周期性最终性的工作量证明,以此为基础,随机选取参与拜占庭容错共识的节点,从而在选出的节点集合内实现拜占庭容错共识。
本发明拜占庭容错共识方案,包括:
参与共识的多个节点;
采用能够实现具有周期性最终性的工作量证明;
在实现最终性的某个历史位置向前追溯可定义的范围;
在所述范围内获得对这个范围内的共识生成有贡献的节点集合;
从所述节点集合中通过共识过程中的随机函数获得参与拜占庭容错共识的共识子集;
从所述节点集合中通过共识过程中的随机函数获得参与拜占庭容错共识当前视图的领导者;
所述共识子集与领导者实现拜占庭容错共识。
当需要实现视图切换的时候:
工作量证明形成的周期性最终性的新位置,可以作为拜占庭容错共识的视图切换点;
由所述新位置向前追溯可定义的范围;
在所述范围内获得对这个范围内的共识生成有贡献的节点集合;
从所述节点集合中通过共识过程中的随机函数获得参与拜占庭容错共识的新的共识子集和领导者,从而实现视图的切换。
在此方案中用到的具有周期性最终性的工作量证明,其特征是:
从设定的共识统计范围获得所有有贡献的节点集合;
计算所述集合中每个节点在所述范围内的历史贡献;
从某个共识位置计算之后的共识生成者的所述历史贡献累加;
当所述历史贡献累加超过设定值即标记所述共识位置达到最终性;
更新共识统计范围,并计算相应的历史贡献,对新的共识位置进行历史贡献累加,判断结果并相应标记所述新的共识位置达到最终性;
重复以上步骤获得周期性的最终性。
作为替代方案,可以采用另外一种具有周期性最终性的工作量证明,其特征是:
从设定的共识统计范围获得所有有贡献的节点集合;
计算集合中每个节点在所述范围内的历史贡献;
从某个共识位置计算之后的共识生成者的历史贡献累加;
从某个共识位置计算之后的共识所覆盖的有界资源比率;
计算所述历史贡献累加与有界资源覆盖比率的组合函数的结果,超过设定值即标记所述共识位置达到最终性;
更新共识统计范围,并计算相应的历史贡献与资源比率,对新的共识位置计算所述组合函数的结果,判断结果并相应标记所述新的共识位置达到最终性;
重复以上步骤获得周期性的最终性。
上述历史贡献累加与有界资源覆盖比率的组合函数,包括但不限于: 历史贡献累加与有界资源覆盖比率的线性叠加、加权平均、逻辑运算等。
随机选择的过程可以采用当前或者历史的共识结果派生的随机数,包括但不限于共识的哈希值、交易集合的哈希、签名、阈值签名、难度系数、时间戳等。
同样的,从所述节点集合中可以通过随机函数选出多个拜占庭容错共识子集和领导者,从而同时支持多个拜占庭容错共识系统并行运行。
所述工作量证明的共识结果可以与多个参与拜占庭容错共识结果公用一个共识系统,或者分别采用独立的共识系统。
多个拜占庭容错共识系统之间可以互相独立运行,也可以互相共用一个或多个子模块。
此外,参与共识的节点,其特征是:
网络接口;存储器;和耦合网络接口和存储器的处理器;
处理器配置为:
通过网络接口接收多个交易;处理每个交易获得结果;
根据设定共识方案与其他共识节点交互获得工作量证明;
根据设定共识方案获得拜占庭容错共识的节点子集和领导者,以及视图切换;
实现拜占庭容错共识。

Claims (10)

1.一种非许可网络的拜占庭容错共识方案,包括:
参与共识的多个节点;
采用能够实现具有周期性最终性的工作量证明;
在实现最终性的某个历史位置向前追溯可定义的范围;
在所述范围内获得对这个范围内的共识生成有贡献的节点集合;
从所述节点集合中通过共识过程中的随机函数获得参与拜占庭容错共识的共识子集;
从所述节点集合中通过共识过程中的随机函数获得参与拜占庭容错共识当前视图的领导者;
所述共识子集与领导者实现拜占庭容错共识。
2.根据权利要求1所述共识方案,其特征是:
工作量证明形成的周期性最终性的新位置,可以作为拜占庭容错共识的视图切换点;
由所述新位置向前追溯可定义的范围;
在所述范围内获得对这个范围内的共识生成有贡献的节点集合;
从所述节点集合中通过共识过程中的随机函数获得参与拜占庭容错共识的新的共识子集和领导者,从而实现视图的切换。
3.根据权利要求1所述具有周期性最终性的工作量证明,其特征是:
从设定的共识统计范围获得所有有贡献的节点集合;
计算所述集合中每个节点在所述范围内的历史贡献;
从某个共识位置计算之后的共识生成者的所述历史贡献累加;
当所述历史贡献累加超过设定值即标记所述共识位置达到最终性;
更新共识统计范围,并计算相应的历史贡献,对新的共识位置进行历史贡献累加,判断结果并相应标记所述新的共识位置达到最终性;
重复以上步骤获得周期性的最终性。
4.根据权利要求1所述具有周期性最终性的工作量证明,其特征是:
从设定的共识统计范围获得所有有贡献的节点集合;
计算集合中每个节点在所述范围内的历史贡献;
从某个共识位置计算之后的共识生成者的历史贡献累加;
从某个共识位置计算之后的共识所覆盖的有界资源比率;
计算所述历史贡献累加与有界资源覆盖比率的组合函数的结果,超过设定值即标记所述共识位置达到最终性;
更新共识统计范围,并计算相应的历史贡献与资源比率,对新的共识位置计算所述组合函数的结果,判断结果并相应标记所述新的共识位置达到最终性;
重复以上步骤获得周期性的最终性。
5.根据权利要求1所述随机函数,其特征是:
采用当前或者历史的共识结果派生的随机数,包括但不限于共识的哈希值、交易集合的哈希、签名、阈值签名、难度系数、时间戳等。
6.根据权利要求4所述历史贡献累加与有界资源覆盖比率的组合函数,包括但不限于:
历史贡献累加与有界资源覆盖比率的线性叠加、加权平均、逻辑运算等。
7.根据权利要求1所述共识方案,其特征是:
从所述节点集合中可以通过随机函数选出多个拜占庭容错共识子集和领导者,从而同时支持多个拜占庭容错共识系统并行运行。
8.根据权利要求1所述共识方案,其特征是:
所述工作量证明的共识结果可以与多个参与拜占庭容错共识结果公用一个共识系统,或者分别采用独立的共识系统。
9.根据权利要求7所述共识方案,其特征是:
多个拜占庭容错共识系统之间可以互相独立运行,也可以互相共用一个或多个子模块。
10.根据权利要求1所述参与共识的节点,其特征是:
网络接口;存储器;和耦合网络接口和存储器的处理器;
处理器配置为:
通过网络接口接收多个交易;处理每个交易获得结果;
根据设定共识方案与其他共识节点交互获得工作量证明;
根据设定共识方案获得拜占庭容错共识的节点子集和领导者,以及视图切换;
实现拜占庭容错共识。
CN201910980013.2A 2019-10-16 2019-10-16 一种非许可网络的拜占庭容错共识方案 Pending CN112671815A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910980013.2A CN112671815A (zh) 2019-10-16 2019-10-16 一种非许可网络的拜占庭容错共识方案

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910980013.2A CN112671815A (zh) 2019-10-16 2019-10-16 一种非许可网络的拜占庭容错共识方案

Publications (1)

Publication Number Publication Date
CN112671815A true CN112671815A (zh) 2021-04-16

Family

ID=75400544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910980013.2A Pending CN112671815A (zh) 2019-10-16 2019-10-16 一种非许可网络的拜占庭容错共识方案

Country Status (1)

Country Link
CN (1) CN112671815A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639837A (zh) * 2019-01-31 2019-04-16 东南大学 基于信任机制的区块链DPoS共识方法
CN109964242A (zh) * 2018-05-25 2019-07-02 北京大学深圳研究生院 一种基于信任关系的区块链共识方法
CN109964446A (zh) * 2018-06-08 2019-07-02 北京大学深圳研究生院 一种基于投票的共识方法
US20190251007A1 (en) * 2018-02-12 2019-08-15 Ripple Labs Inc. Byzantine agreement in open networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190251007A1 (en) * 2018-02-12 2019-08-15 Ripple Labs Inc. Byzantine agreement in open networks
CN109964242A (zh) * 2018-05-25 2019-07-02 北京大学深圳研究生院 一种基于信任关系的区块链共识方法
CN109964446A (zh) * 2018-06-08 2019-07-02 北京大学深圳研究生院 一种基于投票的共识方法
CN109639837A (zh) * 2019-01-31 2019-04-16 东南大学 基于信任机制的区块链DPoS共识方法

Similar Documents

Publication Publication Date Title
CN109447795B (zh) 一种支持快速达成最终确认性的拜占庭共识方法
Yu et al. Game theoretic analysis of cooperation stimulation and security in autonomous mobile ad hoc networks
Liu et al. Optimizing overlay topology by reducing cut vertices
CN109934608B (zh) 一种区块链共识方法
CN113570357B (zh) 一种动态分层的高效pbft算法
KR102208411B1 (ko) 블록체인 네트워크의 트랜잭션 및 이벤트 감사 시스템 및 감사 방법
Liu et al. Ltsm: Lightweight and trusted sharing mechanism of iot data in smart city
Xu et al. An efficient blockchain PBFT consensus protocol in energy constrained IoT applications
CN111047316A (zh) 一种反篡改的智能区块链系统及实现方法
CN114189325B (zh) 具有高容错可扩展的拜占庭容错方法、装置及存储介质
Jiang et al. A scalable Byzantine Fault Tolerance algorithm based on a tree topology network
CN114745140B (zh) 基于聚合加密的城市规划领域区块链共识验证方法及系统
Wang et al. A node rating based sharding scheme for blockchain
Zhong et al. Improve PBFT based on hash ring
Zhou et al. An improved spectrum trading design based on dynamic credit aggregate-signature blockchain
Xian et al. A distributed efficient blockchain oracle scheme for Internet of Things
Barnett et al. An examination of the relationship between international telecommunication networks, terrorism and global news coverage
CN112671815A (zh) 一种非许可网络的拜占庭容错共识方案
Capossele et al. Robustness and efficiency of voting consensus protocols within byzantine infrastructures
CN115204899A (zh) 基于pbft算法的电力交易方法、装置、设备及介质
CN116204110A (zh) 基于区块链的区块处理方法、装置及设备、介质、产品
Stokkink et al. Reputation-based data carrying for web3 networks
Msadek et al. Trust-enhanced self-configuration for organic computing systems
Han et al. Robust privacy‐preserving federated learning framework for IoT devices
Jiang et al. Trust credential distribution in autonomic networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination