CN110443616A - 基于随机门限签名机制的拜占庭容错共识方法 - Google Patents
基于随机门限签名机制的拜占庭容错共识方法 Download PDFInfo
- Publication number
- CN110443616A CN110443616A CN201910574582.7A CN201910574582A CN110443616A CN 110443616 A CN110443616 A CN 110443616A CN 201910574582 A CN201910574582 A CN 201910574582A CN 110443616 A CN110443616 A CN 110443616A
- Authority
- CN
- China
- Prior art keywords
- node
- random
- common recognition
- peer node
- peer
- 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
-
- 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于随机门限签名机制的拜占庭容错共识方法,包括:初始收集联盟区块链网络中所有peer节点的信息;根据随机算法选出有权共识的peer节点和leader节点,并对无权共识的peer节点进行主动修复;leader节点将交易放入交易池中并从交易池中打包一定量的交易至新区块,并进行提案。各个有权共识的peer节点通过门限签名机制来确定新区块的有效性。本发明能够有效节省计算资源,实现节点的动态可扩展及系统的稳定性。
Description
技术领域
本发明涉及区块链技术领域中的共识方法,特别是涉及一种基于随机门限签名机制的拜占庭容错共识方法。
背景技术
在区块链网络中,节点之间数据传输面临着网络延时、网络丢包、黑客入侵等各种异常情况。针对这些异常情况,也就是拜占庭错误存在的情况,节点需要保持有效区块的一致。共识算法是区块链中解决一致性问题,实现拜占庭容错的关键技术。
联盟区块链是当今企业之间合作首选的区块链方式,当前普遍应用于联盟链的共识算法是实用拜占庭容错方法(简称PBFT),通过节点之间的相互通信来换取信任,具有三分之一的拜占庭容错能力。但PBFT存在以下缺点:(1)基于静态C/S结构,节点需要在启动前配置好,节点无法动态加入/退出网络;(2)需要三轮通信才能达成一致,节点通信代价很大,对网络带宽要求较高;(3)出现错误节点时,修复速度过慢,有可能在某一时间窗口出现错误节点数目超出容错限制的情况从而造成整个网络的崩溃;(4)对主节点过于依赖,主节点负责验证客户端发送的交易、从交易池中打包交易至区块,主节点恶意的情况下,容易造成不良影响。
发明内容
本发明所要解决的技术问题是提供一种基于随机门限签名机制的拜占庭容错共识方法,能够有效节省计算资源,实现节点的动态可扩展及系统的稳定性。
本发明解决其技术问题所采用的技术方案是:提供一种基于随机门限签名机制的拜占庭容错共识方法,包括以下步骤:
(1)初始收集联盟区块链网络中所有peer节点的信息;
(2)在第r轮中,根据随机算法从所有的peer节点中选出k个有权共识的peer节点,并从有权共识的peer节点中随机选出一个作为该轮共识的leader节点,无权共识的peer节点进行主动恢复,其中,r≥2;
(3)leader节点对收到的交易进行验证,验证通过则将所述交易放入交易池中并从交易池中打包一定量的交易至新区块;
(4)leader节点向其他有权共识的peer节点发送新区块和op信息作为提案;
(5)有权共识的peer节点对收到的提案进行签名并发送给除自身以外的其他有权共识的peer节点;
(6)在时间T1内,如果某一有权共识的peer节点收到的有效签名达到第一门限值k',则发送有效消息至收集器;
(7)在时间T2内,收集器收集的有效消息达到第二门限值t,则所述新区块有效,从交易池中删除所述新区块中包含的交易;其中,最大容错节点数<k/k'/t≤节点总数-最大容错节点数;
(8)所有peer节点将新区块加入区块链账本,如果op信息不为空,则添加/删除相关节点公钥和验证钥,更新r+1轮初始peer节点的数目,并进入下一轮。
所述步骤(1)中初始收集联盟区块链网络中peer节点的数目大于或等于4。
所述步骤(2)中的具体为:生成长度为n的0,1随机字符串s,并与各个peer节点对应,随机字符串s中1代表对应的peer节点为有权共识的peer节点,0代表对应的peer节点为无权共识的peer节点,其中,n为此轮中peer节点的总个数,随机字符串s中1的个数为k,随机生成[0,k)区间的整数p,随机字符串s中第p个1对应的peer节点即为该轮共识的leader节点。
所述步骤(2)中无权共识的peer节点进行主动恢复具体为:向有权共识的peer节点索要检查点信息;将收到的检查点信息与自身区块进行对比;如果不一致,计算要恢复的区块高度;向有权共识的peer节点索要区块;链接区块至目标高度;更新生成证书和密钥。
所述步骤(2)中随机算法的种子数不固定,使得本轮和下一轮的有权共识的peer节点集合之间没有必然关系。
所述步骤(3)中如果所述新区块中包含节点加入/退出对应的交易,则op信息为join/exit操作符加上对应节点的公钥和验证钥,否则op信息为空。
所述步骤(7)中收集器在时间T2内收集到的有效消息小于第二门限值t,所述新区块包含的交易能够在下一轮共识过程中被打包进下一轮的新区块中。
节点之间的通信均包括安全验证步骤。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明仅需要部分peer节点的两轮通信即可达成共识,可以有效减少通信代价,提升吞吐量,具有高效性。本发明中有权共识的peer节点和leader节点同时通过随机方式决定,不依赖于算力、资产等因素,具有节点公平性。本发明每轮对无权共识的peer节点主动修复,降低了网络中peer节点出现拜占庭错误的可能性,即使出现错误,错误节点数目也很难在一个时间窗口内超出容错限制,具有安全性。本发明的节点可以动态加入/退出网络,具有动态扩展性。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种基于随机门限签名机制的拜占庭容错共识方法,如图1所示,包括以下步骤:
(1)初始收集联盟区块链网络中所有peer节点的信息;本步骤中初始收集联盟区块链网络中peer节点的数目大于或等于4。
(2)在第r轮中,根据随机算法从所有的peer节点中选出k个有权共识的peer节点,并从有权共识的peer节点中随机选出一个作为该轮共识的leader节点,无权共识的peer节点进行主动恢复,其中,r≥2;
具体地说,生成长度为n的0,1随机字符串s,并与各个peer节点对应,随机字符串s中1代表对应的peer节点为有权共识的peer节点,0代表对应的peer节点为无权共识的peer节点,其中,n为此轮中peer节点的总个数,随机字符串s中1的个数为k,随机生成[0,k)区间的整数p,随机字符串s中第p个1对应的peer节点即为该轮共识的leader节点。本实施方式中,随机算法的种子数不固定,使得本轮和下一轮的有权共识的peer节点集合之间没有必然关系。本实施方式中通过随机算法同时选取有权共识的peer节点和leader节点,从而可以避免由leader节点偏向性带来的不利影响,保证节点公平性。
无权共识的peer节点进行主动恢复具体为:向有权共识的peer节点索要检查点信息;将收到的检查点信息与自身区块进行对比;如果不一致,计算要恢复的区块高度;向有权共识的peer节点索要区块;链接区块至目标高度;更新生成证书和密钥。本实施方式中对无权peer节点主动修复,一方面,在主动修复过程中无权节点会进行密钥更新,这样可以降低被攻击成功的可能性,另一方面,如果在无权节点中存在故障节点,修复之后即可正常使用,降低了某一个时间窗口内故障节点总数超过容错限制(三分之一节点数)的可能性。
(3)客户端client通过调用智能合约向leader节点发送交易,leader节点对收到的交易进行验证,验证通过则将所述交易放入交易池中并从交易池中打包一定量的交易至新区块;其中,如果所述新区块中包含节点加入/退出对应的交易,则op信息为join/exit操作符加上对应节点的公钥和验证钥,否则op信息为空。
(4)leader节点向其他有权共识的peer节点发送新区块和op信息作为提案;
(5)有权共识的peer节点对收到的提案进行签名并发送给除自身以外的其他有权共识的peer节点;
(6)在时间T1内,如果某一有权共识的peer节点收到的有效签名达到第一门限值k',则发送有效消息至收集器;
(7)在时间T2内,收集器收集的有效消息达到第二门限值t,则所述新区块有效,从交易池中删除所述新区块中包含的交易;其中,最大容错节点数<k/k'/t≤节点总数-最大容错节点数;如果收集器在时间T2内收集到的有效消息小于第二门限值t,所述新区块包含的交易能够在下一轮共识过程中被打包进下一轮的新区块中。
(8)所有peer节点将新区块加入区块链账本,如果op信息不为空,则添加/删除相关节点公钥和验证钥,更新r+1轮初始peer节点的数目,并进入下一轮。
值得一提的是,在上述步骤中节点之间的通信均包括安全验证步骤,具体为:发送方用私钥SK对消息进行签名;接收方用公钥PK、验证钥集合VK对消息有效性进行验证。
本发明中随机门限签名机制的作用有以下三点:(1)直接随机选取本轮参与共识的peer节点和leader节点;(2)为无权peer节点主动修复创造条件;(3)在权益share的基础上实现消息的有效性验证,减少通信代价。
不难发现,本发明将随机算法和门限签名机制进行了有机结合。本发明仅需要部分peer节点的两轮通信即可达成共识,可以有效减少通信代价,提升吞吐量,具有高效性。本发明中leader节点和有权peer节点的选取是同步进行的,避免由leader节点偏向性带来的不利影响,保证有权peer节点不依赖于算力、资产等因素公平随机决定,具有节点公平性。本发明每轮对无权peer节点主动修复,降低了网络中peer节点出现拜占庭错误的可能性,即使出现错误,错误节点数目也很难在一个时间窗口内超出容错限制,具有安全性。本发明的节点可以动态加入/退出网络,具有动态扩展性。综上,本发明为实际联盟区块链应用提供安全、高性能、动态扩展的算法保障,具有可用性。
Claims (8)
1.一种基于随机门限签名机制的拜占庭容错共识方法,其特征在于,包括以下步骤:
(1)初始收集联盟区块链网络中所有peer节点的信息;
(2)在第r轮中,根据随机算法从所有的peer节点中选出k个有权共识的peer节点,并从有权共识的peer节点中随机选出一个作为该轮共识的leader节点,无权共识的peer节点进行主动恢复,其中,r≥2;
(3)leader节点对收到的交易进行验证,验证通过则将所述交易放入交易池中并从交易池中打包一定量的交易至新区块;
(4)leader节点向其他有权共识的peer节点发送新区块和op信息作为提案;
(5)有权共识的peer节点对收到的提案进行签名并发送给除自身以外的其他有权共识的peer节点;
(6)在时间T1内,如果某一有权共识的peer节点收到的有效签名达到第一门限值k',则发送有效消息至收集器;
(7)在时间T2内,收集器收集的有效消息达到第二门限值t,则所述新区块有效,从交易池中删除所述新区块中包含的交易;其中,最大容错节点数<k/k'/t≤节点总数-最大容错节点数;
(8)所有peer节点将新区块加入区块链账本,如果op信息不为空,则添加/删除相关节点公钥和验证钥,更新r+1轮初始peer节点的数目,并进入下一轮。
2.根据权利要求1所述的基于随机门限签名机制的拜占庭容错共识方法,其特征在于,所述步骤(1)中初始收集联盟区块链网络中peer节点的数目大于或等于4。
3.根据权利要求1所述的基于随机门限签名机制的拜占庭容错共识方法,其特征在于,所述步骤(2)中的具体为:生成长度为n的0,1随机字符串s,并与各个peer节点对应,随机字符串s中1代表对应的peer节点为有权共识的peer节点,0代表对应的peer节点为无权共识的peer节点,其中,n为此轮中peer节点的总个数,随机字符串s中1的个数为k,随机生成[0,k)区间的整数p,随机字符串s中第p个1对应的peer节点即为该轮共识的leader节点。
4.根据权利要求1所述的基于随机门限签名机制的拜占庭容错共识方法,其特征在于,所述步骤(2)中无权共识的peer节点进行主动恢复具体为:向有权共识的peer节点索要检查点信息;将收到的检查点信息与自身区块进行对比;如果不一致,计算要恢复的区块高度;向有权共识的peer节点索要区块;链接区块至目标高度;更新生成证书和密钥。
5.根据权利要求1所述的基于随机门限签名机制的拜占庭容错共识方法,其特征在于,所述步骤(2)中随机算法的种子数不固定,使得本轮和下一轮的有权共识的peer节点集合之间没有必然关系。
6.根据权利要求1所述的基于随机门限签名机制的拜占庭容错共识方法,其特征在于,所述步骤(3)中如果所述新区块中包含节点加入/退出对应的交易,则op信息为join/exit操作符加上对应节点的公钥和验证钥,否则op信息为空。
7.根据权利要求1所述的基于随机门限签名机制的拜占庭容错共识方法,其特征在于,所述步骤(7)中收集器在时间T2内收集到的有效消息小于第二门限值t,所述新区块包含的交易能够在下一轮共识过程中被打包进下一轮的新区块中。
8.根据权利要求1所述的基于随机门限签名机制的拜占庭容错共识方法,其特征在于,节点之间的通信均包括安全验证步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910574582.7A CN110443616B (zh) | 2019-06-28 | 2019-06-28 | 基于随机门限签名机制的拜占庭容错共识方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910574582.7A CN110443616B (zh) | 2019-06-28 | 2019-06-28 | 基于随机门限签名机制的拜占庭容错共识方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110443616A true CN110443616A (zh) | 2019-11-12 |
CN110443616B CN110443616B (zh) | 2021-05-07 |
Family
ID=68428625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910574582.7A Active CN110443616B (zh) | 2019-06-28 | 2019-06-28 | 基于随机门限签名机制的拜占庭容错共识方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110443616B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112068978A (zh) * | 2020-08-27 | 2020-12-11 | 恒宝股份有限公司 | View-change二次启动定时器的定时期限延长方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579848A (zh) * | 2017-08-30 | 2018-01-12 | 上海保险交易所股份有限公司 | 实用拜占庭容错共识机制中动态更改共识节点的方法 |
CN109167661A (zh) * | 2018-09-27 | 2019-01-08 | 福建福链科技有限公司 | 一种应用于联盟链的拜占庭容错共识方法及终端 |
CN109327459A (zh) * | 2018-11-12 | 2019-02-12 | 崔晓晖 | 一种联盟区块链网络的共识方法 |
US20190075022A1 (en) * | 2016-10-28 | 2019-03-07 | International Business Machines Corporation | Changing an existing blockchain trust configuration |
-
2019
- 2019-06-28 CN CN201910574582.7A patent/CN110443616B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190075022A1 (en) * | 2016-10-28 | 2019-03-07 | International Business Machines Corporation | Changing an existing blockchain trust configuration |
CN107579848A (zh) * | 2017-08-30 | 2018-01-12 | 上海保险交易所股份有限公司 | 实用拜占庭容错共识机制中动态更改共识节点的方法 |
CN109167661A (zh) * | 2018-09-27 | 2019-01-08 | 福建福链科技有限公司 | 一种应用于联盟链的拜占庭容错共识方法及终端 |
CN109327459A (zh) * | 2018-11-12 | 2019-02-12 | 崔晓晖 | 一种联盟区块链网络的共识方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112068978A (zh) * | 2020-08-27 | 2020-12-11 | 恒宝股份有限公司 | View-change二次启动定时器的定时期限延长方法 |
CN112068978B (zh) * | 2020-08-27 | 2022-06-10 | 恒宝股份有限公司 | View-change二次启动定时器的定时期限延长方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110443616B (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Naumenko et al. | Erlay: Efficient transaction relay for bitcoin | |
CN110245956B (zh) | 一种基于异步多链的区块链交易确认方法及系统 | |
JP2022159468A (ja) | ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法 | |
CN109327548A (zh) | 一种区块链更新方法及区块链更新系统 | |
CN112163856A (zh) | 用于区块链与物联网融合场景的共识方法及系统 | |
CN109711192B (zh) | 区块链系统节点间交易方法及系统 | |
CN112217683B (zh) | 跨异构链数据可达性处理方法、系统、介质、设备、终端 | |
CN118400381A (zh) | 用于诸如区块链网络等网络中的数据传播和通信的计算机实现的系统和方法 | |
CN111047316A (zh) | 一种反篡改的智能区块链系统及实现方法 | |
KR102150210B1 (ko) | 블록체인 네트워크 | |
KR20200081533A (ko) | 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법 | |
CN113448694B (zh) | 一种提高事务处理能力的区块链共识方法 | |
CN113626875B (zh) | 一种区块链分片赋能的知识图谱文件存储方法 | |
CN111414420A (zh) | 一种改进的pbft区块链共识方法 | |
CN117527834A (zh) | 一种基于信誉评分机制的改进pbft共识方法 | |
CN114745140B (zh) | 基于聚合加密的城市规划领域区块链共识验证方法及系统 | |
CN114826699B (zh) | 基于区块链的去中心化联邦学习中拜占庭攻击抵御方法 | |
Fang et al. | Pelopartition: Improving blockchain resilience to network partitioning | |
CN116566712A (zh) | 一种基于信任分数的物联网区块链共识方法 | |
CN111798234A (zh) | 一种轻量级区块链系统及构造方法 | |
Lorünser et al. | Towards a Performance Model for Byzantine Fault Tolerant Services. | |
CN111586102A (zh) | 一种基于bft共识的联盟链组网方法 | |
Santiago et al. | Accelerating message propagation in blockchain networks | |
CN110443616A (zh) | 基于随机门限签名机制的拜占庭容错共识方法 | |
CN112565370B (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 |