采用拒绝服务的无线区块链网络区块传输策略
2022-03-18刘期烈许尹艺许从方
刘期烈,陈 澄,白 翔,许尹艺,许从方
(1.重庆邮电大学 通信与信息工程学院,重庆 400065;2.中国电子科技网络信息安全有限公司,成都 610041)
0 引 言
近年来,随着2G到6G的发展,网络分布化程度越来越高。在无线通信中,以物联网、车联网等为代表的一系列新兴网络发展迅速,受到了社会各界学者的广泛关注。然而,分布式场景下的安全问题却难以掌控。区块链技术的出现,为保障分布式场景中各方互信,实现信息和数据安全共享提供了全新解决思路[1]。在区块链中,数据通过点对点(peer-to-peer, P2P)方式进行传递[2],利用闲置的网络资源、计算能力和存储容量来处理分布式网络中的海量数据,实现信息和数据共享。此外,区块链利用共识算法和智能合约来保证网络中存储的数据不被篡改,解决了分布式网络架构下参与方之间的互信问题和信息不对称问题,从而保障网络安全可靠,形成高效而智能的网络运行机制。目前,区块链的应用不仅局限于加密货币,在车联网[3-4]、物联网[5-6]和医疗[7-8]等领域都具有广阔的应用前景。
尽管区块链技术能够为各行各业的分布式信任问题提供新的解决途径,促进信息社会的进一步发展。然而,随着区块链技术的发展和应用,安全问题日益突出[9],其中,分叉攻击是区块链中最为典型的安全问题之一。文献[10]运用大偏差理论从微观角度研究了恶意分叉对区块链网络的脆弱性影响,推导了区块链网络易受攻击的概率及其衰减速度,还提出了有效鲁棒水平和有效计算能力的概念。文献[11]研究了网络延迟对区块链分叉行为的影响以及可能违反六个块确认约定的行为。研究结果表明,六个确认约定对P2P网络延迟很敏感,区块链上所有节点的收敛速度都受到底层对等网络延迟的严重影响。但是,上述工作只考虑了区块链网络中由恶意攻击者引起的恶意分叉问题,没有考虑区块链网络正常运行过程中出现的非恶意分叉问题。非恶意分叉也会浪费系统资源,降低系统吞吐量,从而危害系统安全。因此,对无线区块链网络中的非恶意分叉问题进行研究具有深远的意义。
文献[12]讨论了比特币区块链网络中的非恶意分叉特点以及产生分叉的机制,研究表明,区块的传播时间将会影响网络发生分叉的频率和分叉消失所需的时间。文献[13]针对比特币网络中的非恶意分叉问题,提出了一个理论模型分析分叉产生的原因。研究表明,区块传播时延、网络带宽和区块大小将会影响分叉产生的频率。文献[14]提出了一种在区块链系统中使用无线移动矿工进行计算的新框架,并考虑网络时延的影响,从理论上推导了该框架发生非恶意分叉的概率。不同于前面专注于区块链系统因素(例如区块大小、区块传播时延和块生成速度等)的研究,基于演化博弈,文献[15]从矿工角度讨论了矿池计算能力对非恶意分叉的影响,并给出了非恶意分叉概率和矿池预期挖矿奖励的闭合表达式。但是上述工作仅仅对非恶意分叉的原因进行了相关研究,并没有提出具体解决方案对非恶意分叉问题进行优化。文献[16]认为区块链分叉是由网络中矿工之间的竞争以及不确定的区块传输延迟引起的,提出了一种用于P2P接收块概率验证的PvScheme方案,通过减少块传输延迟来减少区块链分叉的发生。文献[17]提出了一种区块接入控制算法来解决无线区块链网络中的非恶意分叉问题并提高系统吞吐量和区块传输效率。文献[18]从底层P2P网络层面出发,设计了一种新的考虑传输速率和传输可靠性的区块链网络拓扑,并提出并行生成树广播算法提高区块广播效率,进而减少非恶意分叉的发生。虽然上述工作对区块链网络中的非恶意分叉问题进行了相关优化,但是大多从网络拓扑结构和广播算法等角度出发,很少从网络传输角度进行研究,也没有考虑多跳通信场景下非恶意分叉问题的优化。
为了解决上述问题,本文提出了一种新的区块传输策略来处理无线区块链网络中因为区块传输时延而产生的分叉。同时,考虑到分叉区块可能造成的算力浪费,本文提出了一种拒绝服务策略来协助区块的传输,以最大程度降低计算资源的消耗,进而提高系统的资源利用率。本文考虑多跳通信场景下的无线区块链网络模型,将区块和交易传输问题描述为区分优先级的排队问题。基于双队列单服务器排队模型,对所提策略的系统性能进行分析,包括区块传输平均排队时延、区块广播时延、交易丢失率、有效交易到达率和交易吞吐量等,验证了该策略的有效性。
1 系统模型
1.1 无线区块链网络架构及其共识过程
一个无线区块链网络(wireless blockchain network, WBN)由多个随机分布的交易节点、矿工节点和通信节点构成,如图1。通信节点可以认为是静态网络基础设施,矿工节点之间通过通信节点实现通信。交易节点由于受到计算和存储资源的限制,只负责发送交易而不挖矿。每个通信节点覆盖范围称为1个小区。在区块链网络中为使交易达成共识,系统需要完成如下操作。
1)交易节点通过通信节点向所在小区发布交易。根据工作量证明(proof-of-work, PoW)机制,矿工节点收集交易并进行算力竞争寻找正确的哈希值。
2)获得记账权的矿工将收集的交易打包成区块并发送给所在小区的通信节点。值得注意的是,在本文考虑的系统中,区块和交易通过上行链路传输到通信节点时需要排队以等待通信节点的接收,如图2。
图1 由多个通信、矿工和交易节点组成的无线区块链网络架构Fig.1 A wireless blockchain network architecture consisting of multiple communication nodes, miners and transaction nodes
图2 交易节点和矿工节点的通信排队过程Fig.2 Communication queuing process of transaction node and miners
3)通信节点收到矿工传输的合法区块后,将向发送区块的矿工节点回复一个确认消息,然后将合法区块传播给其他矿工和通信节点。注意,通信节点之间通过大容量无线回程链路进行连接,不考虑通信节点之间的传输时延。
4)接收到合法区块的其他矿工节点更新自己的本地账本,并在此区块后继续执行新的挖矿工作。绝大部分矿工节点都在自己的本地账本中添加了该区块时,此区块达成初步共识。
1.2 区分优先级的区块传输框架
1.2.1 区块传输策略
在上述共识达成过程中,由于传输时延的影响,WBN中可能产生2个及以上同一高度的合法新区块,即发生非恶意分叉。为了降低传输时延的影响,本文设计了一个新的区分优先级的区块传输策略(block transmission strategy, BTS)。假设每个小区的通信节点预先为小区内每个交易节点和矿工节点分配了固定的通信资源,以接收其通信请求消息。值得注意的是,该通信资源极小,且发送通信请求消息的链路与发送交易或区块的链路是不同的。当交易节点或矿工节点想要向通信节点发送交易或区块时,需先向通信节点发送一个请求消息;然后,通信节点向该节点回复一个序列消息,此序列消息决定了通信的顺序,类似于取号功能;接下来,发送请求消息的节点所需发送的交易或区块将在队列中排队,等待传输。
为了减少区块排队时延,本文将区块和交易的传输设定为不同优先级,其中区块传输为最高优先级,交易传输为一般优先级。定义通信节点具有4种工作状态:空闲状态,区块服务状态,区块等待状态和无区块状态。当队列中有新区块到达时,该区块将面临以下3种情形。
1)若此时通信节点处于空闲状态,则立即传输新区块到小区内其他矿工节点和其他通信节点。
2) 若此时通信节点处于区块服务状态或区块等待状态,则表明WBN已经产生了该高度的合法区块,那么该区块为分叉区块,将被丢弃。
3)若此时通信节点处于无区块状态,由于此时通信节点正在与交易节点建立连接,因此区块将进入排队等待状态。但是,考虑到区块传输具有最高优先级,所以通信节点将以一定概率终止交易的传输,转而进行区块的传输。
1.2.2 拒绝服务策略
为了解决分叉区块造成的系统算力分化问题,本文提出了拒绝服务(denial of service, DoS)策略来协助区块传输。该拒绝服务策略指出,通信节点在传输区块时,将拒绝其他矿工节点的通信连接请求,通信连接请求被拒绝的矿工节点将丢弃自己未传输的区块。在2种情况下,通信节点需要拒绝矿工节点发起的通信请求:①通信节点处于区块等待状态或区块服务状态时,网络中有其他矿工节点产生了同一区块链高度上的另一个新合法区块并发起通信请求;②虽然通信节点处于无区块状态或空闲状态,但是当通信节点完成当前高度上新区块传播时,网络中有其他矿工节点产生了同一区块链高度上的另一个新区块。通信节点之间将互相监听状态,若有其他通信节点处于区块等待状态或区块服务状态时,通信节点将相应地更改其状态为区块等待状态或区块服务状态。在DoS策略的作用下,WBN中将不会传输分叉区块,矿工节点永远在一条主链上执行挖矿工作,减少了由于工作在分叉链上而造成的算力浪费。基于DoS策略的区块传输工作过程如图3。
2 基于DoS-BTS区块链系统性能分析
2.1 区块传输过程的状态转移模型
为了分析采用DoS-BTS区块链系统的性能,假设所有矿工节点都是非恶意节点,不会故意产生分叉区块。另外,本文假设信道条件理想,不存在区块或交易传输失败的情况。
通信节点之间的通信通过大容量的回程网络实现,不考虑通信时延。在这种情况下,只分析1个小区内区块和交易的传输情况即可。假设1个小区内含有N个矿工节点和M个交易节点,根据本文所提策略,将区块和交易在通信节点的传输抽象为1个队列模型。值得注意的是,当通信节点处于无区块状态时区块将进入排队等待状态,由于区块传输具有最高优先级,通信节点将以一定概率终止交易的传输,转而进行区块的传输,本文将这一概率定义为区块优先级Pt(0 1)当0 2)当Pt=1时,表明区块传输具有完全优先权。当通信节点正在传输交易时,若有新区块到达,通信节点将立即停止交易的传输,交易丢失,区块被传输。 图3 基于DoS策略的区块传输工作过程Fig.3 Working process of the block transmission framework based on DoS 为了更好地体现区块优先级Pt,本文将区块和交易的传输队列模型进一步表示为1个双队列单服务器排队模型,如图4。其中,区块传输和交易传输被分别表示为2个不同的队列,对应不同的优先级。 图4 基于DoS-BTS区块链排队模型Fig.4 Queuing model based on DoS-BTS 交易传输:交易到达通信节点的过程服从到达率为λt的泊松分布,每一笔交易的传输都需要进入一个无限长队列并排队等待。通信节点与交易节点之间的通信链路建立遵循先来先服务原则,本文把交易节点将交易上传到通信节点的过程定义为通信节点对交易节点的服务过程,这一过程服从相互独立且同分布的指数分布,服务速率为μt。 区块传输:根据区块传输策略和拒绝服务策略可知,在同一区块链高度上,每次只会有1个矿工节点可以与通信节点建立连接,即区块传输队列实际上是一个长度为1的有限长队列。到达区块传输队列的区块为小区内最先产生的有效区块,根据文献[19]的分析,区块到达通信节点服从到达率为λb的泊松过程,其中λb为区块链网络产生有效新区块的速率。矿工节点将区块上传到通信节点的过程称为通信节点对矿工节点的服务过程,这一过程服从相互独立且同分布的指数分布,服务速率为μb。 令(x,y)表示通信节点的状态,Px,y表示通信节点处于此状态的概率。其中:(0,0)表示通信节点处于空闲状态,未与任何节点建立连接;(0,1)表示通信节点正传输交易;(1,0)表示通信节点正传输区块。根据上述有关区块和交易传输过程的网络模型的描述,本文采用拟生灭过程和矩阵分析法来分析此区块链排队模型。通信节点状态的转变符合马尔科夫过程,根据队列模型,可以得到通信节点的状态转移模型如图5。其中,状态(0,1)到状态(1,0)的转变表示当通信节点正在传输交易时,有新区块到达传输等待队列,通信节点终止交易的传输并与矿工节点建立新连接以传输新区块的情况。 图5 通信节点状态转移图Fig.5 Figure of state transition for the communication node 根据切普曼-柯尔莫哥洛夫方程,通信节点状态转移模型的稳态方程可以表示为 (1) 因为P0,0+P0,1+P1,0=1,所以(1)式可以整理为 (2) 令 (3) (4) (5) 那么(2)式可以表示为AB=I,所以B=A-1I。通过矩阵运算,可以得到通信节点状态转移模型的稳态概率为 (6) (7) (8) 定义区块平均排队时延Tw为矿工节点产生新有效区块到该矿工节点与通信节点建立通信连接的时间。根据区块和交易传输通信网络模型可知,只有当通信节点处于交易传输状态(0,1),并且没有因为矿工节点通信请求而中断当前交易传输时,发起通信请求的矿工节点才需要进入区块传输队列等待区块传输。并且,由于DoS策略,若该区块能够被传输,将不会出现在区块传输队列中等待前一区块传输完成的情况。所以,此时通信节点只会有2种状态,即空闲状态(0,0)和传输交易状态(0,1)。通信节点的状态转移如图6。 图6 区块到达时通信节点状态转移图Fig.6 Figure of state transition for the communication node when the block arrives (9) (9)式中,Ts表示当矿工节点发起通信请求时,通信节点完成当前交易传输还需要的平均时间。通信节点完成交易的传输过程即为通信节点对当前建立连接的交易节点的服务过程,该服务过程服从速率为μt的相互独立且同分布的指数过程。根据指数分布的无记忆性,矿工节点需要等待通信节点完成当前交易传输的平均时间Ts可以表示为Ts=1/μt。 区块广播时延Tq定义为区块从生成到在信道成功传输并被所有共识节点验证及存储所耗费的时间。根据定义,Tq就等于区块排队时延与区块传输时延之和。区块传输时延分为上行传输时延和下行传输时延,上行传输时延为通信节点与矿工节点建立连接的时间,即为1/μb;下行传输时延为通信节点通过下行链路向WBN广播区块的时延,即待传输数据包大小与下行传输链路速率之比。考虑到通信节点上下行链路传输能力相同,在这种情况下,区块的传输时延为2/μb。由此,可以得到 (10) 在WBN中,交易在信道中成功传输后,将被共识节点打包成区块发布到网络中验证并存储。如果大量交易在传输过程中丢失,无法存储到区块链网络,将导致交易节点退出区块链网络,造成系统无法运行。因此,本文利用交易节点发布交易并被区块链网络存储的信息来侧面反映区块链网络的稳定性。为了研究基于区分优先级的区块广播策略的WBN中有多少比例的交易能够获得区块链网络服务,令θd表示WBN的交易丢失率,定义为在交易传输过程中,由于中断传输而丢失的交易占所有发布交易的比例,即交易传输中断速率与交易被传输速率之比。为了得到θd,先确定交易传输中断速率。令λd表示交易传输中断速率,根据2.1中的分析可知,交易传输中断发生在当交易传输时,有新区块到达传输队列且通信节点选择中断当前传输的情况,其数学表达式为 λd=P0,1×Pt×λb (11) 交易被传输的速率为通信节点处于空闲的情况下交易到达传输队列的速率,故交易被传输的速率为P0,0λt。因此,WBN中交易丢失率可以表示为 (12) 网络中的有效交易到达率λe,其物理意义为实际传输到区块链网络中的交易速率。为了得到λe,需先确定在T时间内整个小区内能成功传输多少个交易。上文提到,交易被传输的速率为P0,0λt,故在T时间内整个小区能成功传输的交易数为P0,0λtT-λdT。因此,λe可以表示为 (13) 交易吞吐量θt定义为系统在单位时间处理的交易数。由于区块大小的限制,在区块生成时间内无论有多少新交易到达,系统能够处理的最大交易数量都不能超过区块大小Nt的限制。在不考虑通信时延和吞吐量的限制下,θt由λe和能够处理的最大交易数Nt决定,其数学表达式为 (14) (14)式中,E[T]=1/λb表示无线区块链系统生成有效新区块的平均时间。 为了验证策略的有效性,本文利用MATLAB软件对上文推导出的数学表达式进行数值计算,定性和定量分析WBN在采用DoS-BTS时的性能指标。假设WBN中小区内矿工节点的算力恒定不变,矿工节点和交易节点不存在中途加入或退出的情况。不失一般性,设1个小区内交易节点发起交易的速率λt=30;通信节点传输交易的速率μt=20;生成新合法区块的速率λb=0.15;每个区块内容纳的交易数恒定,且Nt=40,所以通信节点传输区块的速率μb为μt/Nt=0.5;区块优先级Pt=0.6。(注:本文所有参数经过量化处理,不具备实际表义,没有单位) 图7描述了Tw随着交易节点发起交易的速率的变化曲线。从图7中可以看出,Tw随着Pt的增大而减小。因为Pt越大,通信节点由于新区块而中断当前交易传输的概率越大,从而使得新区块需要在传输队列中排队等待的机会减少。这一结果证明了所提区块传输策略中区分区块和交易传输优先级的有效性。另一方面,当Pt一定时,交易传输速率越大,即使待传输区块需要在传输队列中等待通信节点完成当前交易传输,它需要等待的时间也将越短,区块平均排队时延也就越小。 图7 区块平均排队时延随交易传输速率变化情况Fig.7 Variation of block average queuing delay with transaction transmission rate 区块广播时延受到区块大小和通信节点传输能力的影响。另一方面,区块广播时延越低,系统产生分叉区块的难度越大,侧面反映了WBN系统的安全性。因此,应考虑区块大小受到区块最大交易容纳数Nt的影响,图8描述了在不同交易传输速率μt下,区块平均广播时延Tq随着区块最大交易容纳数Nt变化的曲线。从图8可以看出,在相同通信节点传输能力下,区块包含交易数越多,区块平均广播时延越高。所以虽然Nt可以增加系统的吞吐量,但也会使得系统中单位时间内累积区块变少,降低系统安全性,在实际情况中,需要根据不同服务需求折中系统性能和安全性来设置区块最大交易容纳数。 图8 区块平均广播时延随区块生成速率变化情况Fig.8 Variation of block average broadcast delay with block generation rate 如果WBN中频繁发生交易传输丢失的情况,交易节点可能会选择退出区块链系统,不参与共识过程,这将对系统稳定性造成影响。图9描述了具有不同交易传输能力的WBN的交易丢失率变化情况。从图9可以看出,交易丢失率会随着μt的增大而降低。因为单位时间内待传输交易数恒定,在μt增长时,通信节点成功传输的交易变多。因此,丢失交易数占所有到达交易数的比例变小了。 交易丢失率随区块生成速率变化情况如图10,图10表明,交易丢失率会随着λb的增大而单调递增。这是因为λb增大时,单位时间内进入传输队列等待传输的区块变多,而这些区块的到来可能会导致通信节点中断当前的交易传输,即单位时间内通信节点中断交易传输的频率变高,而被中断传输的交易则将被丢弃。 图9 交易丢失率随交易传输速率变化情况Fig.9 Change of transaction loss rate with transaction transmission rate 图10 交易丢失率随区块生成速率变化情况Fig.10 Change of transaction loss rate with block generation rate 图11和图12分别描述了通信节点传输能力和区块生成速率对采用DoS-BTS框架的WBN中有效交易到达率的影响。观察图11和图12的结果可以发现,通信节点传输能力越高,交易有效到达率越大;区块生成速率越快,交易有效到达率越低。这一结果证明了前文对于交易丢失率分析的正确性。另一方面,可以发现区块最大容纳交易数越多,交易有效到达率越低。这是因为区块最大容纳数增大导致通信节点传输区块的时间变长,即通信节点用来传输交易的时间变短,因此单位时间内能传输的有效交易减少,交易有效到达率降低。 图13描述了交易吞吐量随交易传输速率的变化情况。观察图13可以得到一些有趣的现象。①交易吞吐量随着交易传输速率的增加而上升,但增长速率慢慢变缓,最后趋于平稳。根据前文分析可知,μt越大,交易到达矿工节点处的速率越大。所以,在达到区块最大交易容纳数之前,区块生成时间间隔内被写入区块的数量越多,即单位时间传输的交易越多。②当单位时间内到达交易数小于区块最大容纳数时,区块优先级越大,交易吞吐量越低,但是系统最大交易吞吐量相同。因为区块优先级越大,单位时间内被成功传输到矿工节点的交易越少,即矿工节点处的交易到达率降低了。③区块生成速率越大,交易吞吐量越高。这说明虽然矿工产生区块的速度增快会降低交易有效到达率,但是单位时间内能够传输的区块更多了,而区块增长速度大于交易到达率降低速度。因此,在采用DoS-BTS的WBN中,可以通过提高区块生成速率来优化系统吞吐量,但是需要牺牲部分交易成功传输率。④交易吞吐量随着区块大小的增加而增大。这是因为当Nt增大时,每完成一次区块传输,能够写入的交易数越多,单位时间内传输交易数越多。 图11 交易有效到达率随交易传输速率变化情况Fig.11 Changes of transaction effective arrival rate with transaction transmission rate 本文从减少区块传输时延出发,研究了WBN中的非恶意分叉优化问题。考虑达成共识中的交易和区块传输过程,提出了一种新的区块传输策略,该策略基于拒绝服务并区分优先级。利用双队列单服务器排队模型对所提策略的系统性能进行了分析。仿真结果表明:通过设置区块优先级,采用DoS-BTS的WBN能够有效降低区块排队时延,达到优化非恶意分叉的目的,进而提高系统安全性;但另一方面,区块优先级的设置造成部分交易丢失,在一定程度上影响了系统交易吞吐量。实际应用中,需要根据具体情况,设置区块大小、区块优先级和目标难度值,达到安全性、交易吞吐量和交易丢失率三者之间的平衡。 图12 交易有效到达率随区块生成速率变化情况Fig.12 Changes of transaction effective arrival rate with block generation rate 图13 交易吞吐量随交易传输速率变化情况Fig.13 Changes of transaction throughput with transaction transmission rate2.2 系统性能分析
2.2.1 区块平均排队时延和区块广播时延
2.2.2 交易丢失率、有效交易到达率和交易吞吐量
3 仿真分析
4 结 论