APP下载

一种区块链动态授权的共识机制

2020-05-08刘文斌冀璐璐

黑龙江科技大学学报 2020年2期
关键词:烟花间隔时延

王 娟, 刘文斌, 冀璐璐

(黑龙江科技大学 电子与信息工程学院, 哈尔滨 150022)

0 引 言

区块链是以比特币为代表的数字加密货币体系的核心支撑技术,融合了分布式系统、密码学、博弈论等多种学科建立的一种新型信任模型[1]。通过结合分布式账本、p2p网络、共识机制、智能合约、非对称加密等多种底层技术,在互不相干的分布式节点中实现去信用的点对点交易。区块链的本质是一种分布式数据库,使用链式数据结构来验证和存储数据,通过分布式节点判决机制来生成和更新数据,它维护了一个持续增长并且不可被篡改和修改的数据记录列表,直接或间接依赖可信任第三方的活动均可从该技术受益[2]。

区块链技术的核心优势之一,就是能够在决策权高度分散的去中心化系统中,使各节点高效地针对区块数据的有效性和一致性达成共识[3],避免了系统中的分歧现象。同时,共识机制是保证区块链系统短时间内完成交易响应、验证并广播的关键因素,如何保证数据的可靠性和真实性,取决于共识机制使节点间达成共识的方法。共识机制的存在,维护了系统的运作顺序,保障了系统的公平性。因此,性能优异的共识机制是保证区块链准确高效运转的必要条件。为使节点快速、安全地达到数据一致,专家学者相继提出多种共识机制。文献[4]正式提出了工作量证明共识机制(Proof of work,PoW),为后来中本聪设计比特币的共识机制奠定基础,但却存在资源消耗较大且共识时间较长的缺陷。文献[5]提出了实用拜占庭容错算法(Practical byzantine fault tolerance)有效提高了算法的共识效率,但无法抵御Sybil攻击,系统的安全稳定性受到威胁。文献[6]给出了股份授权证明机制(Delegated proof of stake,DPoS),该机制大幅减少了决策节点的个数,具有快速、高效的优势,但仍存在无法应对恶意节点入侵、节点职能分配不均的缺点。

共识机制是互不相干的若干节点在短时间内达成一致的算法。近年来,由于区块链技术的迅猛发展,各种类型的共识机制相继涌现。围绕共识机制的研究内容,目前主流的共识机制有工作量证明、权益证明和股份授权证明三种。工作量证明机制(Proof of work,PoW),全网节点基于自身算力相互竞争来共同计算一道求解复杂但验证容易的SHA256数学难题,算力最优的节点获得记账权并获得比特币奖励[7]。PoW共识机制中节点间无需交换额外信息即可达成共识,有效的解决了女巫攻击问题,且能有效避免区块链分叉现象,但在共识过程中消耗大量算力,造成资源浪费;而且为了获得记账权,低算力节点会联合起来形成矿池,出现中心化现象,对区块链的安全性造成严重影响。权益证明机制(Proof of stake,PoS),其本质是记账权由最高权益而非最高算力的节点获得[8]。PoS机制有效解决了PoW算力浪费的问题,大大缩短了达成共识的时间,攻击者必须积累很多时间和资金,并以自身资金受损为代价对主链发起攻击,有效杜绝了攻击者的行为动机。缺点是随着财富的积累,容易出现集权现象,而且拥有权益的节点未必想参与记账,易出现积极性缺失等问题,而且仍需要挖矿,容易出现“富者更富”的情况。股份授权证明机制(Delegated proof of stake,DPoS),类似于“董事会决议”。在这种机制中,普通节点具有投票权,该节点将选票投给认为可信的其他节点,选取出一定数量的授权节点,依次对交易进行验证和记账。授权节点本身需要缴纳一定的保证金,并对其他节点负责。若授权节点记账期间出现区块信息缺失或篡改,该节点将失去记账权并失去保证金。同时,授权节点本身需保证在线率,以达成盈利目标。DPoS共识机制在PoS共识机制的基础上大幅减少了参与验证和记账节点的数量,可以在较低的能耗下实现快速共识验证,提高了共识效率。缺点是普通节点话语权较弱,投票积极性有待提高[9]。当区块链系统中发现恶意节点时,不能迅速做出应对,而且会出现中止进程的情况。目前区块链系统主流的共识机制存在资源消耗较大、易出现集权现象、安全性较弱等不足。

针对这些问题,笔者提出一种区块链动态授权共识机制,采用混沌随机和烟花寻优两种筛选手段构建授权节点集合,通过建立新型的决议监管的判决机制和统计模型,排除恶意节点的不利影响,实现授权节点的动态更新,文中的研究既可保证达成共识的一致性和高效性,又能实现共识数据的可用性和安全性,为共识机制设计分析奠定技术基础,对区块链工程应用具有重要的理论意义和应用价值。

1 区块链动态授权共识机制

动态授权的区块链共识机制,如图1所示。文中在传统DPoS共识机制的基础上提出了一种区块链动态授权共识机制,是由智能优化授权节点集合的构建和动态更新决议监管机制的建立两部分组成。

图1 动态授权的区块链共识机制Fig. 1 Blockchain consensus mechanism for dynamic authorization

在由全部节点组成的区块节点集合中,首先利用混沌序列的随机性筛选得到随机候选节点集合,保证授权节点集合的随机性和公正性;其次经混沌随机筛选得到的节点再通过烟花算法寻优得到最优节点,构成最优候选节点集合,保证节点集合的高质量水平,共同构建兼具“民主”和“集中”的授权节点集合。当收到记账节点的上链请求时,授权节点集合对其进行决议判决,若超过三分之二的节点同意该请求则判定达成共识;反之,则为拒绝共识。为保证授权节点集合可以始终对节点上链请求进行有效校验,在原有基础上增加授权节点集合的决议监管机制。对授权节点集合的决议量进行决议统计,若决议量大于等于预设阈值,则表示该授权节点集合已完成较多的决议判决,而为保证决议监管机制的公正性及动态更新性,重新通过混沌随机和烟花算法筛选授权节点,构成新一轮的授权节点集合,实施决策权力。反之,若决议量小于预设阈值,则可以继续进行决议判决。新型动态决议监管机制有效的减少了恶意节点的作恶现象,保证了链上数据的准确性。

1.1 混沌随机筛选

混沌随机筛选是利用了混沌序列的无规则运动在所有节点中随机筛选出若干节点,构建出随机候选节点集合,保证了系统的随机性和公正性。文中采用文献[10]中提出的一种logistic和tent的级联混沌映射,级联混沌映射的公式为

xn+1=1-|1-4μ·xn·(1-xn)|,

(1)

式(1)中, logistic的初值为0.76,系统参数为4,设置tent的系统参数μ为1.999。执行级联混沌映射的迭代,生成混沌序列xn。将级联混沌映射迭代生成的混沌序列xn代入整数公式进行数字量化:

(2)

式(2)中,取a=28,Tn∈[0,N],n=100,正好对应于8 bits表示的无符号整数范围。

采用文献[11]中提出的筛选方法,将级联混沌序列的取值区间分为均等的N个区间Di(i=0,1,…,N),区间Di可以理解为[i/N+1, (i+1) /(N+1))。判断整数化迭代后输出Tn是否遍历过Di区间:如果Tn的值未遍历Di区间内,则保存相应的Tn值为Yn并继续迭代;如果Tn的值不存在于Di区间内或遍历且保存过混沌值的Di区间内,则直接迭代,直到遍历完N+1个区间。

1.2 烟花算法寻优

烟花算法是一种群体智能算法,收敛速度快,具有优良的寻优能力[12]。烟花算法可以依据所求问题的复杂程度而变换烟花和火花的数目,在一定范围内更精细、高效的搜索最优解。从而提高节点针对某一特定应用的高质量性能,提高了共识的效率。

烟花算法流程,如图2所示。在解空间内初始烟花种群,对目标问题求最优解,根据适应度值的不同,通过爆炸算子得到烟花的爆炸半径和爆炸火花数目。为保证种群多样性,通过变异算子对烟花的若干维度进行变异操作,得到变异火花。同时对超出边界的火花应用映射规则映射到解空间内。为保证烟花种群中的优良信息迭代,应用选择策略选择下一代烟花群体。同时判断种群中的最优解是否满足终止条件,若满足则停止搜索,不满足则重新迭代。

图2 烟花算法流程Fig. 2 Flow of firework algorithm

通过对适应度函数在可行域内寻求最优解,不失一般性,设置最优化问题的数学模型为

fmin(xi)=ωaxi1+ωbxi2,xi∈Ω,

(3)

式中:f(xi)——适应度值;

ωa、ωb——权重值,文中ωa=ωb=0.5;

xi1——代表权益;

xi2——算力;

Ω——可行域。

在解空间的范围内,初始化N个烟花个体位置xi(i=1,2,…,N),通过目标函数计算烟花个体的适应度值f(xi),得到烟花的爆炸半径和火花数目:

(4)

(5)

f(xi)——烟花个体的适应度值,i=1,2,…,N;

ε——机器最小值,避免除零操作。

由于适应度值的好坏直接决定该位置的火花数目,为避免不同适应度值的火花数目过多或过少,进行了如下限制:

(6)

式中:a、b——常数;

round——取整函数。

(7)

U(-1,1)——在区间[-1,1]中服从均匀分布的随机数的值。

若烟花爆炸产生的火花超出可行域,则在k个维度上执行越界处理操作,重新归入火花种群中

(8)

式中:xUB,k、xLB,k——解空间的在维度k上的上下边界;

mod——取余函数。

为提高火花的多样性,避免局部最优,对烟花执行高斯变异操作:

(9)

N(1,1)——高斯分布。

为保证烟花种群中优良个体迭代,选取N个个体作为下一代烟花,适应度值最小的烟花个体作为迭代烟花,其余N-1个烟花按照轮盘赌的规则选出:

(10)

(11)

式中:xi、xj——任意的烟花个体;

P(xi)——烟花xi被选择的概率;

R(xi)——当前个体到其他个体之间的距离之和,R(xi)越大,被选择的概率则越大。判断最终结果是否满足终止条件,若满足则终止迭代直接输出结果,不满足则重新执行。

2 测试结果与分析

Hyperledger caliper作为一个通用的全功能区块链测评工具,可以对不同区块链系统的吞吐量、时延、容错性等性能指标进行测试,由于具有准确、扩展性强等优点,因此,文中采用Hyperledger caliper搭建区块链来模拟交易模块。在Hyperledger caliper测试平台中,建立100个模拟账户,每个账户的初始额度设为1 000 000,为了保证交易的持续进行且以最快的速度完成交易,将每次的交易量均设为1。针对区块链吞吐量和时延两大性能指标,通过计算单位时间内的交易量,对文中提出的动态授权共识机制进行测试与分析,验证该机制的有效性和可用性。

2.1 吞吐量测试

在区块链中,交易吞吐量每秒交易数(Transaction per second,TPS)指的是交易从发出请求到确认,并且写入区块链中的总交易数与消耗时间的比值,是衡量系统并发能力的重要指标。吞吐量越高,则共识机制的效率就越高,处理交易的能力就越强。

ITPS=TSum/Δt,

(12)

式中:Δt——交易请求发出到写入区块链上之间的时间间隔;

TSum——该段时间的所有交易数量。

不同时间间隔的交易量,如图3所示。

图3 不同时间间隔的交易量Fig. 3 Transaction volume at different time intervals

在吞吐量性能测试中,分别设置Δt为10、30、60、120 s四个出块时间间隔,通过测试得到每个时间间隔内的交易总量。为了保证所得数据的准确一般性,每个时间间隔进行20次重复测试。

根据不同出块时间间隔计算出平均吞吐量,如图4所示。

图4 吞吐量与出块时间间隔关系Fig. 4 Relationship between throughput and block time interval

区块时间间隔越长,区块收集到的交易量越多。在出块时间间隔[10 30] s区间内,动态授权共识机制的吞吐量呈上升趋势,在30 s之后,由于交易量增多而传输速率不变,传输时间延长,导致吞吐量逐渐下降。动态授权共识机制的平均吞吐量约为8 942 比/s。作为比较,文中提出的动态授权共识机制与目前较为成熟的区块链系统,以及文献[11]提出的DNBFT机制进行TPS比较如图5所示。

图5 算法平台TPS比较Fig. 5 Comparison of algorithm platform TPS

由图5可知,动态授权共识机制有较优的吞吐量性能,单位时间内可以完成的交易数较多,可以应对较多的应用场景。

2.2 时延测试

区块链的交易时延是指从交易提交到交易确认所用时间,是衡量区块链网络中通信性能和共识算法运行时间的标准。时延越低,交易确认越迅速,区块链出现分叉现象的概率越低,同时用户无需等待过长时间,体验更佳。不同时间间隔交易时延如图6所示。

图6 不同时间间隔交易时延Fig. 6 Trading delays at different time intervals

(13)

式中:tD——时延,

tc——交易确认时间;

tp——交易提交时间;

tB——交易在共识节点间的传输时间;

tC——共识消耗的事件;

tBB——区块在共识节点间广播确认时间。

由图6可见,在时延测试性能中,通过设置与上节相同的出块时间间隔,测试得到每个时间间隔的交易时延。为了保证所得数据的准确一般性,每个区块时间间隔统计五个区块。

根据不同出块时间间隔计算出平均时延,同时与文献[13-14]提出的DNBFT机制和DDBFT机制进行比较。交易时延和出块时间间隔关系如图7所示。

图7 交易时延和出块时间间隔关系Fig. 7 Relationship between transaction delay and block time interval

由图7可见,出块时间间隔越长,则说明该段时间交易信息越多,区块越来越大,而网络带宽有限,造成网络广播传输和节点验证消耗的时间也就越长,时延也就越大。相对于这两种共识机制,动态授权共识机制的交易时延较低。通过查阅官方文档可知,DPoS共识机制的时延为秒级,动态授权共识机制的时延为毫秒级,具有更优的时延特性,节点响应更加迅速。

3 结束语

区块链技术的发展需要不停地探索与创新,一种共识机制无法满足所有应用场景的需求。文中提出了一种动态授权的区块链共识机制,利用Hyperledger caliper测试平台对动态授权共识机制的吞吐量和时延两大特性进行测试及分析,结果表明,动态授权共识机制可以较大提高区块系统达成共识的效率,从而保障区块节点达成共识的安全、准确及高效。该研究可为区块链共识机制的提出与改进提供了一定的理论依据。

猜你喜欢

烟花间隔时延
国庆烟花秀
间隔问题
放烟花
5G承载网部署满足uRLLC业务时延要求的研究
《舍不得星星》特辑:摘颗星星给你呀
间隔之谜
基于GCC-nearest时延估计的室内声源定位
简化的基于时延线性拟合的宽带测向算法
上楼梯的学问
头夹球接力