CN110443616B - 基于随机门限签名机制的拜占庭容错共识方法 - Google Patents

基于随机门限签名机制的拜占庭容错共识方法 Download PDF

Info

Publication number
CN110443616B
CN110443616B CN201910574582.7A CN201910574582A CN110443616B CN 110443616 B CN110443616 B CN 110443616B CN 201910574582 A CN201910574582 A CN 201910574582A CN 110443616 B CN110443616 B CN 110443616B
Authority
CN
China
Prior art keywords
node
peer
nodes
random
consensus
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.)
Active
Application number
CN201910574582.7A
Other languages
English (en)
Other versions
CN110443616A (zh
Inventor
须峰
宋安平
王鲸
俞文璟
施海鹰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuke Network Technology Shanghai Co ltd
Original Assignee
Zhuke Network Technology Shanghai Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuke Network Technology Shanghai Co ltd filed Critical Zhuke Network Technology Shanghai Co ltd
Priority to CN201910574582.7A priority Critical patent/CN110443616B/zh
Publication of CN110443616A publication Critical patent/CN110443616A/zh
Application granted granted Critical
Publication of CN110443616B publication Critical patent/CN110443616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; 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 (6)

1.一种基于随机门限签名机制的拜占庭容错共识方法,其特征在于,包括以下步骤:
(1)初始收集联盟区块链网络中所有peer节点的信息;
(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节点索要检查点信息;将收到的检查点信息与自身区块进行对比;如果不一致,计算要恢复的区块高度;向有权共识的peer节点索要区块;链接区块至目标高度;更新生成证书和密钥;
(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)中随机算法的种子数不固定,使得本轮和下一轮的有权共识的peer节点集合之间没有必然关系。
4.根据权利要求1所述的基于随机门限签名机制的拜占庭容错共识方法,其特征在于,所述步骤(3)中如果所述新区块中包含节点加入/退出对应的交易,则op信息为join/exit操作符加上对应节点的公钥和验证钥,否则op信息为空。
5.根据权利要求1所述的基于随机门限签名机制的拜占庭容错共识方法,其特征在于,所述步骤(7)中收集器在时间T2内收集到的有效消息小于第二门限值t,所述新区块包含的交易能够在下一轮共识过程中被打包进下一轮的新区块中。
6.根据权利要求1所述的基于随机门限签名机制的拜占庭容错共识方法,其特征在于,节点之间的通信均包括安全验证步骤。
CN201910574582.7A 2019-06-28 2019-06-28 基于随机门限签名机制的拜占庭容错共识方法 Active CN110443616B (zh)

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 CN110443616A (zh) 2019-11-12
CN110443616B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068978B (zh) * 2020-08-27 2022-06-10 恒宝股份有限公司 View-change二次启动定时器的定时期限延长方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
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 崔晓晖 一种联盟区块链网络的共识方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10158527B2 (en) * 2016-10-28 2018-12-18 International Business Machines Corporation Changing an existing blockchain trust configuration

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 崔晓晖 一种联盟区块链网络的共识方法

Also Published As

Publication number Publication date
CN110443616A (zh) 2019-11-12

Similar Documents

Publication Publication Date Title
CN108964924B (zh) 数字证书校验方法、装置、计算机设备和存储介质
CN106972931B (zh) 一种pki中证书透明化的方法
CN112311735B (zh) 可信认证方法,网络设备、系统及存储介质
CN110268679B (zh) 基于区块链的认证方法和系统
CN112436940B (zh) 一种基于零知识证明的物联网设备可信启动管理方法
CN108737105B (zh) 私钥的找回方法、装置、私钥设备和介质
CN109687965A (zh) 一种保护网络中用户身份信息的实名认证方法
CN109150861B (zh) 区块链网络通信系统
Xiao et al. A survey of accountability in computer networks and distributed systems
CN113940032A (zh) 用于在区块链网络中记录工作历史并证明声誉的方法和装置
CN111163109B (zh) 区块链去中心式节点防仿冒方法
CN113328997A (zh) 联盟链跨链系统及方法
CN113746858A (zh) 一种基于可验证随机函数的跨链通信方法
CN114503146A (zh) 用于在区块链网络中注册和鉴别矿工身份的方法和装置
CN115378604A (zh) 一种基于信誉值机制的边缘计算终端设备的身份认证方法
CN110930153A (zh) 基于隐藏第三方账号的区块链隐私数据管理方法和系统
CN110910139A (zh) 基于区块链的可信硬件与高性能去中心化匿名加密的算法
US10735395B2 (en) Conducting secure interactions utilizing reliability information
CN114556864A (zh) 安全共生挖掘的方法和装置
CN115174570A (zh) 一种基于动态委员会的跨链共识方法及系统
CN113923217B (zh) 一种基于dag的异步拜占庭共识方法及系统
CN110443616B (zh) 基于随机门限签名机制的拜占庭容错共识方法
Fang et al. Pelopartition: Improving blockchain resilience to network partitioning
CN114528565A (zh) 一种基于区块链的敏感数据高效上链算法
CN112039837B (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