CN112671815A - 一种非许可网络的拜占庭容错共识方案 - Google Patents
一种非许可网络的拜占庭容错共识方案 Download PDFInfo
- 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
Links
- 230000000737 periodic effect Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 24
- 238000009825 accumulation Methods 0.000 claims description 12
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 1
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所述参与共识的节点,其特征是:
网络接口;存储器;和耦合网络接口和存储器的处理器;
处理器配置为:
通过网络接口接收多个交易;处理每个交易获得结果;
根据设定共识方案与其他共识节点交互获得工作量证明;
根据设定共识方案获得拜占庭容错共识的节点子集和领导者,以及视图切换;
实现拜占庭容错共识。
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)
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 |
-
2019
- 2019-10-16 CN CN201910980013.2A patent/CN112671815A/zh active Pending
Patent Citations (4)
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 |