CN109347804A - 一种用于区块链的拜占庭容错共识优化方法 - Google Patents
一种用于区块链的拜占庭容错共识优化方法 Download PDFInfo
- Publication number
- CN109347804A CN109347804A CN201811094708.2A CN201811094708A CN109347804A CN 109347804 A CN109347804 A CN 109347804A CN 201811094708 A CN201811094708 A CN 201811094708A CN 109347804 A CN109347804 A CN 109347804A
- Authority
- CN
- China
- Prior art keywords
- common recognition
- node
- message
- prepare
- verifying
- 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
Classifications
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C13/00—Voting apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种用于区块链的拜占庭容错共识优化方法,包括如下步骤:S1、进行投票权值表初始化;S2、处理交易;S3、选举主节点;S4、验证REQUEST消息;S5、广播PRE‑PREPARE消息;S6、验证PRE‑PREPARE消息;S7、进行投票;S8、广播含有投票值的PREPARE消息;S9、将消息和投票数记录到本地日志中;S10、将投票值进行加权求和,并进行非线性处理;S11、广播COMMIT消息;S12、验证COMMIT消息;S13、将当前区块写入本地账本,并对客户端进行答复;本发明解决了现有技术存在的应用场景受限、安全性低以及需要消耗大量的通信资源并且系统资源消耗大的问题。
Description
技术领域
本发明属于网络通信技术领域,具体涉及一种用于区块链的拜占庭容错共识优化方法。
背景技术
2008年中本聪发表了一篇名为《比特币:一种点对点式的电子现金系统》的文章,宣布了比特币的诞生,其中的关键技术,区块链开始逐渐引起大家的关注。区块链是一项分布式账本技术,数据存储在一系列的区块中,区块根据时间戳连接起来,利用密码学的方式保证数据传输和访问的安全,利用自动化脚本代码形成的智能合约来进行事务。区块链的发展将颠覆传统网络服务形式,使完全的去中心化系统服务成为可能。
区块链技术生态中,共识算法是最为关键的一部分。共识是保证互不可信节点之间达成一致性的算法,当各分布式节点的本地账本信息保持一致,分布式系统才能够正常工作。但由于CAP理论,一个分布式系统最多只能同时满足一致性、可用性和分区容错性这三项中的两项。而对于分布式系统,分区容错性不可舍弃,因此只能在分布式一致性和可用性之间进行取舍,很多情况下需要放弃强一致性,取而代之的使用最终一致性。由此产生了应用场景不同,性能各异的多种共识算法。
现有技术的区块链系统中最广为人知的共识算法是比特币中所使用的工作量证明(POW),矿工通过解决数学难题生成区块来记账,全网节点进行对该区块进行验证来写入本地账本。POW从经济学的角度实现了共识,矿工生成区块会得到比特币奖励,而破坏这样的区块链系统则需要大于50%的算力。但工作量证明的缺点在于挖矿需要消耗大量的电力,并且当前挖一个区块的时间大约在十分钟,需要六个区块的确认才能保证交易生效,交易的确认时间过长使得该共识算法的应用场景受限,全网算力的集中也将影响POW系统的安全性。
为了解决POW性能差的问题,比特币系统采用了闪电网络技术。闪电网络的原理是在用户之间预开通一个付款通道,并将通道的开放记录到区块链上,之后用户可以通过该通道进行任意次数的交易,最后再把通道上交易的最终状态写入区块链。这样的支付通道使得双方交易在链下进行,交易以闪电般的速度运行。闪电网络弥补了比特币使用POW的性能问题,但在技术上可能形成中心化交易枢纽,带来安全风险。
现有技术的PBFT共识算法可以在容忍三分之一的拜占庭节点作恶情况下达成共识,拜占庭节点指的是可以产生任意作恶行为的节点。PBFT使得BFT算法的运行时间从指数级别降到多项式级别。PBFT是一种状态机副本复制算法,本质上是利用通信来换取节点间的信任,该算法为了保证容错性与一致性,需要进行两轮的全网节点点对点通信。该算法适用于保证共识节点能够彼此通信的联盟链与私有链当中。
综上所述,现有技术存在以下问题:
(1)现有技术的交易的确认时间过长使得该共识算法的应用场景受限,并且全网算力的集中也将影响系统的安全性;
(2)现有技术的性能受到节点规模的影响,在大量共识节点的环境下,无法保证共识效率,并且存在拜占庭节点对系统的危害大;
(3)现有技术需要消耗大量的通信资源,一次共识过程需要20(n2)次的点对点通信,共识对系统资源消耗大,同时整体共识效率依赖于共识节点的性能。
发明内容
针对现有技术中的上述不足,本发明提供的一种适用于多应用场景的优化性好、安全性高以及可扩展性好的用于区块链的拜占庭容错共识优化方法,解决了现有技术存在的应用场景受限、安全性低以及需要消耗大量的通信资源并且系统资源消耗大的问题。
为了达到上述发明目的,本发明采用的技术方案为:
一种用于区块链的拜占庭容错共识优化方法,包括如下步骤:
S1:进行投票权值表初始化,即对共识域的每个共识节点赋予对应的投票权值表,并初始化投票权值;
S2:使用客户端将需要共识的交易进行处理,生成REQUEST消息,并发送给共识域,进行共识操作;
S3:进入REQUEST阶段,使用共识域接收REQUEST消息,并根据共识节点的身份权限值,进行主节点选举;
S4:使用主节点对REQUEST消息进行验证,判断验证是否通过,若是则生成PRE-PREPARE消息,并进入步骤S5,否则继续执行步骤S4;
S5:进入PRE-PREPARE阶段,使用主节点将生成的PRE-PREPARE消息进行共识域内的全网广播,并将消息发送给除当前主节点外的所有共识节点;
S6:进入PREPARE阶段,使用共识节点接收PRE-PREPARE消息,并对PRE-PREPARE消息进行验证,判断验证是否通过,若是则进入步骤S7,否则更新当前权值,并继续执行步骤S6;
S7:使用当前节点对PRE-PREPARE消息进行一次投票,得到投票值,生成PREPARE消息,并将投票值打包进PREPARE消息;
S8:使用共识节点将投票权值表按照身份权限值进行降序排序,选择身份权限值最大的共识域内80%的共识节点广播PREPARE消息;
S9:进入COMMIT阶段,使用步骤S8中的共识域内的共识节点接收PREPARE消息,将消息和投票数记录到本地日志中,并对PREPARE消息进行验证,判断是否验证通过,若是则进入步骤S10,否则继续执行步骤S9;
S10:将当前共识节点的投票权值表与接收到的PREPARE消息中的投票值进行加权求和,并将得到的结果进行非线性处理,得到非线性处理后结果;
S11:判断非线性处理后结果是否符合判定要求,若是则生成COMMIT消息并对全网内权限值最大的80%的共识节点进行广播,并根据更新准则,进行共识节点投票权值表的更新操作,进入步骤S12,否则返回步骤S10;
S12:进入REPLY阶段,使用上述全网内的共识节点接收COMMIT消息,并对COMMIT消息进行验证,判断是否验证通过,若是则进入步骤S13,否则继续执行步骤S12;
S13:将COMMIT消息验证通过的当前区块写入本地账本,并对客户端进行答复,实现拜占庭容错共识优化。
进一步地,步骤S4中,对REQUEST消息进行验证,包括:
验证客户端的签名是否正确;
验证相关账本操作是否合法;
依次进行以上验证步骤,若全部通过,则输出验证通过,否则输出验证不通过。
进一步地,步骤S6中,对PRE-PREPARE消息进行验证,包括:
检查PRE-PREPARE消息签名是否正确,消息摘要签名是否正确;
判定当前节点的视图是否为PRE-PREPARE消息中对应的视图;
检查是否收到过相同的对应的视图和序列号;
判断序列号是否符合规定;
依次进行以上验证步骤,若全部通过,则输出验证通过,否则输出验证不通过。
进一步地,步骤S9和步骤S12中,进行消息的验证,包括:
检查当前消息签名是否正确,消息摘要签名是否正确;
判定当前节点的视图是否为当前消息中对应的视图;
检查是否收到过相同的对应的视图和序列号;
验证节点对该事件的投票值是否符合要求;
依次进行以上验证步骤,若全部通过,则输出验证通过,否则输出验证不通过。
进一步地,步骤S10中,非线性处理函数的计算公式为:
式中,y为非线性处理函数;d为判定界限;x为横坐标。
进一步地,判定界限的计算公式为:
式中,d为判定界限;AVEq为系统初始化投票权值表中的平均权值;N为共识节点总数。
进一步地,步骤S11中,判定要求为拜占庭算法判定门限;
将非线性处理后结果归一化至[0,1]之间,若结果大于0.5,则表示满足判定要求,反之则不满足。
进一步地,步骤S11中,更新准则,包括:
若共识节点的投票值与最终通过的一致性结果不相同,则判定该共识节点为拜占庭节点,降低对该共识节点的投票权限值,同时将该共识节点减少的权限值加到行为良好的共识节点身上;
若当前共识节点没有接收到另一共识节点的投票消息,则当前共识节点与另一共识节点的通信不流畅,降低当前共识节点的投票权值表值。
本方案的有益效果为:
(1)优化性:本发明通过减少共识过程中的多余通信,降低系统损耗,同时能够排除故障节点,优化系统组成结构;
(2)安全性:本发明在投票共识的过程中利用了节点的投票行为检测,动态更改节点投票权值,降低拜占庭节点对系统的危害;
(3)可扩展性:本发明所提出的共识优化方法支持节点的动态加入与退出,节点退出共识网络不需要进行任何多余操作,随着共识的进行,退出的节点在共识域内的投票权值不断降低直至该节点不接收任何消息,并且该退出节点的消息被其他节点拒收,节点的加入过程通过在区块链网络中发起一次事务来处理。共识网络中的节点将新加入的节点添加入投票权值表,利用系统赋予的初值,新加入的节点在下一轮正常参与共识。
附图说明
图1为用于区块链的拜占庭容错共识优化方法步骤S1到S7流程图;
图2为用于区块链的拜占庭容错共识优化方法步骤S8到S13流程图;
图3为通信对比图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
一种用于区块链的拜占庭容错共识优化方法,如图1和图2共同所示,包括如下步骤:
S1:进行投票权值表初始化,即对共识域的每个共识节点赋予对应的投票权值表Weighti,投票权值表包括所有节点的权值信息,并初始化身份权限值value[j],体现节点对系统的贡献程度,初始化节点投票权值的公式为:
Weighti[j]=value[j],i,j∈1,2,...,N
式中,Weighti[j]为节点j的投票权值表;value[j]为节点j的身份权限值;N为共识节点总数;
S2:使用客户端将需要共识的交易进行处理,生成REQUEST消息,并发送给共识域,进行共识操作;
S3:进入REQUEST阶段,使用共识域接收REQUEST消息,并根据共识节点的身份权限值,进行主节点选举,选举过程对共识域内各节点的权值表的最大值进行统计,出现次数最多的节点作为主节点,使主节点在共识域拥有最高的信任值,并且身份权限值越大的共识节点,其作恶的概率就越低,降低了主节点出错的概率,提高系统性能;
S4:使用主节点对REQUEST消息进行验证,判断验证是否通过,若是则生成PRE-PREPARE消息,并进入步骤S5,否则继续执行步骤S4;
S5:进入PRE-PREPARE阶段,使用主节点将生成的PRE-PREPARE消息进行共识域内的全网广播,并将消息发送给除当前主节点外的所有共识节点;
S6:进入PREPARE阶段,使用共识节点接收PRE-PREPARE消息,并对PRE-PREPARE消息进行验证,判断验证是否通过,若是则进入步骤S7,否则更新当前权值,并继续执行步骤S6;
S7:使用当前节点对PRE-PREPARE消息进行一次投票,得到投票值,生成PREPARE消息,并将投票值打包进PREPARE消息;
S8:使用共识节点将投票权值表按照身份权限值进行降序排序,选择身份权限值最大的共识域内80%的共识节点广播PREPARE消息,共识过程仅需要在各自的可信广播域内进行广播,减少共识系统的通信损耗,优化了共识性能,通信对比图如图3所示,其中图3(a)为现有方法节点通信图,图3(b)为本发明方法节点通信图;
S9:进入COMMIT阶段,使用步骤S8中的共识域内的共识节点接收PREPARE消息,将消息和投票数记录到本地日志中,并对PREPARE消息进行验证,判断是否验证通过,若是则进入步骤S10,否则继续执行步骤S9;
S10:将当前共识节点的投票权值表与接收到的PREPARE消息中的投票值进行加权求和,并将得到的结果进行非线性处理,得到非线性处理后结果;
非线性处理函数的计算公式为:
式中,y为非线性处理函数;d为判定界限;x为横坐标;
判定界限的计算公式为:
式中,d为判定界限;AVEq为系统初始化投票权值表中的平均权值;N为共识节点总数;
S11:判断非线性处理后结果是否符合判定要求;
判定要求为拜占庭算法判定门限;
将非线性处理后结果归一化至[0,1]之间,若结果大于0.5,则表示满足判定要求,反之则不满足;
若是则生成COMMIT消息并对全网内权限值最大的80%的共识节点进行广播,并根据更新准则,进行共识节点投票权值表的更新操作,即更新投票权值表中所有节点的权值,进入步骤S12,否则返回步骤S10;
S12:进入REPLY阶段,使用上述全网内的共识节点接收COMMIT消息,并对COMMIT消息进行验证,判断是否验证通过,若是则进入步骤S13,否则继续执行步骤S12;
S13:将COMMIT消息验证通过的当前区块写入本地账本,并对客户端进行答复,实现拜占庭容错共识优化。
本实施例中,步骤S4中,对REQUEST消息进行验证,包括:
验证客户端的签名是否正确;
验证相关账本操作是否合法;
依次进行以上验证步骤,若全部通过,则输出验证通过,否则输出验证不通过。
本实施例中,步骤S6中,对PRE-PREPARE消息进行验证,包括:
检查PRE-PREPARE消息签名是否正确,消息摘要签名是否正确;
判定当前节点的视图是否为PRE-PREPARE消息中对应的视图;
检查是否收到过相同的对应的视图和序列号;
判断序列号是否符合规定;
依次进行以上验证步骤,若全部通过,则输出验证通过,否则输出验证不通过。
本实施例中,步骤S9和步骤S12中,进行消息的验证,包括:
检查当前消息签名是否正确,消息摘要签名是否正确;
判定当前节点的视图是否为当前消息中对应的视图;
检查是否收到过相同的对应的视图和序列号;
验证节点对该事件的投票值是否符合要求vote∈[0,1];
依次进行以上验证步骤,若全部通过,则输出验证通过,否则输出验证不通过。
本实施例中,步骤S11中,更新准则,包括:
若共识节点的投票值与最终通过的一致性结果不相同,则判定该共识节点为拜占庭节点,降低对该共识节点的投票权限值,同时将该共识节点减少的权限值加到行为良好的共识节点身上,维持系统的稳定性,节点投票权值的降低和节点投票值相关,当节点对共识达成的破坏越大,投票权限值降低越多;
若当前共识节点没有接收到另一共识节点的投票消息,则当前共识节点与另一共识节点的通信不流畅,由共识节点通信性能或地理距离导致,降低当前共识节点的投票权值表值。
本发明提供的优化性好、安全性高以及可扩展性好的动态权限调整的拜占庭容错共识优化方法,减少了共识过程中的通信损耗,提高共识效率,同时该方法可用于节点拥有不同投票权限的复杂环境,适用于更多的应用场景,根据节点的投票行为和通信能力动态更新节点的投票权限,这个过程由系统自动完成,不需要人为干预。由于投票权限反映出节点的通信性能,使用该共识优化方法的系统会不断优化共识域内的节点设备的通信效率,将性能差的共识节点边缘化,提高共识系统的整体性能,解决了现有技术存在的应用场景受限、安全性低以及需要消耗大量的通信资源并且系统资源消耗大的问题。
Claims (8)
1.一种用于区块链的拜占庭容错共识优化方法,其特征在于,包括如下步骤:
S1:进行投票权值表初始化,即对共识域的每个共识节点赋予对应的投票权值表,并初始化投票权值;
S2:使用客户端将需要共识的交易进行处理,生成REQUEST消息,并发送给共识域,进行共识操作;
S3:进入REQUEST阶段,使用共识域接收REQUEST消息,并根据共识节点的身份权限值,进行主节点选举;
S4:使用主节点对REQUEST消息进行验证,判断验证是否通过,若是则生成PRE-PREPARE消息,并进入步骤S5,否则继续执行步骤S4;
S5:进入PRE-PREPARE阶段,使用主节点将生成的PRE-PREPARE消息进行共识域内的全网广播,并将消息发送给除当前主节点外的所有共识节点;
S6:进入PREPARE阶段,使用共识节点接收PRE-PREPARE消息,并对PRE-PREPARE消息进行验证,判断验证是否通过,若是则进入步骤S7,否则更新当前权值,并继续执行步骤S6;
S7:使用当前节点对PRE-PREPARE消息进行一次投票,得到投票值,生成PREPARE消息,并将投票值打包进PREPARE消息;
S8:使用共识节点将投票权值表按照身份权限值进行降序排序,选择身份权限值最大的共识域内80%的共识节点广播PREPARE消息;
S9:进入COMMIT阶段,使用步骤S8中的共识域内的共识节点接收PREPARE消息,将消息和投票数记录到本地日志中,并对PREPARE消息进行验证,判断是否验证通过,若是则进入步骤S10,否则继续执行步骤S9;
S10:将当前共识节点的投票权值表与接收到的PREPARE消息中的投票值进行加权求和,并将得到的结果进行非线性处理,得到非线性处理后结果;
S11:判断非线性处理后结果是否符合判定要求,若是则生成COMMIT消息并对全网内权限值最大的80%的共识节点进行广播,并根据更新准则,进行共识节点投票权值表的更新操作,进入步骤S12,否则返回步骤S10;
S12:进入REPLY阶段,使用上述全网内的共识节点接收COMMIT消息,并对COMMIT消息进行验证,判断是否验证通过,若是则进入步骤S13,否则继续执行步骤S12;
S13:将COMMIT消息验证通过的当前区块写入本地账本,并对客户端进行答复,实现拜占庭容错共识优化。
2.根据权利要求1所述的用于区块链的拜占庭容错共识优化方法,其特征在于,所述步骤S4中,对REQUEST消息进行验证,包括:
验证客户端的签名是否正确;
验证相关账本操作是否合法;
依次进行以上验证步骤,若全部通过,则输出验证通过,否则输出验证不通过。
3.根据权利要求1所述的用于区块链的拜占庭容错共识优化方法,其特征在于,所述步骤S6中,对PRE-PREPARE消息进行验证,包括:
检查PRE-PREPARE消息签名是否正确,消息摘要签名是否正确;
判定当前节点的视图是否为PRE-PREPARE消息中对应的视图;
检查是否收到过相同的对应的视图和序列号;
判断序列号是否符合规定;
依次进行以上验证步骤,若全部通过,则输出验证通过,否则输出验证不通过。
4.根据权利要求1所述的用于区块链的拜占庭容错共识优化方法,其特征在于,所述步骤S9和步骤S12中,进行消息的验证,包括:
检查当前消息签名是否正确,消息摘要签名是否正确;
判定当前节点的视图是否为当前消息中对应的视图;
检查是否收到过相同的对应的视图和序列号;
验证节点对该事件的投票值是否符合要求;
依次进行以上验证步骤,若全部通过,则输出验证通过,否则输出验证不通过。
5.根据权利要求1所述的用于区块链的拜占庭容错共识优化方法,其特征在于,所述步骤S10中,非线性处理函数的计算公式为:
式中,y为非线性处理函数;d为判定界限;x为横坐标。
6.根据权利要求5所述的用于区块链的拜占庭容错共识优化方法,其特征在于,所述判定界限的计算公式为:
式中,d为判定界限;AVEq为系统初始化投票权值表中的平均权值;N为共识节点总数。
7.根据权利要求1所述的用于区块链的拜占庭容错共识优化方法,其特征在于,所述步骤S11中,判定要求为拜占庭算法判定门限;
将非线性处理后结果归一化至[0,1]之间,若结果大于0.5,则表示满足判定要求,反之则不满足。
8.根据权利要求1所述的用于区块链的拜占庭容错共识优化方法,其特征在于,所述步骤S11中,更新准则,包括:
若共识节点的投票值与最终通过的一致性结果不相同,则判定该共识节点为拜占庭节点,降低对该共识节点的投票权限值,同时将该共识节点减少的权限值加到行为良好的共识节点身上;
若当前共识节点没有接收到另一共识节点的投票消息,则当前共识节点与另一共识节点的通信不流畅,降低当前共识节点的投票权值表值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811094708.2A CN109347804B (zh) | 2018-09-19 | 2018-09-19 | 一种用于区块链的拜占庭容错共识优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811094708.2A CN109347804B (zh) | 2018-09-19 | 2018-09-19 | 一种用于区块链的拜占庭容错共识优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109347804A true CN109347804A (zh) | 2019-02-15 |
CN109347804B CN109347804B (zh) | 2020-02-07 |
Family
ID=65306070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811094708.2A Active CN109347804B (zh) | 2018-09-19 | 2018-09-19 | 一种用于区块链的拜占庭容错共识优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109347804B (zh) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019101244A3 (en) * | 2019-03-18 | 2019-09-12 | Alibaba Group Holding Limited | Consensus system downtime recovery |
CN110309672A (zh) * | 2019-07-01 | 2019-10-08 | 北京理工大学 | 一种基于区块链的隐私保护的可控数据管理方法 |
CN110336707A (zh) * | 2019-08-07 | 2019-10-15 | 卓尔智联(武汉)研究院有限公司 | 区块链共识装置、方法及计算机可读存储介质 |
CN110460484A (zh) * | 2019-10-10 | 2019-11-15 | 杭州趣链科技有限公司 | 一种基于pbft算法改进的单节点异常主动恢复方法 |
CN110505091A (zh) * | 2019-08-23 | 2019-11-26 | 昆明理工大学 | 一种基于pbft改进的共识方法 |
CN110572281A (zh) * | 2019-08-23 | 2019-12-13 | 华南理工大学 | 一种基于区块链的可信日志记录方法及系统 |
CN110659901A (zh) * | 2019-09-03 | 2020-01-07 | 北京航空航天大学 | 基于博弈模型的区块链复杂事务验证方法及装置 |
CN110677485A (zh) * | 2019-09-30 | 2020-01-10 | 大连理工大学 | 一种基于信用的动态分层拜占庭容错共识方法 |
CN110796547A (zh) * | 2019-10-30 | 2020-02-14 | 桂林电子科技大学 | 一种基于联盟区块链的改进的实用拜占庭容错系统 |
CN111082924A (zh) * | 2019-11-29 | 2020-04-28 | 杰创智能科技股份有限公司 | 一种基于工作量证明的选举型拜占庭容错共识算法 |
CN111106942A (zh) * | 2019-12-13 | 2020-05-05 | 南京邮电大学 | 一种基于ap-pbft算法的区块链信用机制 |
CN111163084A (zh) * | 2019-12-27 | 2020-05-15 | 清创网御(合肥)科技有限公司 | 一种基于动态选举和共识机制的安全存储算法 |
CN111198895A (zh) * | 2020-02-18 | 2020-05-26 | 夏南南 | 一种区块链更新方法 |
CN111324672A (zh) * | 2020-03-25 | 2020-06-23 | 中国工商银行股份有限公司 | 区块链安全处理系统及方法 |
CN111461793A (zh) * | 2020-04-27 | 2020-07-28 | 吉林省桥王智能科技有限公司 | 基于活跃度概率选择的积分链共识方法 |
CN111629022A (zh) * | 2020-03-20 | 2020-09-04 | 恒宝股份有限公司 | 实用性拜占庭容错的节点设置方法 |
CN111682942A (zh) * | 2020-05-18 | 2020-09-18 | 哈尔滨工业大学 | 一种应用于许可链的二元加权拜占庭容错共识方法 |
CN111696245A (zh) * | 2020-06-30 | 2020-09-22 | 郭平波 | 一种基于p2p网络的投票方法 |
CN111711711A (zh) * | 2020-05-28 | 2020-09-25 | 北京邮电大学 | 基于区块链的顶级域名管理和解析方法及系统 |
CN111818118A (zh) * | 2020-01-19 | 2020-10-23 | 重庆科技学院 | 一种基于ciwn-ii的互联网交易平台不确定性评价滤波系统 |
CN112118321A (zh) * | 2020-09-24 | 2020-12-22 | 北京工业大学 | 一种工业区块链的实用拜占庭容错共识机制优化系统 |
US10922195B2 (en) | 2019-03-18 | 2021-02-16 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
US10938750B2 (en) | 2019-03-18 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
CN112597241A (zh) * | 2020-12-10 | 2021-04-02 | 浙江大学 | 一种基于区块链的分布式数据库存储方法及系统 |
WO2021082824A1 (zh) * | 2019-10-28 | 2021-05-06 | 腾讯科技(深圳)有限公司 | 数据处理方法、设备及计算机可读存储介质 |
CN112953733A (zh) * | 2021-03-16 | 2021-06-11 | 昆明理工大学 | 一种数据治理的区块链通信资源整合共识方法 |
CN113065141A (zh) * | 2020-12-28 | 2021-07-02 | 上海能链众合科技有限公司 | 一种区块链的持续的门限群更新方法 |
CN113283892A (zh) * | 2021-05-26 | 2021-08-20 | 北京航空航天大学 | 一种基于投票机制的PoSearch与PBFT融合共识算法 |
CN113794576A (zh) * | 2021-08-12 | 2021-12-14 | 山东区块链研究院 | 一种可再投票的二元共识方法及装置 |
CN114205092A (zh) * | 2021-12-01 | 2022-03-18 | 浙江大学 | 一种乐观的不需要回退的拜占庭容错共识方法 |
CN114258015A (zh) * | 2021-12-23 | 2022-03-29 | 成都三零瑞通移动通信有限公司 | 一种基于全网共识的集群终端防失控方法及系统 |
CN115412263A (zh) * | 2022-09-06 | 2022-11-29 | 西南交通大学 | 一种基于双重盲化的拜占庭容错共识方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445711A (zh) * | 2016-08-28 | 2017-02-22 | 杭州云象网络技术有限公司 | 一种应用于区块链的拜占庭容错共识方法 |
CN106878071A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种基于Raft算法的区块链共识机制 |
CN107103480A (zh) * | 2017-05-18 | 2017-08-29 | 电子科技大学 | 基于主权区块链的供应链管理方法 |
CN107579848A (zh) * | 2017-08-30 | 2018-01-12 | 上海保险交易所股份有限公司 | 实用拜占庭容错共识机制中动态更改共识节点的方法 |
CN108182635A (zh) * | 2017-12-18 | 2018-06-19 | 深圳前海微众银行股份有限公司 | 区块链共识方法、系统和计算机可读存储介质 |
EP3355217A1 (en) * | 2017-01-27 | 2018-08-01 | Accenture Global Solutions Limited | Hardware blockchain acceleration |
-
2018
- 2018-09-19 CN CN201811094708.2A patent/CN109347804B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445711A (zh) * | 2016-08-28 | 2017-02-22 | 杭州云象网络技术有限公司 | 一种应用于区块链的拜占庭容错共识方法 |
CN106878071A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种基于Raft算法的区块链共识机制 |
EP3355217A1 (en) * | 2017-01-27 | 2018-08-01 | Accenture Global Solutions Limited | Hardware blockchain acceleration |
CN107103480A (zh) * | 2017-05-18 | 2017-08-29 | 电子科技大学 | 基于主权区块链的供应链管理方法 |
CN107579848A (zh) * | 2017-08-30 | 2018-01-12 | 上海保险交易所股份有限公司 | 实用拜占庭容错共识机制中动态更改共识节点的方法 |
CN108182635A (zh) * | 2017-12-18 | 2018-06-19 | 深圳前海微众银行股份有限公司 | 区块链共识方法、系统和计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
HARISH SUKHWANI1, JOS´E M. MART´INEZ1,XIAOLIN CHANG2: "Performance Modeling of PBFT Consensus Process for", 《2017 IEEE 36TH SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS》 * |
刘肖飞: "基于动态授权的拜占庭容错共识算法的区块链性能改进研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10922195B2 (en) | 2019-03-18 | 2021-02-16 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
US10938750B2 (en) | 2019-03-18 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
TWI729609B (zh) * | 2019-03-18 | 2021-06-01 | 開曼群島商創新先進技術有限公司 | 共識系統停機時間恢復 |
US10977135B2 (en) | 2019-03-18 | 2021-04-13 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
CN110915185A (zh) * | 2019-03-18 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 共识系统停机时间恢复 |
US11347598B2 (en) | 2019-03-18 | 2022-05-31 | Advanced New Technologies Co., Ltd. | Consensus system downtime recovery |
KR102230829B1 (ko) | 2019-03-18 | 2021-03-23 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 합의 시스템 다운타임 복구 |
KR20200112634A (ko) * | 2019-03-18 | 2020-10-05 | 알리바바 그룹 홀딩 리미티드 | 합의 시스템 다운타임 복구 |
WO2019101244A3 (en) * | 2019-03-18 | 2019-09-12 | Alibaba Group Holding Limited | Consensus system downtime recovery |
CN110309672A (zh) * | 2019-07-01 | 2019-10-08 | 北京理工大学 | 一种基于区块链的隐私保护的可控数据管理方法 |
CN110336707A (zh) * | 2019-08-07 | 2019-10-15 | 卓尔智联(武汉)研究院有限公司 | 区块链共识装置、方法及计算机可读存储介质 |
CN110572281A (zh) * | 2019-08-23 | 2019-12-13 | 华南理工大学 | 一种基于区块链的可信日志记录方法及系统 |
CN110505091B (zh) * | 2019-08-23 | 2021-09-10 | 昆明理工大学 | 一种基于pbft改进的共识方法 |
CN110505091A (zh) * | 2019-08-23 | 2019-11-26 | 昆明理工大学 | 一种基于pbft改进的共识方法 |
CN110659901B (zh) * | 2019-09-03 | 2022-06-17 | 北京航空航天大学 | 基于博弈模型的区块链复杂事务验证方法及装置 |
CN110659901A (zh) * | 2019-09-03 | 2020-01-07 | 北京航空航天大学 | 基于博弈模型的区块链复杂事务验证方法及装置 |
CN110677485A (zh) * | 2019-09-30 | 2020-01-10 | 大连理工大学 | 一种基于信用的动态分层拜占庭容错共识方法 |
US11841778B2 (en) | 2019-10-10 | 2023-12-12 | Hangzhou Qulian Technology Co., Ltd. | Method and system for active failure recovery of single node improved based on PBFT algorithm, computer device and storage medium |
CN110460484A (zh) * | 2019-10-10 | 2019-11-15 | 杭州趣链科技有限公司 | 一种基于pbft算法改进的单节点异常主动恢复方法 |
WO2021082824A1 (zh) * | 2019-10-28 | 2021-05-06 | 腾讯科技(深圳)有限公司 | 数据处理方法、设备及计算机可读存储介质 |
CN110796547A (zh) * | 2019-10-30 | 2020-02-14 | 桂林电子科技大学 | 一种基于联盟区块链的改进的实用拜占庭容错系统 |
CN111082924B (zh) * | 2019-11-29 | 2023-07-25 | 杰创智能科技股份有限公司 | 一种基于工作量证明的选举型拜占庭容错共识方法 |
CN111082924A (zh) * | 2019-11-29 | 2020-04-28 | 杰创智能科技股份有限公司 | 一种基于工作量证明的选举型拜占庭容错共识算法 |
CN111106942A (zh) * | 2019-12-13 | 2020-05-05 | 南京邮电大学 | 一种基于ap-pbft算法的区块链信用机制 |
CN111163084B (zh) * | 2019-12-27 | 2021-11-09 | 清创网御(合肥)科技有限公司 | 一种基于动态选举和共识机制的安全存储方法 |
CN111163084A (zh) * | 2019-12-27 | 2020-05-15 | 清创网御(合肥)科技有限公司 | 一种基于动态选举和共识机制的安全存储算法 |
CN111818118B (zh) * | 2020-01-19 | 2022-09-02 | 重庆科技学院 | 一种基于ciwn-ii的互联网交易平台不确定性评价滤波系统 |
CN111818118A (zh) * | 2020-01-19 | 2020-10-23 | 重庆科技学院 | 一种基于ciwn-ii的互联网交易平台不确定性评价滤波系统 |
CN111198895A (zh) * | 2020-02-18 | 2020-05-26 | 夏南南 | 一种区块链更新方法 |
CN111629022A (zh) * | 2020-03-20 | 2020-09-04 | 恒宝股份有限公司 | 实用性拜占庭容错的节点设置方法 |
CN111629022B (zh) * | 2020-03-20 | 2022-05-20 | 恒宝股份有限公司 | 实用性拜占庭容错的节点设置方法 |
CN111324672A (zh) * | 2020-03-25 | 2020-06-23 | 中国工商银行股份有限公司 | 区块链安全处理系统及方法 |
CN111461793B (zh) * | 2020-04-27 | 2023-10-10 | 吉林省桥王智能科技有限公司 | 基于活跃度概率选择的积分链共识方法 |
CN111461793A (zh) * | 2020-04-27 | 2020-07-28 | 吉林省桥王智能科技有限公司 | 基于活跃度概率选择的积分链共识方法 |
CN111682942A (zh) * | 2020-05-18 | 2020-09-18 | 哈尔滨工业大学 | 一种应用于许可链的二元加权拜占庭容错共识方法 |
CN111682942B (zh) * | 2020-05-18 | 2022-06-10 | 哈尔滨工业大学 | 一种应用于许可链的二元加权拜占庭容错共识方法 |
CN111711711A (zh) * | 2020-05-28 | 2020-09-25 | 北京邮电大学 | 基于区块链的顶级域名管理和解析方法及系统 |
US11611567B2 (en) | 2020-05-28 | 2023-03-21 | Beijing University Of Posts And Telecommunications | Method and system for management and resolution of blockchain-based top-level domain |
CN111696245A (zh) * | 2020-06-30 | 2020-09-22 | 郭平波 | 一种基于p2p网络的投票方法 |
CN112118321A (zh) * | 2020-09-24 | 2020-12-22 | 北京工业大学 | 一种工业区块链的实用拜占庭容错共识机制优化系统 |
CN112597241A (zh) * | 2020-12-10 | 2021-04-02 | 浙江大学 | 一种基于区块链的分布式数据库存储方法及系统 |
CN113065141B (zh) * | 2020-12-28 | 2023-09-01 | 上海零数众合信息科技有限公司 | 一种区块链的持续的门限群更新方法 |
CN113065141A (zh) * | 2020-12-28 | 2021-07-02 | 上海能链众合科技有限公司 | 一种区块链的持续的门限群更新方法 |
CN112953733A (zh) * | 2021-03-16 | 2021-06-11 | 昆明理工大学 | 一种数据治理的区块链通信资源整合共识方法 |
CN113283892A (zh) * | 2021-05-26 | 2021-08-20 | 北京航空航天大学 | 一种基于投票机制的PoSearch与PBFT融合共识算法 |
CN113794576B (zh) * | 2021-08-12 | 2022-07-19 | 山东区块链研究院 | 一种可再投票的二元共识方法及装置 |
CN113794576A (zh) * | 2021-08-12 | 2021-12-14 | 山东区块链研究院 | 一种可再投票的二元共识方法及装置 |
CN114205092A (zh) * | 2021-12-01 | 2022-03-18 | 浙江大学 | 一种乐观的不需要回退的拜占庭容错共识方法 |
CN114205092B (zh) * | 2021-12-01 | 2023-11-21 | 浙江大学 | 一种乐观的不需要回退的拜占庭容错共识方法 |
CN114258015A (zh) * | 2021-12-23 | 2022-03-29 | 成都三零瑞通移动通信有限公司 | 一种基于全网共识的集群终端防失控方法及系统 |
CN114258015B (zh) * | 2021-12-23 | 2023-10-24 | 成都三零瑞通移动通信有限公司 | 一种基于全网共识的集群终端防失控方法及系统 |
CN115412263A (zh) * | 2022-09-06 | 2022-11-29 | 西南交通大学 | 一种基于双重盲化的拜占庭容错共识方法 |
CN115412263B (zh) * | 2022-09-06 | 2024-06-11 | 西南交通大学 | 一种基于双重盲化的拜占庭容错共识方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109347804B (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347804A (zh) | 一种用于区块链的拜占庭容错共识优化方法 | |
CN109462587B (zh) | 区块链分层共识方法、区块链网络系统及区块链节点 | |
Li et al. | Lightweight blockchain consensus mechanism and storage optimization for resource-constrained IoT devices | |
CN111090892B (zh) | 一种基于vrf和门限签名的区块链共识方法和装置 | |
CN109447795A (zh) | 一种支持快速达成最终确认性的拜占庭共识方法 | |
CN110380847A (zh) | 一种区块链共识方法和装置 | |
Wang et al. | A comparative study of blockchain consensus algorithms | |
CN111416708B (zh) | 一种区块链拜占庭容错共识方法及系统 | |
Sun et al. | RTChain: A reputation system with transaction and consensus incentives for e-commerce blockchain | |
CN111682942B (zh) | 一种应用于许可链的二元加权拜占庭容错共识方法 | |
Wang et al. | Beh-Raft-Chain: a behavior-based fast blockchain protocol for complex networks | |
CN109450685B (zh) | 一种基于局部链节点离线的共识方法及节点 | |
Zhang et al. | Qpbft: Practical byzantine fault tolerance consensus algorithm based on quantified-role | |
Liu et al. | Ltsm: Lightweight and trusted sharing mechanism of iot data in smart city | |
CN115499129A (zh) | 一种多模信任跨链共识方法、系统、介质、设备及终端 | |
CN114503143A (zh) | 统一协议共识 | |
CN115065468A (zh) | 一种基于分组信誉值的pbft共识优化方法 | |
Masood et al. | Consensus algorithms in distributed ledger technology for open environment | |
Alp et al. | Rethinking general-purpose decentralized computing | |
CN112995167A (zh) | 基于Kafka机制的用电信息采集方法、区块链网络及用户端 | |
Indrakumari et al. | Consensus algorithms–a survey | |
CN114866562B (zh) | 面向电力能源系统的区块链共识方法及系统 | |
CN107995204A (zh) | 基于Bayes模型的Hadoop架构信任评估方法 | |
Du et al. | An Advanced PBFT-based Consensus Algorithm for a Bidding Consortium Blockchain | |
Zhang et al. | Proof of random trust consensus mechanism for power resource sharing system |
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 |