CN111179087B - 一种基于网格仲裁的联盟链共识方法 - Google Patents
一种基于网格仲裁的联盟链共识方法 Download PDFInfo
- Publication number
- CN111179087B CN111179087B CN201911423503.9A CN201911423503A CN111179087B CN 111179087 B CN111179087 B CN 111179087B CN 201911423503 A CN201911423503 A CN 201911423503A CN 111179087 B CN111179087 B CN 111179087B
- Authority
- CN
- China
- Prior art keywords
- arbitration
- node
- group
- consensus
- nodes
- 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
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
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Hardware Redundancy (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于网格仲裁的联盟链共识方法,属于区块链技术领域。该方法以网格仲裁算法为基础,采用可验证随机函数将整个联盟链系统的节点划分为仲裁领导团与仲裁团两部分,通过仲裁团内部的改进拜占庭算法来达成区域共识,继而由仲裁领导团来完成对提出交易的最终确认。本发明所述方法与传统拜占庭共识算法相比,可以有效提升整个系统的吞吐量,提升区块链的整体共识效率。
Description
技术领域
本发明属于区块链技术领域,涉及一种基于网格仲裁的联盟链共识方法。
背景技术
区块链最早可追溯于1991年,由Haber和Bayeret提出了在分布式系统里采用加密哈希函数和默克尔树,用时间戳高效、安全的记录数据,并将加密的数据区块连接链。直至2008年,中本聪发表了一篇《比特币:一种点对点的电子现金系统》,宣布了第一代区块链技术的诞生与大规模应用。此后的区块链技术则是将分布式数据存储、点对点传输、共识机制和加密算法等技术从比特币中提炼出来,配合自动化脚本代码所组成的智能合约进行编程和业务处理的一种分布式存储账本体系。
共识算法(consensus algorithm)是指在多方协同环境下使所有参与方对任务执行结果达成一致(共识)的算法。共识算法多应用于确保分布式数据一致,在区块链中引用共识算法最早是为了解决新交易块加入哈希链表中可能出现的“块冲突”问题,也就是同时多个块被不同的块创建者加入到哈希链表中而引起的链表分叉问题,他可能导致双重花费(double spending)与交易无效的风险。
目前,区块链常用的算法一般有工作量证明(PoW)、权益证明(PoS)和实用拜占庭算法(PBFT),而前两种类型算法,即PoW和PoS算法,常用于公有链中,其特征是系统吞吐量极低,可扩展性高。而拜占庭类型算法由于算法共识特点,常常需要O(n2)通信复杂度,但是随着节点数量n的增多导致可扩展性严重受到制约。
发明内容
有鉴于此,本发明的目的在于提供一种基于网格仲裁的联盟链共识方法,通过仲裁领导团线性增长方式有效降低整个整个系统的通信量,提升整个系统的吞吐量,优化联盟链的可扩展性问题。
为达到上述目的,本发明提供如下技术方案:
一种基于网格仲裁的联盟链共识方法,以网格仲裁算法为基础,将小于半数的十字仲裁机制引入到共识算法中,并使整个节点分为仲裁领导团和仲裁团两个组成部分。该方法先使用随机抽签函数将仲裁领导团从节点中选举出来,再将剩余的节点划分给每个仲裁领导节点,构成网格拓扑结构。该方法具体包括以下步骤:
S1:初始时,各个未组网节点向证书授权中心(CA)获取密钥,并广播发送身份标识信息;各个节点运行抽签算法,根据随机种子值seed和期望仲裁领导团数t从未组网节点中抽取t个用户组成仲裁领导团;
S2:仲裁领导团的各个节点向系统申请拓扑结构图编号,确定各自身份编号;未组网节点再运行可验证随机函数,抽取节点,轮询发送给每个仲裁领导团;仲裁领导节点接收未组网节点,并将其作为各自的仲裁团成员;最后,各个仲裁团成员之间相互通信,收集仲裁团内部的拓扑信息;
S3:客户端向仲裁领导团成员发送交易信息,仲裁领导团成员在其内部的仲裁团进行共识;仲裁团内部采用拜占庭算法进行快速共识,将每个节点共识之后的哈希值传递给仲裁团归属的仲裁领导节点;
S4:仲裁领导团成员收到其所属仲裁团内部共识达成的哈希值集合,通过拜占庭协议达成共识,大于2/3节点的交易将被仲裁领导团的成员集体接受;仲裁领导团将这一轮达成共识的交易进行全网广播,分散给其下属的各个节点;
S5:在本轮共识结束之前,超时的交易将被传递给多个仲裁团进行仲裁,以使整个交易的共识得到快速收敛;在本轮共识结束之后,各个仲裁领导的仲裁团重组;系统将本轮所有交易的哈希值作为下一轮系统的随机种子seed进行全网广播。
进一步,所述步骤S1中,随机选举仲裁领导团节点的具体步骤为:
S11:初始时,系统给定一个公共随机值作为随机种子seed和阈值t,并进行全网广播;
S12:各个节点进行本地抽签;即未组网节点将收到的随机种子seed和自己的私钥Sk作为可验证随机函数(Verifiable Random Function)的输入值,运算,产生一个随机值value和零知识证明proof;
S13:节点之间提交候选区块,即各个节点将各自产生的随机值value与阈值t进行比较,低于阈值t的节点作为仲裁领导团候补节点,并将自己节点的抽签结果(value)、零知识证明proof和候选区块进行全网广播;
S14:节点之间验证候选区块,即各个节点将收到的抽签结果(value)、零知识证明proof、随机种子seed和各个候补节点的公钥Pk作为输入,运行可验证随机函数来证明仲裁领导团节点的正确性;
S15:节点之间广播,即将提议的候补节点信息进行全网广播。
进一步,所述步骤S2中,仲裁领导团进行组网,生成仲裁团的具体步骤为:
S21:仲裁领导团内的各个节点向证书授权中心(CA)申请拓扑结构编号;
S22:未组网节点再运行可验证随机函数,随机抽取组内节点;
S23:被抽取出来的节点向证书授权中心(CA)申请拓扑结构编号;
S24:完成编号分配的节点将自身信息通知给所属仲裁领导团成员,加入该成员所在的仲裁团;
S25:重复步骤S21~S24,直至所有仲裁团组网成功。
进一步,所述步骤S3中,仲裁团内部采用拜占庭算法进行快速共识的具体步骤为:
S31:客户端请求:客户端将交易发送给仲裁领导节点(leader);
S32:仲裁领导节点(leader)负责广播交易请求到所属仲裁团的所有节点,并执行仲裁锁协议;
S33:仲裁所协议阶段:当执行完仲裁锁协议,仲裁团各个节点将处理结果返回给仲裁领导节点(leader);
S34:预准备阶段(Pre-Prepare):仲裁领导节点通过交易分割方法,将客户端提出的交易分割成n份分别发送给其所属仲裁团各个节点;
S35:准备阶段(Prepare):仲裁团节点将交易碎片防入自身缓冲区,并从缓冲区随机挑选交易碎片发送,当满足集齐m份要求时,且m<n,则拼凑出完整交易;
S36:提交阶段(commit):广播commit消息,告诉其他节点某个交易提案n已经处于准备状态;此时集齐至少2f+1个验证通过的commit消息,其中f表示错误节点;
S37:反馈阶段(reply):仲裁团将确认信息反馈给仲裁领导节点(leader),结束内部共识。
进一步,所述步骤S4中,最终共识广播的具体步骤为:
S41:仲裁领导团成员收到自己仲裁团的提案通过后,仲裁领导团运用拜占庭算法进行共识;
S42:仲裁领导团将达成提案进行全网广播。
进一步,所述步骤S5中,剩余交易共识的具体步骤为:
S51:在系统限定时间内,客户端将对未响应的交易重新选择仲裁团进行仲裁;
S52:仲裁团接收交易,并进行共识;
S53:在仲裁过程中,使用仲裁票协议对原有仲裁团仲裁的本交易进行解锁;
S54:重复步骤S51~S53,直至完成本轮所有交易;
S55:将所有交易通过哈希函数构造成哈希值,作为下一轮随机种子seed,并进行全网广播。
进一步,对于仲裁领导节点(Leader)的仲裁锁协议,具体步骤为:
1):仲裁领导节点尝试对本仲裁团内所有节点广播加锁信息(Lock_n);
2):仲裁领导节点收集锁信息票数;
3):判断票数是否到达3/4以上节点;
4):当票数达到3/4以上时,广播票数,开始进入拜占庭算法;
5):判断锁高度H是否低于其他仲裁锁高度H’
6):当票数未达到3/4以上时,广播票数,继续循环执行步骤1),收集票数;
7):当票数未达到3/4以上,且发现锁高度H低于其他仲裁锁高度H',停止广播,结束。
进一步,对于仲裁团节点的仲裁锁协议,具体步骤为:
1):仲裁节点收到交易T加锁信息Q;
2):判断交易T是否有锁;
3):如果没锁,则加锁,并反馈回仲裁领导节点L;
4):如果有锁,则对比交叉仲裁节点接收仲裁领导节点L的锁高度H(等同于锁票数N)与现有仲裁领导节点L'设置的锁高度H';
5):如果锁高度H>H’,对L'的交易T仲裁锁解锁,并返回步骤3);
6):如果锁高度H<H',则保持此锁;通知仲裁领导节点L,结束共识;
7):等待仲裁领导节点(Leader)信息;
8):直到存在一个仲裁节点最先收集到3/4以上的锁票数,收到广播票数,开始进入拜占庭算法。
本发明的有益效果在于:本发明以网格仲裁算法为基础,采用可验证随机函数将整个联盟链系统的节点划分为仲裁领导团与仲裁团两部分,通过仲裁团内部的改进拜占庭算法来达成区域共识,继而由仲裁领导团来完成对提出交易的最终确认。本发明所述方法与传统拜占庭共识算法相比,可以有效提升整个系统的吞吐量,提升区块链的整体共识效率。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明所述共识方法的整体流程图;
图2为本发明所述共识方法的随机组网算法流程图;
图3为本发明所述共识方法的改进的PBFT算法流程图;
图4为本发明所述共识方法的仲裁锁leader算法流程图;
图5为本发明所述共识方法的仲裁节点算法流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
在介绍本发明各实施例之前,先对本发明实施例的应用场景进行说明。区块链系统是一种防篡改的、共享的数字化分布式记账系统,按照区块链的规模和运行模式可分为公有链,私有链以及联盟链。每个区块链系统中包含若干个节点,若干个节点之间可发生不同的交易,并因此产生交易数据。区块链系统通过背书机制与共识算法对各个交易数据进行一致性确定,从而对交易数据进行处理,形成账本数据,也称区块数据。
请参阅图1~图5,本发明提供了一种基于网格仲裁的联盟链链共识方法,以网格仲裁算法为基础,将小于半数的十字仲裁机制引入到共识算法中,并使整个节点分为仲裁领导团和仲裁团两个组成部分。算法先使用随机抽签函数将仲裁领导团从节点中选举出来,再将剩余的节点划分给每个仲裁领导节点,构成网格拓扑结构。其中,若存在的总节点数为n2,那么则可以划分为2n(或2n-1)个仲裁领导节点,将每个仲裁领导节点下存在的2n-1个节点组织成为仲裁团。每个仲裁节点由于十字网格拓扑结构,会归属于多个仲裁领导节点,这样保证在一个仲裁团2n-1的规模里,就可以实现小于半数仲裁的共识算法。通过多进程或者多线程技术,该算法可以在一轮共识内,一次性达成2n(或2n-1)个共识。通过仲裁领导团线性增长方式有效降低整个系统的通信量,提升整个系统的吞吐量,优化联盟链的可扩展性问题。如图1的整体流程图所示,该共识方法具体包括以下步骤:
S101:初始时,各个未组网节点向证书授权中心(CA)获取密钥,并广播发送身份标识信息;各个节点运行抽签算法,根据随机种子值seed和期望仲裁领导团数t从未组网节点中抽取t个用户组成仲裁领导团;
S102:仲裁领导团的各个节点向系统申请拓扑结构图编号,确定各自身份编号;未组网节点再运行可验证随机函数,抽取节点,轮询发送给每个仲裁领导团;仲裁领导节点接收未组网节点,并将其作为各自的仲裁团成员;最后,各个仲裁团成员之间相互通信,收集仲裁团内部的拓扑信息;
S103:客户端向仲裁领导团成员发送交易信息,仲裁领导团成员在其内部的仲裁团进行共识;仲裁团内部采用拜占庭算法进行快速共识,将每个节点共识之后的哈希值传递给仲裁团归属的仲裁领导节点;
S104:仲裁领导团成员收到其所属仲裁团内部共识达成的哈希值集合,通过拜占庭协议达成共识,大于2/3节点的交易将被仲裁领导团的成员集体接受;仲裁领导团将这一轮达成共识的交易进行全网广播,分散给其下属的各个节点;
S105:在本轮共识结束之前,超时的交易将被传递给多个仲裁团进行仲裁,以使整个交易的共识得到快速收敛;在本轮共识结束之后,各个仲裁领导的仲裁团重组;系统将本轮所有交易的哈希值作为下一轮系统的随机种子seed进行全网广播。
其中,随机选举仲裁领导团节点的步骤如下,如图2随机组网算法流程图所示。
S201:初始时,系统给定一个公共随机值作为随机种子seed和阈值t,并进行全网广播;
S202:各个节点进行本地抽签;即未组网节点将收到的随机种子seed和自己的私钥Sk作为可验证随机函数(Verifiable Random Function)的输入值,运算,产生一个随机值value和零知识证明proof;
S203:节点之间提交候选区块,即各个节点将各自产生的随机值value与阈值t进行比较,低于阈值t的节点作为仲裁领导团候补节点,并将自己节点的抽签结果(value)、零知识证明proof和候选区块进行全网广播;
S204:节点之间验证候选区块,即各个节点将收到的抽签结果(value)、零知识证明proof、随机种子seed和各个候补节点的公钥Pk作为输入,运行可验证随机函数来证明仲裁领导团节点的正确性;
S205:节点之间广播,即将提议的候补节点信息进行全网广播。
其中,仲裁领导团进行组网,生成仲裁团的步骤如下:
S301:仲裁领导团内的各个节点向证书授权中心(CA)申请拓扑结构编号;
S302:未组网节点再运行可验证随机函数,随机抽取组内节点;
S303:被抽取出来的节点向证书授权中心(CA)申请拓扑结构编号;
S304:完成编号分配的节点将自身信息通知给所属仲裁领导团成员,加入该成员所在的仲裁团;
S305:重复步骤S301~S304,直至所有仲裁团组网成功。
其中,仲裁团内部进行拜占庭共识算法的步骤如下,如图3改进的PBFT算法流程图所示。
S401:客户端请求:客户端将交易发送给仲裁领导节点(leader);
S402:仲裁领导节点(leader)负责广播交易请求到所属仲裁团的所有节点,并执行仲裁锁协议;
S403:仲裁所协议阶段:当执行完仲裁锁协议,仲裁团各个节点将处理结果返回给仲裁领导节点(leader);
S404:预准备阶段(Pre-Prepare):仲裁领导节点通过交易分割方法,将客户端提出的交易分割成n份分别发送给其所属仲裁团各个节点;
S405:准备阶段(Prepare):仲裁团节点将交易碎片防入自身缓冲区,并从缓冲区随机挑选交易碎片发送,当满足集齐m份要求时(m<n),就可以拼凑出完整交易。
S406:提交阶段(commit):广播commit消息,告诉其他节点某个交易提案n已经处于准备状态。如果集齐至少2f+1个验证通过的commit消息(f代表错误节点)。
S407:反馈阶段(reply):仲裁团将确认信息反馈给仲裁领导节点(leader),结束内部共识。
最终共识广播的具体步骤如下:
S501:仲裁领导团成员收到自己仲裁团的提案通过后,仲裁领导团运用上述拜占庭共识算法进行共识;
S502:仲裁领导团将达成提案进行全网广播;
剩余交易共识与下一轮随机数产生具体步骤如下:
S601:在系统限定时间内,客户端将对未响应的交易重新选择仲裁团进行仲裁;
S602:仲裁团接收交易,采用上述方式进行共识;
S603:在仲裁过程中,使用仲裁票协议对原有仲裁团仲裁的本交易进行解锁;
S604:重复步骤S601~S603,直至完成本轮所有交易;
S605:将所有交易通过哈希函数构造成哈希值(或者前几轮的哈希值),作为下一轮随机种子seed,并广播全网。
仲裁锁协议的具体步骤如下:
对于仲裁领导节点(Leader),其程序步骤如下,如图4仲裁锁leader算法流程图所示。
S701:仲裁领导节点尝试对本仲裁团内所有节点广播加锁信息(Lock_n);
S702:仲裁领导节点收集锁信息票数;
S703:判断票数是否到达3/4以上节点;
S704:当票数达到3/4以上时,广播票数,开始进入拜占庭共识算法;
S705:判断锁高度H是否低于其他仲裁锁高度H’
S706:当票数未达到3/4以上时,广播票数,继续循环执行步骤(S701),收集票数;
S707:当票数未达到3/4以上,且发现锁高度H低于其他仲裁锁高度H',停止广播,结束;
对于仲裁团节点而言,其程序步骤如下,如图5仲裁节点算法流程图所示。
S708:仲裁节点收到交易T加锁信息Q
S709:判断交易T是否有锁;
S710:如果没锁,则加锁,并反馈回仲裁领导节点L;
S711:如果有锁,则对比交叉仲裁节点接收仲裁领导节点L的锁高度H(等同于锁票数N)与现有仲裁领导节点L'设置的锁高度H';
S712:如果锁高度H>H’,对L'的交易T仲裁锁解锁,并返回S710流程;
S713:如果锁高度H<H',则保持此锁;通知仲裁领导节点L,结束共识;
S714:等待Leader信息;
S715:直到存在一个仲裁节点最先收集到3/4以上的锁票数,收到广播票数,开始进入拜占庭共识算法。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1.一种基于网格仲裁的联盟链共识方法,其特征在于,该方法先使用随机抽签函数将仲裁领导团从节点中选举出来,再将剩余的节点划分给每个仲裁领导节点,构成网格拓扑结构;具体包括以下步骤:
S1:初始时,各个未组网节点向证书授权中心获取密钥,并广播发送身份标识信息;各个节点运行抽签算法,根据随机种子值seed和期望仲裁领导团数t从未组网节点中抽取t个用户组成仲裁领导团;
S2:仲裁领导团的各个节点向系统申请拓扑结构图编号,确定各自身份编号;未组网节点再运行可验证随机函数,抽取节点,轮询发送给每个仲裁领导团;仲裁领导节点接收未组网节点,并将其作为各自的仲裁团成员;最后,各个仲裁团成员之间相互通信,收集仲裁团内部的拓扑信息;
S3:客户端向仲裁领导团成员发送交易信息,仲裁领导团成员在其内部的仲裁团进行共识;仲裁团内部采用拜占庭算法进行快速共识,将每个节点共识之后的哈希值传递给仲裁团归属的仲裁领导节点;
仲裁团内部采用拜占庭算法进行快速共识的具体步骤为:
S31:客户端请求:客户端将交易发送给仲裁领导节点;
S32:仲裁领导节点负责广播交易请求到所属仲裁团的所有节点,并执行仲裁锁协议;
S33:仲裁所协议阶段:当执行完仲裁锁协议,仲裁团各个节点将处理结果返回给仲裁领导节点;
S34:预准备阶段:仲裁领导节点通过交易分割方法,将客户端提出的交易分割成n份分别发送给其所属仲裁团各个节点;
S35:准备阶段:仲裁团节点将交易碎片放入自身缓冲区,并从缓冲区随机挑选交易碎片发送,当满足集齐m份要求时,且m<n,则拼凑出完整交易;
S36:提交阶段:广播commit消息,告诉其他节点某个交易提案n已经处于准备状态;此时集齐至少2f+1个验证通过的commit消息,其中f表示错误节点;
S37:反馈阶段:仲裁团将确认信息反馈给仲裁领导节点,结束内部共识;
S4:仲裁领导团成员收到其所属仲裁团内部共识达成的哈希值集合,通过拜占庭协议达成共识,大于2/3节点的交易将被仲裁领导团的成员集体接受;仲裁领导团将这一轮达成共识的交易进行全网广播,分散给其下属的各个节点;
S5:在本轮共识结束之前,超时的交易将被传递给多个仲裁团进行仲裁;在本轮共识结束之后,各个仲裁领导的仲裁团重组;系统将本轮所有交易的哈希值作为下一轮系统的随机种子seed进行全网广播。
2.根据权利要求1所述的一种基于网格仲裁的联盟链共识方法,其特征在于,所述步骤S1中,随机选举仲裁领导团节点的具体步骤为:
S11:初始时,系统给定一个公共随机值作为随机种子seed和阈值t,并进行全网广播;
S12:各个节点进行本地抽签;即未组网节点将收到的随机种子seed和自己的私钥Sk作为可验证随机函数的输入值,运算,产生一个随机值value和零知识证明proof;
S13:节点之间提交候选区块,即各个节点将各自产生的随机值value与阈值t进行比较,低于阈值t的节点作为仲裁领导团候补节点,并将自己节点的抽签结果、零知识证明proof和候选区块进行全网广播;
S14:节点之间验证候选区块,即各个节点将收到的抽签结果、零知识证明proof、随机种子seed和各个候补节点的公钥Pk作为输入,运行可验证随机函数来证明仲裁领导团节点的正确性;
S15:节点之间广播,即将提议的候补节点信息进行全网广播。
3.根据权利要求1所述的一种基于网格仲裁的联盟链共识方法,其特征在于,所述步骤S2中,仲裁领导团进行组网,生成仲裁团的具体步骤为:
S21:仲裁领导团内的各个节点向证书授权中心申请拓扑结构编号;
S22:未组网节点再运行可验证随机函数,随机抽取组内节点;
S23:被抽取出来的节点向证书授权中心申请拓扑结构编号;
S24:完成编号分配的节点将自身信息通知给所属仲裁领导团成员,加入该成员所在的仲裁团;
S25:重复步骤S21~S24,直至所有仲裁团组网成功。
4.根据权利要求1所述的一种基于网格仲裁的联盟链共识方法,其特征在于,所述步骤S4中,最终共识广播的具体步骤为:
S41:仲裁领导团成员收到自己仲裁团的提案通过后,仲裁领导团运用拜占庭算法进行共识;
S42:仲裁领导团将达成提案进行全网广播。
5.根据权利要求1所述的一种基于网格仲裁的联盟链共识方法,其特征在于,所述步骤S5中,剩余交易共识的具体步骤为:
S51:在系统限定时间内,客户端将对未响应的交易重新选择仲裁团进行仲裁;
S52:仲裁团接收交易,并进行共识;
S53:在仲裁过程中,使用仲裁票协议对原有仲裁团仲裁的本交易进行解锁;
S54:重复步骤S51~S53,直至完成本轮所有交易;
S55:将所有交易通过哈希函数构造成哈希值,作为下一轮随机种子seed,并进行全网广播。
6.根据权利要求1所述的一种基于网格仲裁的联盟链共识方法,其特征在于,对于仲裁领导节点的仲裁锁协议,具体步骤为:
1):仲裁领导节点尝试对本仲裁团内所有节点广播加锁信息;
2):仲裁领导节点收集锁信息票数;
3):判断票数是否到达3/4以上节点;
4):当票数达到3/4以上时,广播票数,开始进入拜占庭算法;
5):判断锁高度H是否低于其他仲裁锁高度H’
6):当票数未达到3/4以上时,广播票数,继续循环执行步骤1),收集票数;
7):当票数未达到3/4以上,且发现锁高度H低于其他仲裁锁高度H',停止广播,结束。
7.根据权利要求4或5所述的一种基于网格仲裁的联盟链共识方法,其特征在于,对于仲裁团节点的仲裁锁协议,具体步骤为:
1):仲裁节点收到交易T加锁信息Q;
2):判断交易T是否有锁;
3):如果没锁,则加锁,并反馈回仲裁领导节点L;
4):如果有锁,则对比交叉仲裁节点接收仲裁领导节点L的锁高度H与现有仲裁领导节点L'设置的锁高度H';
5):如果锁高度H>H’,对L'的交易T仲裁锁解锁,并返回步骤3);
6):如果锁高度H<H',则保持此锁;通知仲裁领导节点L,结束共识;
7):等待仲裁领导节点信息;
8):直到存在一个仲裁节点最先收集到3/4以上的锁票数,收到广播票数,开始进入拜占庭算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911423503.9A CN111179087B (zh) | 2019-12-31 | 2019-12-31 | 一种基于网格仲裁的联盟链共识方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911423503.9A CN111179087B (zh) | 2019-12-31 | 2019-12-31 | 一种基于网格仲裁的联盟链共识方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111179087A CN111179087A (zh) | 2020-05-19 |
CN111179087B true CN111179087B (zh) | 2023-07-18 |
Family
ID=70654403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911423503.9A Active CN111179087B (zh) | 2019-12-31 | 2019-12-31 | 一种基于网格仲裁的联盟链共识方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111179087B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036878B (zh) * | 2020-08-28 | 2023-08-22 | 平安科技(深圳)有限公司 | 数据处理方法及装置 |
CN113438214B (zh) * | 2021-06-10 | 2023-04-18 | 国网河北省电力有限公司信息通信分公司 | 一种域名管理系统 |
CN113282198B (zh) * | 2021-06-15 | 2022-10-18 | 重庆电子工程职业学院 | 一种区块链权限管理系统及方法 |
CN114499874B (zh) * | 2021-12-29 | 2023-10-31 | 重庆邮电大学 | 一种应用于工业互联网的拜占庭容错共识优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110268691A (zh) * | 2017-02-07 | 2019-09-20 | 微软技术许可有限责任公司 | 具有经验证的区块链和共识协议的联盟区块链网络 |
CN110535680A (zh) * | 2019-07-12 | 2019-12-03 | 中山大学 | 一种拜占庭容错方法 |
WO2019232789A1 (zh) * | 2018-06-08 | 2019-12-12 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10861112B2 (en) * | 2012-07-31 | 2020-12-08 | Causam Energy, Inc. | Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform |
US11924322B2 (en) * | 2017-05-16 | 2024-03-05 | Arm Ltd. | Blockchain for securing and/or managing IoT network-type infrastructure |
US11531975B2 (en) * | 2018-04-13 | 2022-12-20 | International Business Machines Corporation | Network node management on a blockchain |
CN110930149B (zh) * | 2018-12-07 | 2023-09-26 | 深圳市智税链科技有限公司 | 在区块链网络中确定记账节点的方法、代理节点和介质 |
-
2019
- 2019-12-31 CN CN201911423503.9A patent/CN111179087B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110268691A (zh) * | 2017-02-07 | 2019-09-20 | 微软技术许可有限责任公司 | 具有经验证的区块链和共识协议的联盟区块链网络 |
CN110300973A (zh) * | 2017-02-07 | 2019-10-01 | 微软技术许可有限责任公司 | 联盟区块链网络的建立 |
WO2019232789A1 (zh) * | 2018-06-08 | 2019-12-12 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
CN110535680A (zh) * | 2019-07-12 | 2019-12-03 | 中山大学 | 一种拜占庭容错方法 |
Non-Patent Citations (3)
Title |
---|
亚伦・赖特 ; 普里马维拉・德・菲利普 * |
分散式区块链技术与加密安全法的兴起;亚伦・赖特;普里马维拉・德・菲利普;王延川;;民商法论丛(第02期);第311-361页 * |
区块链共识机制研究与分析;刘童桐;;信息通信技术与政策(第07期);第33-40页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111179087A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111179087B (zh) | 一种基于网格仲裁的联盟链共识方法 | |
CN110784346B (zh) | 一种基于信誉值的pbft共识系统及方法 | |
Yu et al. | Survey: Sharding in blockchains | |
US11128522B2 (en) | Changing a master node in a blockchain system | |
CN111311414B (zh) | 一种基于一致性哈希算法的区块链多方共识方法 | |
CN109447795B (zh) | 一种支持快速达成最终确认性的拜占庭共识方法 | |
CN111092896B (zh) | 基于优化paxos的食品溯源分布式数据同步方法 | |
Stewart et al. | Grandpa: a byzantine finality gadget | |
Zhang | Key management scheme for secure channel establishment in fog computing | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN113570357B (zh) | 一种动态分层的高效pbft算法 | |
CN114218612B (zh) | 一种适用于联盟链高频交易场景的共识方法 | |
CN112636905B (zh) | 基于多角色的可扩展共识机制的系统及方法 | |
CN111478795B (zh) | 一种基于混合拜占庭容错的联盟区块链网络共识方法 | |
CN114422513B (zh) | 一种基于Raft-PBFT的区块链共识方法 | |
US20220278854A1 (en) | Unity Protocol Consensus | |
CN111798234B (zh) | 一种轻量级区块链系统及构造方法 | |
Ganesh et al. | Broadcast extensions with optimal communication and round complexity | |
CN115633035B (zh) | 一种基于改进的pbft物联网区块链共识算法 | |
Le et al. | A lightweight block validation method for resource-constrained iot devices in blockchain-based applications | |
CN115065468A (zh) | 一种基于分组信誉值的pbft共识优化方法 | |
Asheralieva et al. | Throughput-efficient lagrange coded private blockchain for secured IoT systems | |
Fan et al. | Secure time synchronization scheme in iot based on blockchain | |
CN110049030B (zh) | 基于随机连续离散的区块链共识系统 | |
CN116258609A (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 |