本发明属于区块链通信技术领域,涉及一种区块链系统中交易认证门限值的更新方法。
背景技术:
区块链最初被提议为一种分散式防篡改账本,该账本记录了一组有序的交易。区块链通过不信任代理之间的分散共识过程来验证这些交易,并最终交易依据时间顺序连接成链。区块链系统大致可分为三类:公共区块链,私有区块链和联盟区块链。在公共区块链中,每个节点都可以参与到协商过程中。并且只有一组选定的节点负责验证联合体区块链中的区块。在区块链中,如何在不可信节点之间达成共识是共识算法的任务。常见的几种共识算法有工作量证明机制(proofofwork)、权益证明机制(proofofstake)、拜占庭一致性容错(practicalbyzantinefaulttolerance)和有向无环图(directacyclicgraph)等等。
在dag中,交易的确认安全性是通过该交易的累计工作量证明来衡量的,每个交易“确认”一个或多个先前的交易,形成一个单向的无环数据结构。为了满足区块链中的激励机制,有三种有效的手段:第一,对于节点来说,尽可能多地批准以前的事务是有奖励的;第二,当有许多以前的交易未被批准时,才会鼓励批准许多以前的交易;第三,节点之间不存在批准前一个交易的竞争,也就是没有挖矿。
在海量数据联网的需求下,以dag为基础的区块链势必成为一种趋势。然而,由于未来通信网络中,流量峰值的不均匀性对dag为基础区块链性能造成了明显的挑战。在现有的区块链中,交易流量过小时,交易被认证所要达到的固定门限值会引起交易的认证时延过大等问题。
技术实现要素:
为了解决背景技术中存在的技术问题,本发明的目的在于提供一种基于dag的区块链系统认证门限的更新方法,该方法能够基于随机过程分析值迭代更新基于dag的区块链系统的认证门限。具体的,该方法首先基于dag为共识算法的区块链,建立了在稳态情况下交易认证的模型,研究了交易认证时延的闭合表达式。然后,根据排队模型和随机函数分布函数来分析最优化的交易认证时延,得到区块链认证门限的更新函数,最后分析dag结构的区块链系统性能。
为了达到上述目的,本发明提供的技术方案是:
采用点对点的方式搭建出基于dag共识算法的区块链系统;
利用排队模型对节点产生交易到交易被认证的过程进行建模,在稳态交易的到达条件下,计算出每个节点发布交易累计权重;
最小化区块链系统给定的认证门限与节点发布交易累计权重之差,得到对应的节点发布交易累计权重,从而计算出最小的交易认证时延;
根据所述最小的交易认证时延,利用随机分布函数获取所述认证门限的更新规则;
若当前阶段的交易到达率触发了更新规则,则更新所述系统认证门限,否则继续求解交易认证时延获取更新规则。
本发明的有益效果:
本发明采用dag作为共识机制,以典型的共识算法tangle为基础,搭建了即入即工作的点对点对等区块链网络。其中,每个节点作为所在网络的全节点,负责交易的广播、认证和记账,并且它们可以主动地去选择新交易批准哪些过去的交易。根据这种规则,最终可以构建出从小节点到大分布式的去中心化的区块链,一方面可以降低网络管理维护的成本,另一方面其中的区块链网络结构简单可以复制推广到各个通信系统中。
本发明在对dag共识网络的性能从两个维度来分析,在第一个层面中,按照交易在共识网络的认证过程来建模,根据排队理论和马尔科夫链状态转移得到将认证门限为作为自变量的交易认证时延。在第二个层面中,在认证门限不确定的情况下,根据优化理论和随机函数分布得到区块链系统认证门限的更新规则,并设立了所述更新规则的触发条件,来提高区块链系统的稳定性。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明的一种基于dag的区块链系统认证门限的更新方法流程图;
图2为本发明的以tangle为共识算法的区块链网络模型图;
图3为本发明采用tangle为共识算法的区块链网络在有无更新规则下的累积权重增长图;
图4为本发明提出的区块链系统认证门限更新规则下的交易认证时延曲线图;
图5为本发明提出的更新方法下的区块链系统的交易吞吐量曲线图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
图1为本发明的一种基于dag的区块链系统认证阈值的更新方法流程图;如图1所示,本发明提出一种基于dag的区块链系统认证门限的更新方法来解决区块链网络中低交易流量到达时的认证时延和安全性问题,并对其系统的交易认证时延进行计算,包括以下步骤:
s1、采用点对点的方式搭建出基于dag共识算法的区块链系统;
在以dag为共识算法的区块链中,每个用户都作为单个节点,参与相互广播交易信息,认证交易,并通过点对点的方式搭建出共识网络。
在本实施例中,以tangle为共识算法的区块链网络模型如图2所示,tangle是一种dag共识算法,图2中的基于dag的区块链系统中,任何用户可以通过任何通信手段将已经产生的交易交由网络节点负责处理,而每个处理节点遵循当前网络的协议规则向其它网络中去广播,例如光网络中的光用户遵循光网络的协议规则,蜂窝网路中的蜂窝用户遵循蜂窝网络协议,卫星网络中的卫星用户遵循卫星网络协议;这些网络中的所有节点都将作为区块链系统中的节点,这些节点执行tangle共识算法对交易认证,最后在每个节点的存储单元中会形成图2中共识层所示的交易账本信息,其中不同填充形状的节点表示不同网络的节点。
s2、利用排队模型对节点产生交易到交易被认证的过程进行建模,在稳态交易的到达条件下,计算出每个节点发布交易累计权重;
在上述区块链网络中,每个交易的到达时间是随机的,可以抽象为0≤t1≤t2≤...,其中,第一个交易的到达时间为t0=0,那么两个交易的到达时间间隔为tk=tk-tk-1,本实施例中应用极限的思想,当时间间隔趋近于0时,一个阶段只有一个交易被发出,所以这里的tk也表示第k个交易和第k-1个交易的到达时间间隔的到达时间间隔,且k≥1。
对于单个节点,交易到达时间的随机性是呈几何分布的,然后从整个区块链系统层面来看,交易的到达一定是连续的。那么,交易的到达时间间隔tk是呈指数分布的。假设每个节点的交易到达率为λk,则交易到达时间间隔期望为e[tk]=1/λk。
在底层的通信网络这一层中,即图2中的光网络、蜂窝网络、卫星网络等通信网络中,考虑到交易在不同网络环境中的通信协议会有交叉适应情形,使用服务窗口无限大的队列对交易进行服务。在排队理论中可以建模成m/m/n,前面两个m表示交易到达时间间隔分布和离开队列时间的时间间隔分布都为指数分布,最后一个n表示每个交易进入到区块链中队列数量,它们之间是并行的。那么可以计算出在不同的队列i和服务成功的概率pi为:
其中,这里λk表示第k个阶段的节点交易到达率,μk表示第k个阶段的节点交易离开率,假设队列无限长,则必须有λk<nμk;p0表示初始队列服务成功的概率,p0通过上述分段函数中第一个函数求得。
那么,对于第k个阶段的节点,进入tangle区块链中的交易到达率为:
λ’k=λkpi(2)
假定每个节点产生交易的哈希算力是恒定不变的,那么第k个阶段的节点产生交易的期望时间是
本发明应用了指数分布的性质,在第k个阶段发布的β个交易时等于前几个阶段的累加的,相当于在第k个阶段需要完成β个交易的任务;
然而,对于每个阶段k≥1,同时在发布β个交易,其中的交易到达时间间隔t(k-1)β+k是以变量λk'为指数分布的,若λ1'是固定不变的,则k≥1时,λ’k也是一个随机变量,具体表达如下:
tk~exp(λ’1)1≤k≤β(4)
以此类推,发布β个交易的时间间隔变量为:
t(k-1)β+k~exp(λ’k)1≤k≤β(5)
根据指数分布的函数,得到概率密度函数为:
公式(6)表示随机变量tk在节点到达率不改变的情况下,单个节点在第k个阶段的时间间隔概率密度分布函数;公式(7)表示随机变量t(k-1)β+k在节点到达率不改变的情况下,单个节点在第k个阶段的时间间隔概率密度分布函数。
在以tangle为基础共识算法的区块链中,每个加入区块链系统的节点之间的工作是互相不影响的,那么节点之间是独立的。假设用n表示参与共识过程的节点数量,相当于有n条并行的队列向区块链中发布交易。因为tk可以看作第k个阶段所有节点发布的交易总和,那么第n个节点在进入tangle后的交易到达
t1n~erlang(λ’1,n)(8)
上述公式(8)和公式(9)分别表示随机变量分布的简写,(10)和(11)是公式(8)和公式(9)具体的概率密度函数展开式,其中条件为k≥1,n≥1。
根据tangle共识算法的基本准则,交易的累计权重值为本交易的自重加上那些直接或间接批准它的交易的累计权重之和。然而,每个交易的自重与它的哈希算力是成正比的,用rn表示第n个节点的算力,那么在此节点发布的交易自重为rnn,0<rn<1。因此在第k个阶段,从第n个节点发布的交易累计权重表示为:
在tangle网络中,稳态时期的新交易是以全覆盖形式去批准之间的旧交易,那么交易的权重增长是呈线性增长的。交易累计权重
s3、最小化区块链系统给定的认证门限与节点发布交易累计权重之差,得到对应的节点发布交易累计权重,从而计算出对应的交易认证时延;
在分析了稳态的交易到达后,为了解决低交易到达率下交易认证时延过大的问题,还需要先在给定系统认证门限的条件下让交易认证时延尽可能的小。为了得到交易到达率的转化方程,需要考虑k个阶段向第k+1个阶段,导出节点交易转化率的状态转移密度函数的随机变量λ’1(k+1)|λ’1(k)表达式。可以知道的是,λ’1(k+1)一定是随者tk单调递增的,那么从λ’1(k+1)到tk和从λ’1(k+1)到λ’1(k)是等价的,则有公式:
将爱尔朗分布带入得到表示式为:
上述的公式中δk+1和n表示爱尔朗分布的参数,并且δk+1与交易到达率之间是独立的。δk+1可以表示为:
除开初始阶段的tk,其它所有阶段的随机变量tk都是相同的。需要注意的是,对于发布β个交易时候的随机变量t(k-1)β+k是多个指数分布叠加的结果,对它的概率密度函数积分得到:
因此,每个节点得到发布β个交易的随机变量t(k-1)β+k是一样的,进而证明不同的节点在不同的阶段内发布的交易的分布函数也是一样的。
在上述分析的支撑下,本发明只需要对任何节点在任何一个阶段的交易去优化该交易的认证时延,本实施例最小化区块链系统给定的认证门限与节点发布交易累计权重之差,得到对应的节点发布交易累计权重,从而计算出对应的交易认证时延;用wt表示tangle区块链系统给定的认证门限,wt表示tangle区块链系统对于认证时延所给出的一种属性权重值;对于其中的任何一个交易,使得参数θ的值尽可能小,另其等于0可以得到最小的认证时延。
通过公式(18)所求得的
s4、根据所述交易认证时延,利用随机分布函数获取所述认证门限的更新规则;
上面已经给出了每个节点在每个阶段交易到达率的概率分布,让θ=0求出的交易认证时延td即是最优的结果。当每个节点的算力值是恒定的情况,在不同的阶段下,有如下关系:
rk=r(k-1)n+1=r(k-1)n+2=...=rkn(20)
上述公式表明节点在不同阶段的算力最终还是取决于它所在的网络中算力的占比比例乘以节点数量。而每个第n个节点队列的服务概率pn是不变的,表示式为:
结合公式(2),可以得到交易到达的更新表达式为:
λ’k=λ’(k-1)n+1=λ’(k-1)n+2=...=λ’kn(22)
公式(20)、(21)和(22)表明,算力与交易到达率之间的关系是呈正比例关系的。因为本发明中最初的tangle区块链系统的认证门限时是恒定不变的,所以先对其乘以一个常量,得到下面关系式:
然而,在总共k个阶段发布β个交易所花的时间一定是代表着下一个阶段的开始时刻,那么β可表示为:
由公式(3)和(24),可以得到:
那么,可以根据上述的区块链系统权重门限的更新规则,去得到每个阶段下的最优的交易认证时延。由公式(17)爱尔朗分布的参数的独立性,公式(25)可以进一步简写为:
上述公式表明,在其它条件恒定时,当tangle区块链中的节点数量增多时,那么系统的下一个阶段更新出的认证门限就会增大,为了保证安全性,此时必须保证节点要发布更多的交易去达到目标任务。同理,在节点数量很少时,进入tangle区块链的交易到达率也会减少,而根据公式(17)的关系,δk时增大的,发布β个交易花费的目标时间α也会增加,那么得到更新的下一个阶段的权重值是减小的,从而降低了低交易到达下的认证时延。
s5、若当前阶段的交易到达率触发了更新规则,则更新所述系统认证门限,否则返回步骤s2继续求解交易认证时延获取更新规则;
以上获得了tangle区块链系统认证门限的更新规则,但是此时系统的更新规则相当敏感,随时都在更新迭代。因此,为了提高稳定性,需要给定更新规则增加一个触发条件。先对随机变量求t(k-1)β+k它的期望值:
还可以得到它的方差为:
从上面两个公式发现,在节点数量恒定不变的时候,交易到达时间间隔变化不平稳的原因是由于tangle区块链中交易到达率的激增。因此,本发明将交易到达率的变化作为触发条件可以很好的提高区块链系统的稳定性。
对于在第k个阶段,进入区块链中的交易数量,可以表示为λ’kn,当它与期望值的差大于方差时,认为这个时候必须进行认证门限的规则更新,表示式为:
那么,当满足触发条件时,进行区块链系统认证门限的更新,否则直接计算出当前交易的认证时延。
在上述实施例的基础上,可以发现本发明采用的一种基于dag的区块链系统认证门限的更新方法一定程度上提高了低交易到达时的认证效率。跟传统的tangle区块链不同的是,本发明考虑了通信网络的稳定性,使用了无限队列长的节点对交易进行过滤处理,表明在服务窗口之外的1-pi队列是无法进入区块链中。另外,在传统的tangle区块链中交易往往会先经历一个适应期,此时网络中新交易的数目是波动。但在本发明中所考虑的是稳态情况下的交易到达,执行批准任务的新交易时没有本质上数量的改变,并且上述实施例中关于从随机变量tk到t(k-1)β+k的分析证明了此种做法的合理性。
在一个优选实施例中,为了验证本发明认证门限的更新方法的有效性,本发明先利用数学工具求得有无认证门限更新规则下,区块链交易的认证时延和网络的吞吐量。
下面列出没有门限更新规则下的交易认证时延的表达式:
注意,这里λ=λ’k,
有更新规则时,没有触发条件时候的交易认证时延还是公式(30),触发条件的交易认证时延的表达式如下:
相应的,可以给出区块链系统的交易吞吐量:
下面结合仿真对本发明的应用效果作详细的描述。
1)仿真条件
根据实际模型中假设的交易到达时间间隔为指数分布,在matlab对其仿真。区块链系统参数设置如下:参与共识验证的节点数量n=100,通信网络服务成功的概率pi=1;在tangle区块链中,每个节点的归一化算力rn=0.01,那么每个交易的自重单位为1,无更新规则的下恒定系统认证门限wt=1000,有更新规则下的系统认证门限的初始值w0=100。
2)仿真结果
图3表示不加入系统认证门限交易的权重变化和加入系统认证门限交易的权重变化对比图。可以发现在引入系统认证门限的更新规则后,即使在初始阶段,交易也能够较快的获得权重增长,这是由于交易进行集中去批准某个交易所导致的。
图4给出了本发明提出的区块链系统认证门限更新规则下的曲线,可以发现特初始阶段,也就是交易到达率较低的时候,交易的认证时延有了明显的降低,最优情况下的交易认证效率提高了67%。然而随者交易到达率的逐渐提高,此种方法的优化效果逐渐趋于饱和,这也间接验证了tangle共识算法本身就是为大流量下的物联网区块链场景设计的。图5根据的交易的认证时延给出了在单位时间内,区块链系统已经认证被交易的交易吞吐量,在起初的低交易到达阶段,本发明采用的方法较大的提高了交易的吞吐量,之后二者的吞吐量趋于平稳,且差距在逐渐减小。
在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
1.一种基于dag的区块链系统认证门限的更新方法,其特征在于,所述方法包括:
采用点对点的方式搭建出基于dag共识算法的区块链系统;
利用排队模型对节点产生交易到交易被认证的过程进行建模,在稳态交易的到达条件下,计算出每个节点发布交易累计权重;
最小化区块链系统给定的认证门限与节点发布交易累计权重之差,得到对应的节点发布交易累计权重,从而计算出对应的交易认证时延;
根据所述交易认证时延,利用随机分布函数获取所述认证门限的更新规则;
若当前阶段的交易到达率触发了更新规则,则更新所述系统认证门限,否则继续求解交易认证时延获取更新规则。
2.根据权利要求1所述的一种基于dag的区块链系统认证门限的更新方法,其特征在于,所述利用排队模型对节点产生交易到交易被认证的过程进行建模包括采用m/m/n模型建立节点产生交易到交易被认证的过程,两个m依次表示交易到达时间间隔分布和离开队列时间的时间间隔分布;n表示每个交易进入到区块链中队列数量;通过所述m/m/n模型计算出当前阶段的节点交易到达率以及节点进入区块链系统中的交易到达率,得到交易在队列i服务成功的概率pi表示为:
其中,λk和μk分别表示第k个阶段的交易到达率和离开率;p0表示初始队列服务成功的概率。
3.根据权利要求1所述的一种基于dag的区块链系统认证门限的更新方法,其特征在于,所述节点发布交易累计权重的计算公式包括:
其中,
4.根据权利要求1所述的一种基于dag的区块链系统认证门限的更新方法,其特征在于,所述交易认证时延的计算公式包括:
其中,td表示交易认证时延;
5.根据权利要求1所述的一种基于dag的区块链系统认证门限的更新方法,其特征在于,所述利用随机分布函数获取所述认证门限的更新规则表示为:
其中,w(k+1)t表示在第k+1个阶段即下一个阶段的认证门限;n表示参与共识过程的节点数量;β表示节点在第k个阶段即当前阶段发布的交易总数;δk表示第k个阶段的爱尔朗分布参数;α表示节点在发布β个交易花费的目标时间;wkt表示在第k个阶段的认证门限。
6.根据权利要求5所述的一种基于dag的区块链系统认证门限的更新方法,其特征在于,所述节点在第k个阶段发布的交易总数包括:
其中,λk表示第k个阶段的节点交易到达率。
7.根据权利要求1所述的一种基于dag的区块链系统认证门限的更新方法,其特征在于,所述当前阶段的交易到达率触发了更新规则包括当在第k个阶段,进入区块链系统中的交易数量与其期望值的差大于其方差时,则触发更新规则。
技术总结