CN110505091A - 一种基于pbft改进的共识方法 - Google Patents
一种基于pbft改进的共识方法 Download PDFInfo
- Publication number
- CN110505091A CN110505091A CN201910783616.3A CN201910783616A CN110505091A CN 110505091 A CN110505091 A CN 110505091A CN 201910783616 A CN201910783616 A CN 201910783616A CN 110505091 A CN110505091 A CN 110505091A
- Authority
- CN
- China
- Prior art keywords
- node
- common recognition
- block
- nodes
- content
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 206010000117 Abnormal behaviour Diseases 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1854—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本发明涉及一种基于PBFT改进的共识方法,属于区块链技术领域。本发明改进的区块链共识机制基于PBFT共识机制,具体是根据稳定值来选择主节点、共识节点和记账节点,从稳定值在前20%的共识节点中随机选择一个主节点,稳定值在前50%的节点为共识节点,剩余为记账节点。除此之外还加入了动态的奖惩机制,可在每轮共识之后对节点行为判断,进行稳定值奖惩,只有稳定性达到总节点的前50%才能参与共识,获得更高比例的记账收入。本发明与现有技术相比,主要解决了节点参与共识过程积极性不高、无法动态判断恶意节点、共识过程资源占用高的现象,通过本发明,可以极大地提高节点的积极性、消除恶意节点、降低资源消耗,提高系统的安全性和效率。
Description
技术领域
本发明涉及一种基于PBFT改进的共识方法,属于区块链技术领域。
背景技术
现在联盟链的常用共识机制是PBFT即实用拜占庭容错算法,PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。普通PBFT算法在共识过程中,所有节点参与,导致通信资源消耗高,恶意节点的破坏性强。YUHAO WANG在《Study of Blockchain’s Consensus Mechanism Based on Credit》一文中提出信用委托拜占庭容错算法(CDBFT),选举信誉值高于阈值的一部分节点作为经典实用拜占庭容错共识机制的参与者,节点参与共识的积极性不高,无法对节点进行动态奖惩,信誉值高的节点一直会高,易造成中心化。
综上所述,急需提供一种技术方案,在保证消除恶意节点的基础上,降低共识过程中通信资源的消耗,且保证生成区块都是正确的。
发明内容
本发明要解决的技术问题是提供一种基于PBFT改进的共识方法,以用于解决节点参与共识积极性不高、无法动态判断恶意节点、共识过程资源占用高等现象,该方法可以提高节点的积极性、消除恶意节点、降低资源消耗,提高系统的安全性和效率。
本发明的技术方案是:一种基于PBFT改进的共识方法,包含以下步骤:
共识方法的角色包括:主节点、共识节点、记账节点;
所述主节点主要负责统计需要其他节点发送的投票内容放入预备块中,然后广播给共识节点,统计共识节点的投票结果并广播给所有节点,广播共识节点投票通过的内容写入区块,共识节点负责接收主节点广播的投票内容,并对其投票发送给主节点,然后将有效信息写入正式区块,记账节点由于其稳定性不高,主要通过正确记账来获得收益和稳定值;
所述共识方法生成区块的步骤如下:
Step1、选择主节点:稳定值在所有节点前20%的节点中随机选择,主节点= random{稳定值前20%的节点};
Step2、选择共识节点:稳定值在所有节点前50%的节点中随机选择,共识节点= random{稳定值前50%的节点};
Step3、选择记账节点:剩余节点稳定值不高,为记账节点;
Step4、主节点生成预备块:所有节点把需投票内容广播给主节点,主节点把需要投票的内容写入预备块;
Step5、主节点把预备块广播给共识节点:主节点把打包好的预备块广播给共识节点,统一投票内容;
Step6、共识节点投票:共识节点把对接收到的预备块中需投票的内容进行投票,并广播给主节点;
Step7、主节点统计投票结果:主节点统计共识节点的投票结果,如果有超过2/3的共识节点通过,则此条内容可写入区块,并把投票结果广播给所有节点;
Step8、主节点广播写入区块内容:主节点广播给所有节点写入区块的内容,并生成区块;
Step9、节点生成区块:所有节点接收到生成区块内容,达成共识,生成区块并广播,确认生成区块是否正确有效;
Step10、稳定值奖惩:若在本轮共识过程中,节点掉线、对恶意内容投通过票、没有记录正常区块或记录异常区块,则视为异常节点;若在本轮共识过程中节点正常进行共识,则视为正常节点,正常的节点奖励稳定值1,异常的节点减少稳定值3。
进一步地,稳定值越高说明节点的可靠性越高,为了防止主节点恶化,不设置固定主节点,而在稳定值为前20%的节点中随机选择一个,共识节点则是稳定值为前50%的节点,其余稳定值低的50%为记账节点。
进一步地,由于主节点的稳定值较高,不易发生异常行为,如果主节点发生异常,则再从稳定值在所有节点前20%的节点中随机选择,本次共识重新开始。同理,对于共识节点的异常,若剩余共识节点数目大于等于4,则继续进行投票,若小于4,则从记账节点中选择稳定值高的进行继续共识。出现异常行为的节点在本次共识结束后对其进行稳定值惩罚。
进一步地,节点的稳定值达到总节点数量的前50%才有资格参与共识,主节点和共识节点及记账节点每次共识后的收益不一致,生成区块的奖励为1个代币,主节点获取20%奖励,50%共识节点平分50%的奖励,50%记账节点平分30%奖励。
进一步地,参加共识的只有稳定值高的前50%,可降低在共识过程中广播产生的通信资源消耗。
在共识过程中的广播通信是基于三次握手原理,即发送者向接收者发送消息;接收者向发送者发送已收到的回复;发送者收到接收者的回复,确定接收者已收到。
本发明的有益效果是:解决了节点参与共识积极性不高、无法动态判断恶意节点、共识过程资源占用高的现象,通过本发明,可以极大地提高节点的积极性、消除恶意节点、降低资源消耗,提高系统的安全性和效率。
附图说明
图1是本发明的流程图;
图2是本发明稳定值奖惩流程图。
具体实施方式
下面结合附图和具体实施方式,对本发明作进一步说明。
实施例1:如图1所示,一种基于实用拜占庭容错算法改进的共识方法,所述方法的具体步骤如下:
共识方法的角色包括:主节点、共识节点、记账节点;
所述主节点主要负责统计需要其他节点发送的投票内容放入预备块中,然后广播给共识节点,统计共识节点的投票结果并广播给所有节点,广播共识节点投票通过的内容写入区块。共识节点负责接收主节点广播的投票内容,并对其投票发送给主节点,然后将有效信息写入正式区块。记账节点由于其稳定性不高,主要通过正确记账来获得收益和稳定值。具体的,假设有A、B、C、D、E、F、G、H、I,共9个节点。
所述共识方法生成区块的步骤如下:
Step1.选择主节点:稳定值在所有节点前20%的节点中随机选择,主节点= random{稳
定值前20%的节点},假设主节点为A。
Step2.选择共识节点:稳定值为所有节点前50%的节点,假设共识节点为B、C、D、E。
Step3.选择记账节点:剩余节点稳定值不高,为记账节点,假设为F、G、H、I。
Step4.主节点生成预备块:所有节点A、B、C、D、E、F、G、H、I把需投票内容广播给主节点A,主节点A把需要投票的内容写入预备块。
Step5.主节点把预备块广播给共识节点:主节点A把打包好的预备块广播给共识节点B、C、D、E,统一投票内容。
Step6.共识节点投票:共识节点B、C、D、E把对接收到的预备块中需投票的内容进行投票,并广播给主节点A。
Step7.主节点统计投票结果:主节点A统计共识节点B、C、D、E的投票结果,如果有超过2/3的共识节点通过,则此条内容可写入区块,并把投票结果广播给所有节点A、B、C、D、E、F、G、H、I。
Step8.主节点广播写入区块内容:主节点A广播给所有节点A、B、C、D、E、F、G、H、I写入区块的内容,并生成区块。
Step9.节点生成区块:所有节点A、B、C、D、E、F、G、H、I接收到生成区块内容,达成共识,生成区块并广播,确认生成区块是否正确有效。
如附表1所示,一种基于实用拜占庭容错算法改进的共识方法,选取一部分稳定值高的节点作为主节点和共识节点,大大提高了共识的安全性和效率,降低了公式过程中的资源消耗。在每轮共识之后,动态的对节点行为判断进行奖惩,有效提高了节点参与共识的积极性。
表1:对比原算法的效率分析
实施例2:如图2所示,一种基于实用拜占庭容错算法改进的共识方法,所述方法的具体步骤如下:
稳定值奖惩:所有节点初始稳定值为3,最高为10,最低为0,为防止中心化,在某一节点稳定值累计到10时,下一轮则稳定值大于3的所有节点恢复初始值3。若在某轮共识过程中,节点掉线、对恶意内容投通过票、没有记录正常区块或记录异常区块,则视为异常节点;若在本轮共识过程中节点正常进行共识,则视为正常节点。正常的节点奖励稳定值1,异常的节点减少其稳定值3。
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (1)
1.一种基于PBFT改进的共识方法,其特征在于,包含以下步骤:
共识方法的角色包括:主节点、共识节点、记账节点;
所述主节点主要负责统计需要其他节点发送的投票内容放入预备块中,然后广播给共识节点,统计共识节点的投票结果并广播给所有节点,广播共识节点投票通过的内容写入区块,共识节点负责接收主节点广播的投票内容,并对其投票发送给主节点,然后将有效信息写入正式区块,记账节点由于其稳定性不高,主要通过正确记账来获得收益和稳定值;
所述共识方法生成区块的步骤如下:
Step1、选择主节点:稳定值在所有节点前20%的节点中随机选择,主节点= random{稳定值前20%的节点};
Step2、选择共识节点:稳定值在所有节点前50%的节点中随机选择,共识节点= random{稳定值前50%的节点};
Step3、选择记账节点:剩余节点稳定值不高,为记账节点;
Step4、主节点生成预备块:所有节点把需投票内容广播给主节点,主节点把需要投票的内容写入预备块;
Step5、主节点把预备块广播给共识节点:主节点把打包好的预备块广播给共识节点,统一投票内容;
Step6、共识节点投票:共识节点把对接收到的预备块中需投票的内容进行投票,并广播给主节点;
Step7、主节点统计投票结果:主节点统计共识节点的投票结果,如果有超过2/3的共识节点通过,则此条内容可写入区块,并把投票结果广播给所有节点;
Step8、主节点广播写入区块内容:主节点广播给所有节点写入区块的内容,并生成区块;
Step9、节点生成区块:所有节点接收到生成区块内容,达成共识,生成区块并广播,确认生成区块是否正确有效;
Step10、稳定值奖惩:若在本轮共识过程中,节点掉线、对恶意内容投通过票、没有记录正常区块或记录异常区块,则视为异常节点;若在本轮共识过程中节点正常进行共识,则视为正常节点,正常的节点奖励稳定值1,异常的节点减少稳定值3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910783616.3A CN110505091B (zh) | 2019-08-23 | 2019-08-23 | 一种基于pbft改进的共识方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910783616.3A CN110505091B (zh) | 2019-08-23 | 2019-08-23 | 一种基于pbft改进的共识方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110505091A true CN110505091A (zh) | 2019-11-26 |
CN110505091B CN110505091B (zh) | 2021-09-10 |
Family
ID=68589107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910783616.3A Active CN110505091B (zh) | 2019-08-23 | 2019-08-23 | 一种基于pbft改进的共识方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110505091B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111106942A (zh) * | 2019-12-13 | 2020-05-05 | 南京邮电大学 | 一种基于ap-pbft算法的区块链信用机制 |
CN111368008A (zh) * | 2020-05-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN111770103A (zh) * | 2020-06-30 | 2020-10-13 | 中国科学技术大学 | 基于区块链共识结果反馈的网络节点安全属性评估方法 |
CN112953733A (zh) * | 2021-03-16 | 2021-06-11 | 昆明理工大学 | 一种数据治理的区块链通信资源整合共识方法 |
CN113079139A (zh) * | 2021-03-23 | 2021-07-06 | 中国工商银行股份有限公司 | 基于区块链的共识组主节点确定方法、装置及系统 |
CN113992398A (zh) * | 2021-10-26 | 2022-01-28 | 湖南大学 | 一种改进的pbft共识算法 |
CN114338053A (zh) * | 2022-03-16 | 2022-04-12 | 成都信息工程大学 | 一种动态的基于信誉的区块链共识方法和系统 |
CN114979167A (zh) * | 2022-01-10 | 2022-08-30 | 昆明理工大学 | 一种兼顾存储优化的共识系统、方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018232494A1 (en) * | 2017-06-23 | 2018-12-27 | Zeu Crypto Networks Inc. | BLOCK CHAIN NETWORK FOR CONDUCTING CHAIN TRANSACTIONS |
CN109347804A (zh) * | 2018-09-19 | 2019-02-15 | 电子科技大学 | 一种用于区块链的拜占庭容错共识优化方法 |
CN109639837A (zh) * | 2019-01-31 | 2019-04-16 | 东南大学 | 基于信任机制的区块链DPoS共识方法 |
CN109819022A (zh) * | 2019-01-11 | 2019-05-28 | 华侨大学 | 一种基于信用评价的区块链共识方法 |
CN109859047A (zh) * | 2019-01-31 | 2019-06-07 | 北京瑞卓喜投科技发展有限公司 | 一种区块链更新方法和区块链更新系统 |
CN109964242A (zh) * | 2018-05-25 | 2019-07-02 | 北京大学深圳研究生院 | 一种基于信任关系的区块链共识方法 |
-
2019
- 2019-08-23 CN CN201910783616.3A patent/CN110505091B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018232494A1 (en) * | 2017-06-23 | 2018-12-27 | Zeu Crypto Networks Inc. | BLOCK CHAIN NETWORK FOR CONDUCTING CHAIN TRANSACTIONS |
CN109964242A (zh) * | 2018-05-25 | 2019-07-02 | 北京大学深圳研究生院 | 一种基于信任关系的区块链共识方法 |
CN109347804A (zh) * | 2018-09-19 | 2019-02-15 | 电子科技大学 | 一种用于区块链的拜占庭容错共识优化方法 |
CN109819022A (zh) * | 2019-01-11 | 2019-05-28 | 华侨大学 | 一种基于信用评价的区块链共识方法 |
CN109639837A (zh) * | 2019-01-31 | 2019-04-16 | 东南大学 | 基于信任机制的区块链DPoS共识方法 |
CN109859047A (zh) * | 2019-01-31 | 2019-06-07 | 北京瑞卓喜投科技发展有限公司 | 一种区块链更新方法和区块链更新系统 |
Non-Patent Citations (1)
Title |
---|
刘肖飞: "基于动态授权的拜占庭容错共识算法的区块链性能改进研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111106942A (zh) * | 2019-12-13 | 2020-05-05 | 南京邮电大学 | 一种基于ap-pbft算法的区块链信用机制 |
CN111106942B (zh) * | 2019-12-13 | 2023-07-11 | 南京邮电大学 | 一种基于ap-pbft算法的区块链信用过程方法 |
CN111368008A (zh) * | 2020-05-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN111368008B (zh) * | 2020-05-27 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
US11914579B2 (en) | 2020-05-27 | 2024-02-27 | Tencent Technology (Shenzhen) Company Limited | Blockchain-based data processing method and apparatus, device, and readable storage medium |
CN111770103A (zh) * | 2020-06-30 | 2020-10-13 | 中国科学技术大学 | 基于区块链共识结果反馈的网络节点安全属性评估方法 |
CN111770103B (zh) * | 2020-06-30 | 2021-12-14 | 中国科学技术大学 | 基于区块链共识结果反馈的网络节点安全属性评估方法 |
CN112953733A (zh) * | 2021-03-16 | 2021-06-11 | 昆明理工大学 | 一种数据治理的区块链通信资源整合共识方法 |
CN113079139A (zh) * | 2021-03-23 | 2021-07-06 | 中国工商银行股份有限公司 | 基于区块链的共识组主节点确定方法、装置及系统 |
CN113992398A (zh) * | 2021-10-26 | 2022-01-28 | 湖南大学 | 一种改进的pbft共识算法 |
CN114979167A (zh) * | 2022-01-10 | 2022-08-30 | 昆明理工大学 | 一种兼顾存储优化的共识系统、方法及装置 |
CN114338053A (zh) * | 2022-03-16 | 2022-04-12 | 成都信息工程大学 | 一种动态的基于信誉的区块链共识方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110505091B (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110505091A (zh) | 一种基于pbft改进的共识方法 | |
CN111131181B (zh) | 一种基于信誉机制和DPBFT算法的区块链动态DPoS共识方法 | |
CN108737375B (zh) | 一种区块链共识方法及系统 | |
CN109639837B (zh) | 基于信任机制的区块链DPoS共识方法 | |
CN110796547A (zh) | 一种基于联盟区块链的改进的实用拜占庭容错系统 | |
Hernández et al. | The electoral consequences of the financial and economic crisis in Europe | |
CN108122165A (zh) | 一种区块链共识方法及系统 | |
CN109951474B (zh) | 一种实现区块链共识出块的方法 | |
CN111026578B (zh) | 一种基于预言机的智能合约安全检测方法 | |
CN111010278B (zh) | 一种基于DPoS高容错分层共识方法 | |
CN106445711A (zh) | 一种应用于区块链的拜占庭容错共识方法 | |
CN111311414A (zh) | 一种基于一致性哈希算法的区块链多方共识方法 | |
CN107578336A (zh) | 基于动态股权的区块链记账方法 | |
CN112804101B (zh) | 一种基于投票与信用机制的主从多链跨链方法及系统 | |
CN113570357B (zh) | 一种动态分层的高效pbft算法 | |
CN111372220B (zh) | 一种应用于车联网的区块链共识方法 | |
CN109547211A (zh) | 应用数字签名技术的分级并发拜占庭共识方法及系统 | |
CN110855475B (zh) | 一种基于区块链的共识资源切片方法 | |
CN109919760A (zh) | 基于投票机制的拜占庭容错共识算法 | |
Fooladgar et al. | On incentive compatible role-based reward distribution in algorand | |
DE112017007877T5 (de) | Steuerung und Steuerungssystem | |
CN108648076B (zh) | 一种选举共识节点及生成节点信息表格的方法及系统 | |
CN111563278B (zh) | 一种改进的股权授权证明方法 | |
CN106407637B (zh) | 游戏数据管理方法和系统 | |
CN104715390A (zh) | 用于网络应用的数据处理方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |