一种数据广播与共识解耦的异步区块链共识方法和系统技术方案

技术编号:34034380 阅读:81 留言:0更新日期:2022-07-06 11:55
本发明专利技术公开了一种数据广播与共识解耦的异步区块链共识方法和系统。所述系统包括:多个节点;所述节点可由多台互相信任的物理或虚拟设备共同担任;所述方法包括:数据广播与数据顺序共识解耦,所述节点共同维护多个广播协议实例和一个拜占庭共识协议;所述广播协议负责将某个节点数据传输给其他节点,所述拜占庭共识协议负责对所述多个广播协议实例的结果进行共识;在所述节点内部,可将多个广播协议实例一一对应的交给多台设备负责维护,并将所述广播协议的执行结果传输给节点内部负责执行所述拜占庭共识协议的设备。实施本发明专利技术,可以提高区块链系统的效率,同时可以更方便的通过增加物理资源来提高系统效率。过增加物理资源来提高系统效率。过增加物理资源来提高系统效率。

An asynchronous blockchain consensus method and system with data broadcasting and consensus decoupling

【技术实现步骤摘要】
一种数据广播与共识解耦的异步区块链共识方法和系统


[0001]本专利技术涉及计算机
,尤其涉及一种数据广播与共识解耦的异步区块链共识方法和系统。

技术介绍

[0002]区块链技术是指通过共识机制保证所有参与者共同维护一个分布式账本的技术方案。根据不同的网络模型假设,又可以细分为同步、半同步和异步三种,其中异步是最弱的假设。在异步网络模型假设中,参与方和设计者均无法获得网络延迟的上界,导致异步区块链共识在设计上更加复杂。在现有的设计中,大多采用直接对数据进行共识,或者先分发数据,然后对数据的发送方的身份进行共识的思想。这些设计效率普遍不理想,前者因为其在数据吞吐量和延迟方面的表示很差而不具有实用性,后者虽然相比前者有一定的提高,但是仍然具有较大的确认延迟和较小的交易吞吐量。因此,需要一种新的异步区块链共识机制来打破这种设计思想,以提高异步共识机制的效率。

技术实现思路

[0003]鉴于现有技术中存在的技术问题,本专利技术的目的在于提供一种数据广播与共识解耦的异步区块链共识机制。
[0004]具体的说,本专利技术包括以下两个重要的方面:
[0005]一、一种数据广播与共识解耦的异步区块链共识方法
[0006]本专利技术为两类并行进行的子协议:数据广播协议和数据顺序共识协议。
[0007]在数据广播协议中,假定共识机制参与方有n个,则所有节点会共同维护kn个顺序执行的数据广播协议实例(k为大于0的常数,比如为1),并且每个节点在k条链中担任领导者的角色,负责将用户或节点数据形成顺序输出的数据区块。在每个数据广播协议实例中,执行独立的可靠广播协议,协议的输入为数据区块以及对应的标识,需要注意的是,本专利技术广播协议的具体实现是模块化的,根据不同的需求,可以使用不同的广播协议。但这些广播协议需要满足以下条件:1)协议顺序输出数据区块;2)输出中附带广播协议完成的证据,该证据可以但不限于使用门限签名(threshold

signature)来构造,该证据证明大多数的参与者收到了相同的内容;3)输出来自于广播协议的输入;4)敌手无法伪造2)中所述证据。在理想情况下(网络稳定、节点不发生故障、无敌手等情况下),kn个数据广播协议实例的输出将顺序地稳定增长,即使在拜占庭敌手或异步网络的攻击下,也能保证至少kn

kt个实例的输出稳定顺序增长(t为拜占庭敌手个数)。
[0008]在数据顺序共识协议中,所有参与节点共同顺序执行异步多值拜占庭共识协议(MVBA)。这里需要强调的是,本专利技术MVBA的具体实现是模块化的,根据不同的需求,可以使用不同的MVBA协议。但这些MVBA协议都需要满足以下条件:1)一致性(Agreement):任意两个诚实节点的输出相同;2)外部有效性(External

Validity):存在一个全局已知的断言式Q,使得对所有诚实节点的输出V,都有Q(V)=true;3)终止性(Termination):如果任何一个
诚实节点的输入是有效的,那么最终所有诚实节点都会输出一个值;4)质量有效性(quality):协议的输出有至少超过一半的概率来自诚实节点。MVBA协议的输入为每个节点在自己视角下共同维护的kn条链的长度、在对应的数据可靠广播协议中完成广播的证据以及唯一标识。这里对输入还有一个要求:只有当输入的kn条链的高度中,存在至少z个高度大于上次MVBA协议输出(n

2t≤z≤n

t),且这z条链的领导者各不相同,并且其他高度至少不小于上次共识结果时,MVBA才认为这是一个合法的输入。注:本说明书中提到的高度是指数据广播协议顺序输出的个数。MVBA协议的输出则为该协议的多个有效输入中的某一个。在MVBA协议输出后,节点会将最近的两次输出比较,将最新一次输出相较上一次多出的数据区块按照某种全局已知的确定性算法打包成一个确认区块,并将确认区块放入本地维护的确认区块链上。
[0009]在执行整个协议时,会执行kn个并行的数据广播协议,同时还将顺序地执行MVBA协议。通过这种方法,把数据传输与数据顺序共识解耦,分别由并行的可靠广播协议和MVBA协议来完成。这样,廉价高效的数据广播过程不会被低效的共识过程阻塞,同时也可以通过调整共识过程有效输入的判定条件来进一步减少共识的次数,不过需要注意的是,上述提到的输入有效性判断是保证协议安全执行的最低要求,实际调整中有效条件不能低于上述提到的条件。
[0010]二、一种数据广播与共识解耦的异步区块链共识系统
[0011]为了提高协议整体的效率,除了改进协议外,还可以通过增加物理资源的方法。增加物理资源的方法有两种,一是对单台物理设备进行资源扩充,如增加内存等,二是增加新的物理设备协作完成。本专利技术的共识方法可以很方便的使用第二种方法来提高协议整体的效率。传统来讲,使用第二种方法的一个主要问题是任务如何分工以及各个子设备之间如何沟通,这些问题在我们的架构中并不存在。如所述共识方法,系统中广播协议的kn个实例之间是相互独立的,参与者可以简单的将kn个实例上的工作划分给kn个子设备,每个子设备维护一个广播实例,当然,也可以一台子设备维护多条链。由于链之间完全不需要通信,也不会出现上述的问题。如果系统所有的参与者均拥有多台设备,那么也可以通过增加k值来使得系统的执行可以更方便的划分给这些子设备。通过这种方法,物理资源的增加可以提高系统执行效率。这使得控制多台物理设备组成的集群的大型节点可以更方便的提高协议整体的效率。
[0012]在所述系统中,单个节点可以将协议的执行交由多个设备共同完成。具体来讲,可以分为三种设备:tx_pool设备、broadcaster设备和order设备。其中,tx_pool设备负责接收和分发从客户端或者其他节点获得的交易或数据;broadcatser设备负责执行数据广播协议并执行与该协议的输入输出相关的处理工作;order设备负责执行数据顺序共识协议并执行与该协议的输入输出相关的处理工作。每种设备均可包含若干台设备来协作完成功能。
[0013]注:本说明书中提到的设备如无特别强调,不一定必须与物理上独立的设备实体相对应。即,可以采用软件形式来实现这些设备,或在一个或多个硬件模块或集成电路中实现这些设备,或在不同网络和/或处理器装置和/或微控制器装置中实现这些设备。
[0014]具体地,本专利技术采用的技术方案如下:
[0015]一种数据广播与共识解耦的异步区块链共识方法,所述方法应用于区块链系统,
所述区块链系统含有共识节点集合,所述方法由所述共识节点集合中的共识节点执行,所述方法包括以下步骤:
[0016]所述节点间运行多个并行的数据广播协议;
[0017]所述节点间根据所述数据广播协议的结果,以数据区块链的高度作为输入执行数据顺序共识协议;
[0018]所述节点间根据所述数据顺序共识协议的结果维护一条确认区块链,所述确认区块链上的内容为最终共识结果。
[0019本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据广播与共识解耦的异步区块链共识方法,其特征在于,所述方法应用于区块链系统,所述区块链系统含有共识节点集合,所述方法由所述共识节点集合中的共识节点执行,所述方法包括以下步骤:所述节点间运行多个并行的数据广播协议;所述节点间根据所述数据广播协议的结果,以数据区块链的高度作为输入执行数据顺序共识协议;所述节点间根据所述数据顺序共识协议的结果维护一条确认区块链,所述确认区块链上的内容为最终共识结果。2.如权利要求1所述的方法,其特征在于,所述数据顺序共识协议包含顺序执行异步多值拜占庭共识协议,即MVBA协议。3.如权利要求2所述的方法,其特征在于,所述MVBA协议为异步共识协议,在同步和半同步网络假设下,所述MVBA协议依然能够正常运行,且所述MVBA协议的性质均能保障。4.如权利要求2所述的方法,其特征在于,所述节点在执行所述MVBA协议之前,使用自定义的方法判断是否有数据广播协议输出了新的数据块且满足自定义的有效条件。5.如权利要求4所述的方法,其特征在于,所述自定义的有效条件保证系统安全的最小界:至少z个由不同节点担任领导者角色的数据区块链的高度相较上次共识结果有所增加,且所有数据区块链的高度不小于上次共识结果,其中n

2t≤z≤n

t,n为共识参与者总数,t为系统容忍的敌手数量最大值。6.如权利要求1所述的方法,其特征在于,将所述MVBA协议的共识结果转化为所述确认区块链上的区块的方法是:所述节点获得所述MVBA协议的共识结果时,将其与上一次的共识结果进行比较,将相较上一次共识结果多出的数据区块按照确定性算法打包成一...

【专利技术属性】
技术研发人员:张振峰路远程昊高英梓卢振亮唐强徐静
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1