CN113283892A - 一种基于投票机制的PoSearch与PBFT融合共识算法 - Google Patents
一种基于投票机制的PoSearch与PBFT融合共识算法 Download PDFInfo
- Publication number
- CN113283892A CN113283892A CN202110580630.0A CN202110580630A CN113283892A CN 113283892 A CN113283892 A CN 113283892A CN 202110580630 A CN202110580630 A CN 202110580630A CN 113283892 A CN113283892 A CN 113283892A
- Authority
- CN
- China
- Prior art keywords
- nodes
- message
- node
- committee
- client
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 53
- 230000007246 mechanism Effects 0.000 title claims abstract description 19
- 230000004927 fusion Effects 0.000 title claims abstract description 14
- 238000002360 preparation method Methods 0.000 claims abstract description 28
- 238000012790 confirmation Methods 0.000 claims abstract description 7
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 7
- 238000005065 mining Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 239000002699 waste material Substances 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/085—Payment architectures involving remote charge determination or related payment systems
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种基于投票机制的PoSearch与PBFT融合共识算法,包括客户节点发布任务,寻找挖矿节点,找到优化问题最优解的多个节点;客户端向主节点发起请求消息,主节点分配一个编号给收到的客户端请求消息,向其他委员会节点广播预准备消息,将预准备消息追加到客户端发布的消息中,验证通过预准备消息后进入准备阶段,将准备消息也追加在收到的预准备消息中,所有委员会节点验证该消息的有效性并写入消息日志中,所有委员会节点都向除自己以外的其他所有节点广播确认消息,写入消息日志中,委员会节点向客服端发送回复消息。本发明在网络中节点数规模较大时有效提高共识算法需要的交易时间,提高算法交易吞吐量。
Description
技术领域
本发明涉及区块链服务信用技术领域,尤其涉及一种基于投票机制的 PoSearch与PBFT融合共识算法。
背景技术
广义来讲,区块链技术是利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码(智能合约)来编程和操作数据的一种去中心化基础架构与分布式计算范式。共识算法作为区块链的关键技术直接影响着区块链的交易处理能力、可扩展性和安全性。
目前区块链共识可以分为两大类,一类是授权共识机制,授权网络中节点一般通过公钥基础设施完成身份认证后,才能参与后续共识机制。非授权网络中,节点随时加入和退出,节点数量动态变化且不可预知,非授权共识通过特定算法完成出块者选举、区块生成和节点验证更新区块链等过程。其基本流程可分为选举出块者、生成区块、节点验证更新区块链。
区块链又可以分为公有链、联盟链和私有链,在联盟链中多采用授权共识机制。目前主流的共识算法中,PoW(工作量证明)算法虽然去中心化程度高,但是节点计算资源浪费大,且交易效率较低,PoS(权益证明)算法虽然在交易效率上优于PoW共识算法,但是去中心化程度低;传统分布式***中使用的 PBFT(拜占庭容错)算法可通过预准备(pre-prepare)、准备(prepare)和承诺 (commit)三个部分完成共识,适用于联盟链,但是PBFT算法的共识部分通信复杂度高,当节点数量增加到一定规模时,共识时延极长,可扩展性差。
发明内容
本发明目的是提供了一种基于投票机制的PoSearch与PBFT融合共识算法,以解决上述问题。
本发明解决技术问题采用如下技术方案:
一种基于投票机制的PoSearch与PBFT融合共识算法,包括PoSearch算法选取委员会节点与委员会节点进行PBFT共识两个步骤;其中,
PoSearch算法选取委员会节点包括:客户节点发布任务,根据客户节点发布任务寻找挖矿节点,找到优化问题最优解的多个节点;委员会节点进行PBFT 共识包括:客户端向主节点发起请求消息,主节点分配一个编号给收到的客户端请求消息,然后向其他委员会节点广播预准备消息,并将该预准备消息追加到客户端发布的消息中,验证通过预准备消息后进入准备阶段,并将准备消息也追加在收到的预准备消息中,所有委员会节点验证该消息的有效性并写入消息日志中,所有委员会节点都向除自己以外的其他所有节点广播确认消息,写入消息日志中,委员会节点向客服端发送回复消息。
进一步的,任务信息中包含评价器与任务内容,评价器用于评估结果是否为最优解,输入某个计算结果,输出该结果是否为最优解的判定结果任务内容用于其他节点直接运行计算,利用算力寻找最优解。
进一步的,根据客户节点发布任务寻找挖矿节点的方法为:客户节点向所有网络内节点广播该任务信息,其他所有节点收到该任务信息,并根据任务信息进行最优解搜索工作,竞争成为挖矿节点。
进一步的,找到优化问题最优解的多个节点的方法为:完成客户节点所发布的任务的节点经评价器验证后向全网广播评价器评价结果;优先找到最优解并广播结果的前多个节点被标记为委员会节点,若存在多个节点在同一时间段找到最优解,则通过随机抽取的方式选取节点;委员会节点间进行投票,综合委员会节点找到最优解的时间与节点对最优解任务的参与度,节点对所用时间更短与参与度更高的节点具有更高的投票率,最终获得票数最高的节点成为主节点。
进一步的,客户端向主节点发起的请求消息包括操作信息,时间戳,客户端编号。
进一步的,回复消息包括时间戳,客户端编号,节点编号,操作结果的信息。
进一步的,若客户端收到多个来自不同节点的相同响应信息,且该回复消息具有相应的时间戳和操作结果,则客户端认为该操作结果为正确执行结果。
有益效果:
本发明在网络中节点数规模较大时有效提高共识算法需要的交易时间,提高算法交易吞吐量,同时增加了共识算法的可扩展性,在节点数规模较大时也能保证共识的稳步进行;投票机制的加入也可以降低主节点为恶意节点的概率,增强共识的容错性。另一方面PoSearch算法利用了原有的计算资源,避免了过多的资源浪费。
附图说明
图1为本发明的方法流程图;
图2为本发明PBFT共识算法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考附图1,本发明公开了一种基于PoSearch与PBFT共识的融合算法,通过PoSearch算法选举进行PBFT算法的节点,减少参与PBFT算法的节点数。针对PoW算法浪费计算资源的缺陷,引入PoSearch共识算法,将原PoW算法中浪费的资源利用于计算最优解。包括PoSearch算法选取委员会节点与委员会节点进行PBFT共识两个步骤;其中,
PoSearch算法选取委员会节点包括如下步骤:
S1,客户节点发布相应任务,任务信息中包含评价器与任务内容,评价器用于评估结果是否为最优解,输入某个计算结果,输出该结果是否为最优解的判定结果任务内容用于其他节点直接运行计算,利用算力寻找最优解。
S2,客户节点向所有网络内节点广播该任务信息。
S3,其他所有节点收到该任务信息,并根据任务信息进行最优解搜索工作,竞争成为挖矿节点。
S4,完成客户节点所发布的任务的节点经评价器验证后向全网广播评价器评价结果。
S5,优先找到最优解并广播结果的前(3f+1)个节点被标记为委员会节点,若存在多个节点在同一时间段找到最优解,则通过随机抽取的方式选取节点。
S6,委员会节点间进行投票,综合委员会节点找到最优解的时间与节点对最优解任务的参与度(发布任务次数与参与寻找最优解次数),节点对所用时间更短与参与度更高的节点具有更高的投票率,最终获得票数最高的节点成为主节点。
委员会节点进行PBFT共识包括如下步骤:
S7,客户端向主节点发起请求消息,请求消息中包括操作信息,时间戳,客户端编号等。
S8,主节点分配一个编号m给收到的客户端请求消息,然后向其他委员会节点广播预准备消息,并将该预准备消息追加到客户端发布的消息中。
S9,每个其他委员会节点收到并验证通过预准备消息后进入准备阶段,并向其他节点广播准备消息,并将准备消息也追加在收到的预准备消息中。
S10,包括主节点在内的所有委员会节点收到准备消息后验证该消息的有效性并写入消息日志中。
S11,准备消息被验证为真后,所有委员会节点都向除自己以外的其他所有节点广播确认消息,其他节点在收到确认消息后将该确认消息写入消息日志中。
S12,委员会节点向客服端发送回复消息,回复消息中包括时间戳、客户端编号,节点编号,操作结果等信息,若客户端收到f+1个来自不同节点的相同响应信息,且该回复消息具有相应的时间戳和操作结果,则客户端认为该操作结果为正确执行结果。
在之后的n轮共识中均在委员会节点中完成共识流程,确定n轮共识之后重新选取委员会节点。
PoSearch算法选取委员会节点:PoSearch(Proof of Search)是一种基于PoW 算法原理的搜索证明算法,该算法基本原理与PoW共识算法相似,但是引入了优化问题,利用原PoW算法中计算随机数的计算资源计算最优解。引入评价器 (evaluator)、客户(client)和任务(job)的概念,评价器用于评判某个结果是否是该问题的最优解,要求评价器中输入相同时输出结果也必定相同。任务是一个可执行的请求以寻找优化问题的最优解,同时任务中也包含了评价器和所有执行搜索请求所需的信息。客户是提交任务的节点,任何可提交任务且提交了任务的节点都成为客户节点。同时做出规定:a)挖矿节点中以时间为序,首先提出最佳解的前(3f+1)个节点可进入委员会中参与PBFT共识;b)节点不可提交自身已知结果的优化问题;c)当网络中没有需要解决的优化问题时,采用PoW算法,计算相应的随机数。
委员会节点进行PBFT共识:委员会节点内部进行投票,获得投票数最高的节点作为主节点,其他委员会节点为备份节点,PBFT共识分为两个部分,第一部分是分布式共识达成,即通过预准备(pre-prepare)、准备(prepare)和承诺(commit)三个部分完成共识;第二部分是视图转换(view-change),当主节点出现问题不能及时处理数据请求时,其他备份节点发起视图转换,转换成功后成为新的主节点开始工作,此阶段会增加交易确认时间,通过加入投票机制选举主节点,保证主节点非恶意节点,增加对恶意节点的排除率,增强容错性。
本发明在网络中节点数规模较大时有效提高共识算法需要的交易时间,提高算法交易吞吐量,同时增加了共识算法的可扩展性,在节点数规模较大时也能保证共识的稳步进行;投票机制的加入也可以降低主节点为恶意节点的概率,增强共识的容错性。另一方面PoSearch算法利用了原有的计算资源,避免了过多的资源浪费。
另外,在许可联盟链中,存在多方信用平台节点,某节点作为客户端发布请求信息(例如,该请求信息中包含对某项信用信息的更改),通过本发明共识算法进行验证,执行上述操作,对该请求信息达成一致。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种基于投票机制的PoSearch与PBFT融合共识算法,其特征在于,包括PoSearch算法选取委员会节点与委员会节点进行PBFT共识两个步骤;其中,
PoSearch算法选取委员会节点包括:客户节点发布任务,根据客户节点发布任务寻找挖矿节点,找到优化问题最优解的多个节点;委员会节点进行PBFT共识包括:客户端向主节点发起请求消息,主节点分配一个编号给收到的客户端请求消息,然后向其他委员会节点广播预准备消息,并将该预准备消息追加到客户端发布的消息中,验证通过预准备消息后进入准备阶段,并将准备消息也追加在收到的预准备消息中,所有委员会节点验证该消息的有效性并写入消息日志中,所有委员会节点都向除自己以外的其他所有节点广播确认消息,写入消息日志中,委员会节点向客服端发送回复消息。
2.根据权利要求1所述的一种基于投票机制的PoSearch与PBFT融合共识算法,其特征在于,任务信息中包含评价器与任务内容,评价器用于评估结果是否为最优解,输入某个计算结果,输出该结果是否为最优解的判定结果任务内容用于其他节点直接运行计算,利用算力寻找最优解。
3.根据权利要求2所述的一种基于投票机制的PoSearch与PBFT融合共识算法,其特征在于,根据客户节点发布任务寻找挖矿节点的方法为:客户节点向所有网络内节点广播该任务信息,其他所有节点收到该任务信息,并根据任务信息进行最优解搜索工作,竞争成为挖矿节点。
4.根据权利要求3所述的一种基于投票机制的PoSearch与PBFT融合共识算法,其特征在于,找到优化问题最优解的多个节点的方法为:完成客户节点所发布的任务的节点经评价器验证后向全网广播评价器评价结果;优先找到最优解并广播结果的前多个节点被标记为委员会节点,若存在多个节点在同一时间段找到最优解,则通过随机抽取的方式选取节点;委员会节点间进行投票,综合委员会节点找到最优解的时间与节点对最优解任务的参与度,节点对所用时间更短与参与度更高的节点具有更高的投票率,最终获得票数最高的节点成为主节点。
5.根据权利要求1所述的一种基于投票机制的PoSearch与PBFT融合共识算法,其特征在于,客户端向主节点发起的请求消息包括操作信息,时间戳,客户端编号。
6.根据权利要求5所述的一种基于投票机制的PoSearch与PBFT融合共识算法,其特征在于,回复消息包括时间戳,客户端编号,节点编号,操作结果的信息。
7.根据权利要求6所述一种基于投票机制的PoSearch与PBFT融合共识算法,其特征在于,若客户端收到多个来自不同节点的相同响应信息,且该回复消息具有相应的时间戳和操作结果,则客户端认为该操作结果为正确执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110580630.0A CN113283892A (zh) | 2021-05-26 | 2021-05-26 | 一种基于投票机制的PoSearch与PBFT融合共识算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110580630.0A CN113283892A (zh) | 2021-05-26 | 2021-05-26 | 一种基于投票机制的PoSearch与PBFT融合共识算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113283892A true CN113283892A (zh) | 2021-08-20 |
Family
ID=77281818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110580630.0A Pending CN113283892A (zh) | 2021-05-26 | 2021-05-26 | 一种基于投票机制的PoSearch与PBFT融合共识算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113283892A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086349A (zh) * | 2022-06-10 | 2022-09-20 | 河南工业大学 | 一种基于流水线的高效区块链共识算法 |
WO2023056975A1 (zh) * | 2021-10-09 | 2023-04-13 | 支付宝(杭州)信息技术有限公司 | 共识方法和区块链*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165092A (zh) * | 2018-07-10 | 2019-01-08 | 矩阵元技术(深圳)有限公司 | 一种基于有效算力贡献的共识方法、装置及*** |
CN109347804A (zh) * | 2018-09-19 | 2019-02-15 | 电子科技大学 | 一种用于区块链的拜占庭容错共识优化方法 |
US20200026699A1 (en) * | 2018-07-20 | 2020-01-23 | True Blockchain Technology Ltd. | Highly Performant Decentralized Public Ledger with Hybrid Consensus |
CN111131184A (zh) * | 2019-12-06 | 2020-05-08 | 长沙理工大学 | 一种区块链共识机制的自主调节方法 |
CN112532581A (zh) * | 2020-10-26 | 2021-03-19 | 南京辰阔网络科技有限公司 | 一种基于共识参与度和交易活跃度的改进pbft共识方法 |
CN112636905A (zh) * | 2020-12-11 | 2021-04-09 | 北京航空航天大学 | 基于多角色的可扩展共识机制的***及方法 |
-
2021
- 2021-05-26 CN CN202110580630.0A patent/CN113283892A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165092A (zh) * | 2018-07-10 | 2019-01-08 | 矩阵元技术(深圳)有限公司 | 一种基于有效算力贡献的共识方法、装置及*** |
US20200026699A1 (en) * | 2018-07-20 | 2020-01-23 | True Blockchain Technology Ltd. | Highly Performant Decentralized Public Ledger with Hybrid Consensus |
CN109347804A (zh) * | 2018-09-19 | 2019-02-15 | 电子科技大学 | 一种用于区块链的拜占庭容错共识优化方法 |
CN111131184A (zh) * | 2019-12-06 | 2020-05-08 | 长沙理工大学 | 一种区块链共识机制的自主调节方法 |
CN112532581A (zh) * | 2020-10-26 | 2021-03-19 | 南京辰阔网络科技有限公司 | 一种基于共识参与度和交易活跃度的改进pbft共识方法 |
CN112636905A (zh) * | 2020-12-11 | 2021-04-09 | 北京航空航天大学 | 基于多角色的可扩展共识机制的***及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023056975A1 (zh) * | 2021-10-09 | 2023-04-13 | 支付宝(杭州)信息技术有限公司 | 共识方法和区块链*** |
CN115086349A (zh) * | 2022-06-10 | 2022-09-20 | 河南工业大学 | 一种基于流水线的高效区块链共识算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102561726B1 (ko) | 난스를 이용한 합의 노드 선택 방법 및 그것을 이용한 블록체인 생성 방법 및 장치 | |
CN109559120B (zh) | 基于权重的区块链共识方法、***、存储介质及电子设备 | |
CN109447795B (zh) | 一种支持快速达成最终确认性的拜占庭共识方法 | |
CN110599173B (zh) | 区块链的共识节点确定方法、装置、设备及存储介质 | |
Kogias et al. | Enhancing bitcoin security and performance with strong consistency via collective signing | |
CN108108967B (zh) | 面向复杂数字资产的多阶段pbft共识***及方法 | |
CN110189128B (zh) | 一种用于区块快速生成的分布式共识的方法和装置 | |
CN110351067B (zh) | 针对主从多链的区块链共识方法 | |
CN109214795A (zh) | 一种基于dag算法的区块链混合共识方法 | |
CN111311414A (zh) | 一种基于一致性哈希算法的区块链多方共识方法 | |
CN113283892A (zh) | 一种基于投票机制的PoSearch与PBFT融合共识算法 | |
CN110120936B (zh) | 基于区块链的分布式网络攻击检测和安全测量***及方法 | |
CN111199481A (zh) | 基于异步定向非循环图的分布式交易网络 | |
CN112966048A (zh) | 一种区块链共识方法 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
Zhang et al. | An efficient and robust committee structure for sharding blockchain | |
CN114913013A (zh) | 一种基于区块链的租房交易***及租房交易方法 | |
CN111865595A (zh) | 一种区块链的共识方法及装置 | |
Monrat et al. | Addressing the performance of blockchain by discussing sharding techniques | |
CN115701078A (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
Chen et al. | A Vehicular Trust Blockchain Framework with Scalable Byzantine Consensus | |
Oh et al. | Graph learning BFT: A design of consensus system for distributed ledgers | |
WO2020168389A1 (en) | Energized identity powered blockchain | |
Wu et al. | Multimaster node byzantine fault-tolerant consensus algorithm based on consistent hash algorithm | |
CN110910091A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210820 |
|
RJ01 | Rejection of invention patent application after publication |