发布时间:2020-02-06所属分类:科技论文浏览:1次
摘 要: 摘要:利用工作量证明机制(PoW)的比特币系统是当今最主流的电子货币交易实现方式,这种交易方式也在电力交易系统中进行了探索应用。虽然区块链系统的安全性已经被广泛分析,而在电力交易系统中通过让主链分叉而产生安全风险的情形却没有得到充分的研究和论证
摘要:利用工作量证明机制(PoW)的比特币系统是当今最主流的电子货币交易实现方式,这种交易方式也在电力交易系统中进行了探索应用。虽然区块链系统的安全性已经被广泛分析,而在电力交易系统中通过让主链分叉而产生安全风险的情形却没有得到充分的研究和论证。本文通过对基于区块链技术的电力交易系统进行新颖并可量化的建模,从区块链分叉的行为开始,按照马尔可夫决策过程(Markovdecisionprocess,MDP)模型进行分析,建立以增加侧链方式获取的PoW区块链的类MDP安全分析模型。通过设计电力交易区块链模拟器,仿真验证分析了实验得到的区块生成间隔时间与区块大小对电力交易系统中区块链的影响。
关键词:区块链;工作量证明;安全分析;仿真
0引言
电子货币的概念及框架(区块链)在2008年被中本聪提出,比特币(Bitcoin)系统在2009年问世,自此电子货币市场已经发生了多次变革[1]。结合现代电子货币中的智能合约[2],让电子货币系统变为一个灵活的交易系统。比特币系统在经过几次快速的版本迭代后,实现了基本电子货币的系统功能,尤其是其各节点之间共识算法(consensusalgorithms)的实现,让其交易系统在全球数亿万级节点同时发生交易的情况下,仍然能够稳定地完成交易。
鉴于区块链技术在比特币交易系统中的成功应用,在其他领域也进行了尝试。特别是在具有分布特性的电力交易系统中,区块链技术的探索应用更是进行了广泛研究[3-5]。而这些研究中,基于区块链自身具有的电子货币特性,设计了一种基于电子货币的能源交易系统[5]。有研究基于区块链分布式的特点,利用分布式计算与分布式账本的特性,提出了基于区块链的能源互联网交易概念雏形[3]。
对于区块链技术的核心———共识算法,尽管已经提出了许多创新的共识协议(PBFT[6-7]、PoS[8]和PoET[9]),但现有的最成熟的区块链技术应用仍利用计算上开销较大的工作量证明(proofofwork,PoW)共识机制。虽然已经对其安全性进行了较为彻底的分析[10-13],但基于PoW的区块链性能无法在不影响其安全性的情况下得到增强。
而现有文献中对基于区块链的能源交易系统的安全分析,大多都是在已提出的框架基础上进行相关的定性分析,而对于区块链本身在电力系统中的应用没有进行有效地建模和仿真。
本文针对电能交易中应用的PoW区块链进行分析,从其共识层与网络层的网络参数着手,详细分析了现存电力交易系统中PoW区块链的背景及对区块链模型有重大影响的各个参数及其意义。同时,对PoW区块链建立了安全分析模型,通过区块链仿真器,仿真得到区块间隔时间与区块大小对电力交易系统中区块链的影响及其安全风险的分析。
本文按照以下方式组织:第1节对电力交易的PoW区块链模式及交易风险进行简介;第2节介绍电力交易系统中PoW区块链在共识层和网络层中的重要参数,这对建立电力交易系统仿真器具有不可忽视的意义;第3节根据PoW节点分叉的情况,分析了其安全风险,并通过马尔可夫决策过程(Markovdecisionprocess,MDP)对该决策过程进行分析,建立了以增加侧链的方式以获取更高相对回报的PoW区块链的类MDP安全分析模型;第4节通过区块链仿真实验,得到区块间隔时间与区块大小对电力交易系统中区块链的影响及其安全风险的分析;第5节总结全文工作,得出结论并对接下来的研究做出展望。
1电力交易的PoW区块链模式简介
图1是常见的电力交易PoW区块链的简要形式。所有参与交易的节点都有路由功能,该功能主要负责向其他节点传送信息。整个区块链的信息由节点分布式冗余储存,挖矿功能也由节点用户配置,节点亦可以通过钱包功能管理自己的账户。
交易的基本流程过程可概括为以下4个步骤。
1)创建新交易。交易发起者A利用自己的私钥签署一个数字签名发送给交易接收者B,将可以交易的电能与价格信息制作成交易单。
2)交易通过P2P网络传输。A将交易广播至全网,在生成新区块前,交易信息被纳入缓存池(Mempool)中。收获的交易信息会即时显示在B币钱包中。
3)交易验证。区块链系统中节点通过碰撞数学难题获得创建新区块权利,并获得系统的奖励。同时,将在Mempool中的交易信息经过验证后,储存到新生成的区块中。
4)交易写入账本。整个区块链系统核对新生成区块的正确性,确认完毕后生成区块并广播,系统再根据新生成的区块信息提出新的数学难题,依此不断更新区块链的长度。
在该交易系统中,节点的数量越多,相对的交易的风险就会越少。而当攻击者有较强的计算能力但又不能通过计算能力完全控制区块链的情况下,攻击者可以选择挖矿后不进行广播,然后对其挖到的区块进行私自挖矿。只要对还未公开的区块成功再进行挖矿,攻击者完全可以通过这两个区块去虚构交易信息,让不存在的交易信息记录到两个区块中,然后公布出该区块,使其合法记录到整个区块链中。
而电力系统的电能交易,并非只是有关价格和数量上的交易,还涉及到能量平衡、线路阻塞等影响整个电网安全和稳定性的约束。若大量的非法交易通过区块链系统验证后存在,则对系统将会是非常大的安全隐患。
2PoW区块链简介本节将简要介绍
PoW区块链共识层与网络层的情况。
2.1区块链共识层
在现存的区块链系统中,PoW机制是运用最成熟和最广泛的一种共识机制。PoW最初是在比特币系统中被实现的[1],这种共识机制通过让系统中的节点贡献计算力,去碰撞一个或多个数学难题来进行区块的生成。在比特币系统的共识机制中,利用了哈希函数作为共识算法的基础。这种算法是为了寻找一个随机数,让该随机数在以当前区块头中的一个或几个参数(可以是区块头中的默克尔根(MerkelHash)、当前区块的哈希值(HashValue)等参数)结合进行哈希运算(Hashfunction)时生成的固定宽度的哈希值小于当前设定的某一个值。当节点通过计算碰撞到符合条件的随机数时,该节点生成区块并通过网络层向整个比特币系统中的节点广播。同时,网络中的其他节点验证该区块的有效性来保证PoW的有效性。
推荐阅读:区块链论文一般发在哪些杂志
区块链是未来发展行业之一,今后有关区块链的论文也会越来越多,那哪些期刊可以刊登区块链方面的论文呢?许多人不禁会问。下面小编针对这个问题,给大家整理了一部分可以投稿区块链的期刊,供大家参考。
区块间隔时间(BlockInterval)是将内容写入区块链系统的延迟。区块链系统的块间隔时间越短,交易确认速度越快,而因块间隔时间短而生成的旧区块的概率越大。利用PoW机制的区块链系统中,块间隔时间的调整和当前共识算法的难度有着直接关系。较低攻击难度会导致在区块链网络中有大量的新区块的生成,而较高攻击难度会导致同一时间范围内区块链有较少的新区块。
因此,对攻击者的行为进行有效建模,对分析攻击者进行侧链攻击是至关重要的。
2.2PoW的安全性
没有一方能集中该区块链50%以上的计算能力,这个假设是以PoW为共识机制的区块链的安全性的保证。若该假设成立,则没有任何人可以有效地通过控制改写最长链的内容来控制该区块链系统。现将简要分析现存PoW区块链系统的典型攻击方式。
1)一个攻击方可以通过利用多次使用同一比特币交易并将其计入区块链系统来进行双重消费,这样就可以让攻击方多次利用所拥有的比特币造成比特币的支出不平衡。区块链不通过区块链节点间的确认而记录交易信息的行为是不安全的[11]。一项交易通过确认的节点越多,该交易在随后的时间内被改写的可能性越小。
2)攻击者们可能试图以攻击的形式来提高他们的系统奖励。通过选择性地公布已区块信息可以让攻击者得到更多的系统奖励[10,14]。这种攻击方法没有行之有效的办法去检验。
当所有的区块链节点都实现紧密地同步时,攻击行为不易实施。但是,加上网络延时、同步延时的情况下,攻击者可以利用这种延时方式来进行攻击(eclipseattack)[15-17]。
2.3网络层
在网络层,定义对于分析PoW区块链很重要的参数和网络行为,如表1所示。
2.4旧区块
旧区块指的是未包括在最长链中的块,例如块并发或块冲突。旧区块对区块链的安全性和性能是有害的,因为它们会触发区块链分叉。这会减慢主链的增长并导致显着的性能和安全隐患。一方面,旧区块增加了网络中攻击者的优势(例如,双重花费)。另一方面,旧区块会导致额外的带宽开销,并且通常不会获得采矿奖励。比特币中的陈旧块率(块生成时间=10min,平均块大小=534.8KB),莱特币块生成时间=2.5min,平均块大小=6.11KB)和多吉币(块生成时间=1min,平均块大小=8KB)网络。所有3个区块链都依赖基于PoW的区块链(具有不同的生成时间)和相同的信息传播系统(具有不同的块大小)。
3PoW区块链的类MDP安全分析模型
本节将对电力交易系统中运用的PoW区块链进行建模,针对电力交易系统节点的不同状态,结合之前所介绍的区块链建模参数和网络行为以及MDP,可以将上述行为的PoW区块链安全分析建模如下。
假设电力交易系统网络中攻击方掌握了网络中a(0
因而,每一个新生成的区块有a的可能性来自攻击方,换而言之有1-a的概率来自忠实节点。忠实节点按照协议运行,即在最长链上增加新区块。一旦忠实节点纳入区块,只有存在较长的链时才会舍弃它。因此,每个节点根据区块的到达顺序来进行链接。忠实节点会立即广播他们创建的块。块通常形成树结构,因为每个块引用单个前驱。由于诚实节点采用最长链中的信息,因此只有当生的区块最终成为最长链的一部分时,区块链系统才会为其创建者生成奖励。
为了模拟攻击者的通信能力,假设每当它得知电力交易系统网络已经生成了一个区块时,它就能够发送一个替代区块,该区块首先传播到忠实网络,且占比为忠实电力交易系统网络γ(0<γ<1))的计算能力(攻击者必须提前准备好这个块,以便能够足够快地提供它)。因此,如果网络当前正在传播高度为h的块,并且攻击者具有相同高度的竞争区块,则能采用这个竞争区块的节点占忠诚节点网络计算能力的γ·(1-a)。
攻击者不一定遵循电力交易系统协议。相反,在任何给定时间t,它可以选择投入计算能力来创建并扩展区块链历史中任何区块,并且可以私自保留在任何时间内创建的区块且不公开。这种策略表明了攻击者的两个关键行为:1)尝试扩展区块的行为;2)释放区块的行为。假设所有创建区块的事件都是无记忆进程,并且新区块的广播被假设为瞬时发生,则攻击者做出的任何决策可能只会在创建新区块时发生。因此,我们使用离散时间过程模拟攻击者面临的整个决策问题,其中每个时间步骤对应于区块的创建。因此要求攻击者在创建每个块之后立即决定一系列的行为,并且继续执行该动作直到下一个事件发生。
我们可以将电力交易系统建模集中在攻击者所谓“合理”的策略上。即攻击者会在某个时刻维护一个与区块链分开的单个秘密分支区块链。因此,我们必须只跟踪分叉之后的区块,以及累积的奖励。我们用a表示区块链分叉后攻击者构建的区块数,用h表示由忠诚节点构建的区块数。
4仿真实验及结果
4.1仿真实验设计
根据实验需求,我们根据某项目设计了电力交易系统网络仿真器,该仿真器是基于网络节点模拟器ns-3实现的,具体的结构如下图所示。
在该仿真器中,我们定义了区块链节点类,以及区块链拓扑类。通过这两个类,我们将整个区块链网络中的节点各个属性及行为进行定义,同时定义了节点之间相互连接的P2P网络的各种参数,比如网络拓扑、网络带宽及延迟。通过对模拟器写入脚本程序,让其模拟区块链生成过程,并通过区块间隔时间表征计算难度,并通过让攻击者生成侧链私自挖矿的行为,对整个模型进行仿真。
通过对表1中的电力交易系统网络参数的实现,使得该仿真器具体的参数如表3所示。
在网络层中:节点之间的网络拓扑如表3所示,每个节点都相互建立了网络连接;P2P网络的上下行带宽最大值均为100Mbps;节点数量为6000个。在区块链中:我们将每次交易生成的数据大小定为250bytes;攻击者占整体计算力的30%,即a=0.7;忠实电力交易系统网络占整个网络节点的比γ=0.5。
每次仿真都完成了6000个节点对10000个区块生成情况的模拟。
通过改变区块间隔时间(25min~0.5s,区块大小为0.5MB)、区块大小(0.1~8MB,区块间隔时间为10min),每一次仿真都对10000个连续的区块进行仿真。我们计算整个仿真网络中节点的整体参数:区块传播时间的中位数tM、旧区块率ts来判断整个区块链系统的情况。
4.2仿真实验结果及分析小步长测试
从仿真得出的结果中,我们可以看出:随着区块间隔时间的减小,tM随之减小,而ts随之升高,如表4所示。这表明该电力交易系统中区块生成的速度越快,整个PoW区块链系统中区块传播时间也越快,而由于攻击难度的下降,主链发生分叉的可能性也越大,这意味着攻击者进行攻击而增加其收益的可能性也越大,会有较高的安全风险。
如表5所示,当区块间隔时间不变时,随着区块大小的增大,tM随之增大,而ts随之升高。该情况表明该区块链系统中区块的大小越大,在不同电力交易系统网络状态下,可能受不同带宽、延时的影响更大,造成其全网同步的时间变长;因为全网同步时间的延长,同时也造成了更高的区块链分叉的可能性,这意味着PoW区块链系统中的区块链头的大小,会影响整个区块链的同步和安全性,当区块越大时,区块链分叉的可能性越大,也会带来较高的安全风险。
5结语
在对电力交易系统中PoW区块链特性及节点网络进行详细分析后,构建了PoW区块链的类MDP安全分析模型,通过电力交易系统网络仿真器,改变区块间隔时间、区块大小来观察区块链系统的参数。区块间隔时间越小,区块传播的时间越短,但整个系统存在相当的安全风险;区块链头越大,区块链分叉的可能性越大,但也会带来较高的安全风险。如何找到设置合适的区块间隔时间和适中的区块链头大小,达到最佳的区块传播时间又保证间隔内的交易都被高效地记录到新生成的区块中而不浪费区块的空间,是值得我们研究的方向。同时,我们还需研究其他可量化参数对PoW区块链的影响。
SCISSCIAHCI