一种联盟链共识下满足分区容忍性的拓扑构造方法及系统与流程

文档序号:21788498发布日期:2020-08-07 20:39阅读:316来源:国知局
一种联盟链共识下满足分区容忍性的拓扑构造方法及系统与流程
本发明属于网络构建技术改进领域,尤其涉及一种联盟链共识下满足分区容忍性的拓扑构造方法。
背景技术
:区块链,指的是一种在对等网络(peer-to-peernetworking,又称点对点网络)环境下,通过透明和可信规则,构建不可伪造、不可篡改和可追溯的块链式数据结构,来实现和管理事务处理的模式。根据人们早期对区块链的讨论,狭义上,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本;广义上,区块链是利用块链式数据结构来验证和存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。区块链本质上是一种去中心化的分布式账本,而早在区块链出现以前,分布式的思想就已经被提出并日益发展成熟。2000年,ericbrewer在某个研讨会上提出猜想:一致性(c:consistency)、可用性(a:availability)和分区容忍性(p:partitiontolerance)三者无法在分布式系统中同时被完全满足。2002年,lynch等人证明了这个猜想,并将其上升为cap定理。cap定理首次将一致性、可用性和分区容忍性三个因素提炼为分布式系统设计的重要特征。具体地,(1)一致性指系统中任何的操作都应该看起来是“原子”或串行的,所有的操作都看起来像被全局排序;(2)可用性指任何正常节点受到请求后都应该在有限的时间内给出响应;(3)分区容忍性指当网络在某一时刻发生分区时,系统仍然能够满足一致性和可用性。由于区块链的网络环境十分复杂,pow等主流区块链共识算法通过弱化严格一致性为长时间的最终一致性来满足高可用性和分区容忍性,但这会导致系统的tps性能受限。因此,eos等一些高性能的区块链系统选择牺牲部分分区容忍性,通过控制参与记账的节点数量来换取tps性能的提升。上述两种手段都只是在一致性、可用性和分区容忍性中选择两个因素作为主要强化的点,而大幅度弱化第三个因素,距离cap极限还有很大的空间。比特币采用了基于互联网的点对点分布式网络架构,每个节点都具备网络路由功能。当一个新节点需要接入到比特币网络中时,执行以下步骤:1.使用dns种子或seednode命令寻找到比特币网络中的有效节点。2.向发现的有效比特币节点发送一条包含基本认证内容的version消息进行初始握手通信过程,建立连接。3.将自己的ip地址发送给已连接的节点,这些节点收到后将此转发给它们各自的连接节点,使网络中有更多的节点接收到新节点。4.向已连接节点请求其已知的节点ip地址列表,从而找到更多可连接的节点。5.定期向已建立连接的节点发送信息维持连接,如果与某个节点之间长达90分钟没有通信,则被认为已经断开,开始寻找一个新的节点。由于比特币通信基于tcp协议,每个节点的tcp连接数有限,因此超过数量的ip地址会被忽略。启动完成后,节点会记住最近成功连接的节点,当重新启动后可以迅速与先前的节点重新建立连接。如果先前节点均无法连接,则重新从步骤(1)开始执行。在比特币区块链节点间通信过程中,不要求维护网络的拓扑结构,也就是不需要将网络进行逻辑意义上抽象,采用泛洪策略进行数据的传输。泛洪思想简单易于实现,而且节点加入、离开以及失效等行为对整个系统的负面影响较小,网络可靠性高。但是,由于网状结构互相连通,泛洪有可能引起节点多次重复收到相同的数据,导致节点信息冗余接收,大量无用的重复数据传输也消耗着网络资源。基于联盟链的一类权威证明(proofofauthority,poa)共识算法由以太坊联合创始人兼前首席技术官gavinwood于2017年提出,目前用在以太坊测试网kovan中。poa的共识流程为:首先在创世区块中指定一组初始授权的签名者,启动挖矿后签名者开始对生成的区块进行签名并广播上链。如果其他已授权的签名者反对该区块生成,则对该区块的签名者进行“踢出”投票,票数超过签名者总数的50%即取消区块对应签名者的记账权。为了减少恶意签名者带来的损失,同一个签名者只能签名(signer_count/2)+1个区块中的一个。为了降低分叉的概率,每一高度都有一个签名者处于in-turn状态,其他签名者处于out-of-turn状态,in-turn状态的签名者能够立刻广播自己的区块,out-of-turn状态的签名者生成区块时则会随机延时一段时间后再广播。poa共识依赖于有效且值得信赖的身份认证机制。考虑到签名者的身份是向全网公开的,一旦攻击者攻击了超过半数的签名者,则系统无法保证区块的正确性。另一方面,相较传统的pbft共识算法,poa共识算法通过弱化一致性需求为无一致性(aura客户端)或最终一致性(clique客户端),来达到高可用性和分区容忍性。技术实现要素:本发明的目的在于提供一种联盟链共识下满足分区容忍性的拓扑构造方法,旨在解决上述的技术问题。本发明是这样实现的,一种联盟链共识下满足分区容忍性的拓扑构造方法,所述拓扑构造方法包括以下步骤:s1、将联盟链共识机制与网络拓扑结构相结合使联盟链共识在概率上满足分区容忍性;s2、将系统的分区容忍性抽象为一类可收敛的markov过程并获取系统的稳态概率;s3、估算故障信道数量一定时发生分区故障且不满足一致性或可用性的概率及最小修复时间,得到系统的分区容忍概率及平均最小修复时间;s4、根据得到的分区容忍概率及平均最小修复时间分析不同网络拓扑结构下的资源开销和分区容忍性,为不同需求的联盟链共识构造规模适合、分区容忍性高的网络拓扑结构。本发明的进一步技术方案是:所述步骤s2中markov过程收敛于一个独立初始分布的稳态分布,在单一网络拓扑结构下获取系统的稳态概率包括以下步骤:s21、将状态转移矩阵p循环与自身相乘;s22、判断连续两次乘积之差的矩阵2-范数是否小于设定的收敛精度,若小于,则认为此时的p的幂值为稳态概率矩阵p*,若不小于,则返回步骤s21。本发明的进一步技术方案是:所述步骤s3中各个分析元素的mtbf和mttr都是无记忆的独立过程且均值恒定;在单一网络拓扑结构下获取系统的分区容忍概率包括以下步骤:s311、对于稳态系统的每个可能状态分别抽样n次;s312、估计每个状态下发生分区故障且不满足一致性或可用性的概率;s313、再根据全概率公式计算系统的分区容忍概率,全概率公式为:l表示信道总数,i表示稳态系统中有且仅有i条信道处于故障状态。本发明的进一步技术方案是:在单一网络拓扑结构下获取系统的平均最小修复时间包括以下步骤:s321、对每一个发生分区故障且不满足一致性或可用性的样本计算最小修复时间;s322、乘以该样本在总系统分区容忍问题中所占的权重,得到系统的平均最小修复时间。本发明的进一步技术方案是:在层级化网络拓扑结构中,根据共识的过程,下级域的分区容忍不仅受自身的网络拓扑结构影响,还与高层级域的分区容忍性有关;系统的分区容忍概率为系统的平均最小修复时间为其中,表示各个域的分区容忍概率,表示各个域的平均最小修复时间。本发明的另一目的在于提供一种联盟链共识下满足分区容忍性的拓扑构造系统,所述拓扑构造系统包括结合模块,用于将联盟链共识机制与网络拓扑结构相结合使联盟链共识在概率上满足分区容忍性;收敛模块,用于将系统的分区容忍性抽象为一类可收敛的markov过程并获取系统的稳态概率;抽样估计模块,用于估算故障信道数量一定时发生分区故障且不满足一致性或可用性的概率及最小修复时间,得到系统的分区容忍概率及平均最小修复时间;构建网络模块,用于根据得到的分区容忍概率及平均最小修复时间分析不同网络拓扑结构下的资源开销和分区容忍性,为不同需求的联盟链共识构造规模适合、分区容忍性高的网络拓扑结构。本发明的进一步技术方案是:所述收敛模块中markov过程收敛于一个独立初始分布的稳态分布,在单一网络拓扑结构下获取系统的稳态概率包括循环相乘单元,用于将状态转移矩阵p循环与自身相乘;判断单元,用于判断连续两次乘积之差的矩阵2-范数是否小于设定的收敛精度,若小于,则认为此时的p的幂值为稳态概率矩阵p*,若不小于,则返回循环相乘单元。本发明的进一步技术方案是:所述抽样估计模块中各个分析元素的mtbf和mttr都是无记忆的独立过程且均值恒定;在单一网络拓扑结构下获取系统的分区容忍概率包括抽样单元,用于对于稳态系统的每个可能状态分别抽样n次;估计单元,用于估计每个状态下发生分区故障且不满足一致性或可用性的概率;计算单元,用于再根据全概率公式计算系统的分区容忍概率,全概率公式为:l表示信道总数,i表示稳态系统中有且仅有i条信道处于故障状态。本发明的进一步技术方案是:在单一网络拓扑结构下获取系统的平均最小修复时间包括计算最小修复时间单元,用于对每一个发生分区故障且不满足一致性或可用性的样本计算最小修复时间;计算平均最小修复时间单元,用于乘以该样本在总系统分区容忍问题中所占的权重,得到系统的平均最小修复时间。本发明的进一步技术方案是:在层级化网络拓扑结构中,根据共识的过程,下级域的分区容忍不仅受自身的网络拓扑结构影响,还与高层级域的分区容忍性有关;系统的分区容忍概率为系统的平均最小修复时间为其中,表示各个域的分区容忍概率,表示各个域的平均最小修复时间。本发明的有益效果是:将网络拓扑结构与联盟链共识机制相结合,使得联盟链共识在概率上满足分区容忍性,进而能够实现cap三个因素的共存,具有很高的现实意义;采用在一段时间内保持不变的平均故障间隔时间和平均故障修复时间作为参数,提高markov模型对于系统状态概率分布趋势的预测准确度;估算故障信道数量一定时发生分区故障且不满足一致性或可用性的概率及最小修复时间,最大程度适应了共识机制的自身分区容忍性和网络拓扑结构特征。附图说明图1是一般网络拓扑结构的markov状态转移图示意图。图2是本发明实施例提供的层级化网络拓扑结构的域编号示意图。图3是本发明实施例提供的多维超方形网络拓扑结构的分区容忍概率示意图。图4是本发明实施例提供的多维超方形网络拓扑结构的平均最小修复时间示意图。图5是本发明实施例提供的多点全连接网络拓扑结构的分区容忍概率示意图。图6是本发明实施例提供的多点全连接网络拓扑结构的平均最小修复时间示意图。图7是本发明实施例提供的层级化网络拓扑结构的下边界情况示意图。图8是本发明实施例提供的完全对称层级化网络拓扑结构示意图。图9是本发明实施例提供的半对称层级化网络拓扑结构示意图。图10是本发明实施例提供的不对称层级化网络拓扑结构示意图。图11是本发明实施例提供的联盟链共识下满足分区容忍性的拓扑构造方法的流程图。具体实施方式如图11所示,本发明提供的一种联盟链共识下满足分区容忍性的拓扑构造方法,其详述如下:现有的区块链系统仅在共识层面强化了一致性、可用性和分区容忍性中的两个因素,并伴随了第三个因素的大幅弱化,较cap极限仍有距离。此外,在数据通信层面,目前主流的区块链系统对如何维护网络拓扑结构均没有考虑,这带来了潜在的网络通信隐患和资源浪费。针对上述问题,本发明——一种联盟链共识下满足分区容忍性的拓扑构造方法与系统,将网络拓扑结构与联盟链共识机制相结合,使得联盟链共识在概率上满足分区容忍性,进而能够实现cap三个因素的共存。本发明还提出一种分区容忍性计算方法,将系统的分区容忍问题抽象为一类可收敛的markov过程,并使用matlab等仿真软件抽样和计算网络在发生分区故障时不满足一致性或可用性的概率和平均最小修复时间。根据上述计算方法,本发明具体分析不同网络拓扑结构下的资源开销和分区容忍性,为不同需求的联盟链共识构造规模适合、分区容忍性高的网络拓扑结构。本发明技术方案在不影响共识算法自身一致性和可用性的基础上,将网络拓扑结构与联盟链共识机制相结合,使得联盟链共识在概率上满足分区容忍性,进而能够实现cap三个因素的共存,具有很高的现实意义。提出一种分区容忍性计算方法,将系统的分区容忍问题抽象为一类可收敛的markov过程,采用在一段时间内保持不变的平均故障间隔时间和平均故障修复时间作为参数,提高markov模型对于系统状态概率分布趋势的预测准确度。不同共识机制的分区容忍性不同,不同网络拓扑下可能发生分区故障的情况也不同,因此它们的故障概率具有各异性特征。使用matlab等仿真软件抽样估计故障信道数量一定时发生分区故障且不满足一致性或可用性的概率及最小修复时间,最大程度适应了共识机制的自身分区容忍性和网络拓扑结构特征。由单一网络拓扑结构下的计算方法进一步推导层级化网络拓扑结构下的分区容忍性,不仅适用于一般的单链架构,也适用于多链和跨链架构,具有广阔的应用前景。具体分析不同网络拓扑结构下的资源开销和分区容忍性,为不同需求的联盟链共识构造规模适合、分区容忍性高的单一或层级化网络拓扑结构。不同层级的域可以采用相同或不同的网络拓扑结构和参数,同一层级不同域的网络拓扑也可以不完全相同。评价通信网络一般建立在以下基本假设基础上:1.参与分析的所有元素只有两种状态:工作和故障。2.各个分析元素之间发生故障和修复是互相独立的。3.各个分析元素的mtbf(meantimebetweenfailures,平均故障间隔时间)和mttr(meantimetorepair,平均故障修复时间)都是无记忆的独立过程且均值恒定。4.mtbf远大于mttr。基于上述假设,由于每个元素均处于工作-故障-修复的多次过程,可以采用markov过程来进行数学描述。定义参数如下:v:网络节点总数。l:网络信道总数。k:联盟链共识机制满足一致性和可用性最少需要的共识节点数量,即当且仅当某个分区内的共识节点数量≥k,此联盟链共识机制满足一致性和可用性。λ:信道单位时间内故障中断的概率,即μ:系统中某条处于故障状态的信道单位时间内被修复的概率,即一、单一网络拓扑结构的分区容忍概率和平均最小修复时间对于一个包含了v个节点和l条信道的网络拓扑结构(如多维超方形结构或多点全连接结构),作markov状态转移图,如图1所示。第i个系统状态表示该网络中有且仅有i条信道处于故障状态(0≤i≤l)。该markov模型的状态转移矩阵是一个规模为(l+1)×(l+1)的矩阵p,其中元素pji表示从第i个系统状态转移到第j个系统状态的概率。令m表示状态i与状态j中相同的故障信道的数量,则m的取值范围是[max{i+j-l,0},min{i,j}]。上述markov模型的状态转移矩阵p满足三个特性:1.由于p的所有元素都大于等于0,且某一列的元素和表示给定初始状态下所有可能下一跳的概率之和,即p的列和均为1,因此p满足随机性。2.由于各个信道之间发生故障和修复是互相独立的,每一个系统状态都可来自任意的其他状态,即上述markov状态转移图是全连通的,所以p满足不可约性。3.由图1可知,系统状态间不存在简单循环,因此p满足非周期性。因此,上述markov过程最终会收敛到一个独立于初始分布的稳态分布。算法1描述了系统稳态概率的迭代计算过程。将状态转移矩阵p循环与自身相乘,若连续两次乘积之差的矩阵2-范数小于给定的收敛精度,则认为此时的p的幂值为稳态概率矩阵p*。由于各个分析元素的mtbf和mttr都是无记忆的独立过程且均值恒定,因此能够通过抽样估计故障信道数量一定时发生分区故障且不满足一致性或可用性的概率。算法2描述了单一网络拓扑结构下系统的分区容忍概率计算过程。对于稳态时系统可能处于的各种状态,分别采样n次,估计其发生分区故障且不满足一致性或可用性的概率,再根据全概率公式计算系统的分区容忍概率。最小修复时间的定义为系统在发生某种故障时能够修复部分信道使得系统满足一致性和可用性所需的最小时间。算法3描述了单一网络拓扑结构下系统的平均最小修复时间计算过程。在算法2的基础上,对于每一个发生分区故障且不满足一致性或可用性实例,计算其最小修复时间,再乘以该实例在总的系统分区容忍问题中所占的权重,得到系统的平均最小修复时间。二、层级化网络拓扑结构的分区容忍概率和最小平均修复时间在一个层级化的网络拓扑结构中,下级域节点在本域内共识生成区块后,将该区块传递至上级域节点继续高一级的共识。对于一个n级网络拓扑结构,将各个域按照(i1i2i3…)的树形结构编号,如图2所示。下级域的分区容忍性不仅受自身的网络拓扑结构影响,还与高层级域的分区容忍性有关。令表示各个域的分区容忍概率。则系统的分区容忍概率为同理,令表示各个域的平均最小修复时间。则系统的平均最小修复时间为以数字光缆系统为例,下面分别计算联盟链中的投票证明共识机制(proofofvote,pov)采用超方形网络拓扑结构和全连接网络拓扑结构时的分区容忍概率和平均最小修复时间。根据国家标准的规定,具有主备用系统自动倒换功能的数字光缆通信系统应满足表1所示的全年指标。故取参数对(λ,μ)∈{(4.5662×10-4,4.1667×10-2),(2.7397×10-4,6.9444×10-2),(3.8358×10-5,4.9603×10-1),(2.5571×10-5,7.4405×10-1)}。表1数字光缆通信系统可靠性指标链路长度/km50003000420280双向全程故障次数42.40.3360.224mtbf/h219036502607039107φ/fit4566202739703835825570mttr/h2414.42.0161.344f/%0.2740.1640.0230.015a/%99.72699.83699.97799.985多维超方形和多点全连接两种网络拓扑结构的资源开销如表2所示。表2多维超方形和多点全连接网络拓扑结构的资源开销在pov共识中,其分区容忍概率和平均最小修复时间的计算结果,如图3-图6所示。继续考虑以图7-图10为例的4种层级化网络拓扑结构。图7给出了一种本方法的下边界情况,即顶级、二级和三级域的拓扑结构均为2维超方形;图8给出了一种完全对称的3级拓扑构造方法,顶级、二级和三级域的拓扑结构均为3维超方形;图9给出了一种半对称的2级拓扑构造方法,同级域间的拓扑结构相同,但顶级域的拓扑结构为4维超方形,二级域的拓扑结构则为3维超方形;图10给出了一种不对称的2级拓扑构造方法,上级和下级域、同级域间的拓扑结构均不同,具体地,顶级域采用4维超方形结构,同时分别有4、8、4个二级域采用4维超方形、3维超方形和7点全连接结构。假设图7-图10中拓扑的顶级、二级和三级链路长度分别为5000km、3000km和420km。利用图3-图6的多维超方形和多点全连接的分区容忍性计算结果,进一步计算图7-图10中的4种层级化网络拓扑结构的分区容忍概率和平均最小修复时间分别为:(1)下边界情况p=1-[(1-p1)+p1*(1-p11)*4+p1*p11*(1-p111)*4*4]≈1-4×10-4/h,即大约每3个月会发生一次分区失效故障。t=[t1*(1-p1)+t11*p1*(1-p11)*4+t111*p1*p11*(1-p111)*4*4]/(1-p)≈21h,即发生分区失效故障后的平均最小修复时间大约为21个小时。(2)完全对称的3级拓扑结构p=1-[(1-p1)+p1*(1-p11)*8+p1*p11*(1-p111)*8*8]≈1-5×10-8/h,即大约每2,283年会发生一次分区失效故障。t=[t1*(1-p1)+t11*p1*(1-p11)*8+t111*p1*p11*(1-p111)*8*8]/(1-p)≈23h,即发生分区失效故障后的平均最小修复时间大约为23个小时。(3)半对称的2级拓扑结构p=1-[(1-p1)+p1*(1-p11)*16]≈1-1×10-8,即大约每11,416年会发生一次分区失效故障。t=[t1*(1-p1)+t11*p1*(1-p11)*16]/(1-p)≈14h,即发生分区失效故障后的平均最小修复时间大约为14个小时。(4)不对称的2级拓扑结构p=1-[(1-p1)+p1*(1-p11)*4+p1*(1-p12)*8+p1*(1-p13)*4]≈1-6×10-9,即大约每19,026年会发生一次分区失效故障。t=[t1*(1-p1)+t11*p1*(1-p11)*4+t12*p1*(1-p12)*8+t13*p1*(1-p13)*4]/(1-p)≈14h,即发生分区失效故障后的平均最小修复时间大约为14个小时。本发明的另一目的在于提供一种联盟链共识下满足分区容忍性的拓扑构造系统,所述拓扑构造系统包括结合模块,用于将联盟链共识机制与网络拓扑结构相结合使联盟链共识在概率上满足分区容忍性;收敛模块,用于将系统的分区容忍性抽象为一类可收敛的markov过程并获取系统的稳态概率;抽样估计模块,用于估算故障信道数量一定时发生分区故障且不满足一致性或可用性的概率及最小修复时间,得到系统的分区容忍概率及平均最小修复时间;构建网络模块,用于根据得到的分区容忍概率及平均最小修复时间分析不同网络拓扑结构下的资源开销和分区容忍性,为不同需求的联盟链共识构造规模适合、分区容忍性高的网络拓扑结构。所述收敛模块中markov过程收敛于一个独立初始分布的稳态分布,在单一网络拓扑结构下获取系统的稳态概率包括循环相乘单元,用于将状态转移矩阵p循环与自身相乘;判断单元,用于判断连续两次乘积之差的矩阵2-范数是否小于设定的收敛精度,若小于,则认为此时的p的幂值为稳态概率矩阵p*,若不小于,则返回循环相乘单元。所述抽样估计模块中各个分析元素的mtbf和mttr都是无记忆的独立过程且均值恒定;在单一网络拓扑结构下获取系统的分区容忍概率包括采用单元,用于对于稳态系统的每个可能状态分别抽样n次;估计单元,用于估计每个状态下发生分区故障且不满足一致性或可用性的概率;计算单元,用于再根据全概率公式计算系统的分区容忍概率,全概率公式为:l表示信道总数,i表示稳态系统中有且仅有i条信道处于故障状态。在单一网络拓扑结构下获取系统的平均最小修复时间包括计算最小修复时间单元,用于对每一个发生分区故障且不满足一致性或可用性的样本计算最小修复时间;计算平均最小修复时间单元,用于乘以该样本在总系统分区容忍问题中所占的权重,得到系统的平均最小修复时间。在层级化网络拓扑结构中,根据共识的过程,下级域的分区容忍不仅受自身的网络拓扑结构影响,还与高层级域的分区容忍性有关;系统的分区容忍概率为系统的平均最小修复时间为其中,表示各个域的分区容忍概率,表示各个域的平均最小修复时间。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1