没有合适的资源?快使用搜索试试~ 我知道了~
可在www.sciencedirect.com在线获取理论计算机科学电子笔记329(2016)79-103www.elsevier.com/locate/entcs考虑时间变化的比特币卡洛斯·平茨'上1Mathematics Department数学系Bogot'a,哥伦比亚Camilo Rocha2哈韦里亚纳大学电子与计算机科学系哥伦比亚卡利摘要比特币是一种数字货币,避免了对可信第三方的需求。相反,这种数字货币基于“工作证明”的概念,由于电子文件可以复制,因此可能会发生双重支出攻击形式的欺诈性交易-用户至少两次花费相同的钱。本文是关于攻击模型,可以分配可能的时间优势,在比特币网络中的攻击代理。特别是,本文提出了:(i)两种攻击模型,其中部分提前到块生产,受时间的影响,而不仅仅是受用于产生散列块的散列功率的影响,以及(ii)将这些模型与现有的不考虑时间优势的众所周知的基于散列率的攻击模型进行比较的算法实验。最后,本文提供了证据,证明在攻击者有足够时间秘密挖掘欺诈性区块或对网络进行重大控制的情况下,优势不可忽视。此外,本文中提出的模型有助于支持文献中关于如何正确建模和检测比特币网络中的双重花费攻击的关键词:比特币,双花攻击,数学模型,基于时间的模型,攻击者优势1引言比特币是一种数字货币。 截至2016年5月,它以15的形式价值72亿美元以上。大约800万比特币;到2019年,这种数字货币预计将达到500多万用户比特币使用的方案避免了对可信第三方的需求:相反,这种数字货币基于“工作量证明”的概念,允许用户通过数字签名来执行支付交易。1电子邮件:carlos. mail.escuelaing.edu.co2电邮地址:camilo. javerianacali.edu.cohttp://dx.doi.org/10.1016/j.entcs.2016.12.0061571-0661/© 2016作者。出版社:Elsevier B.V.这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。80C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)79通过分布式时间戳服务使用散列。由于电子文件可以被复制,而且比特币没有可信的第三方可以验证数字货币是否被使用,因此可能会发生用户至少两次花费相同资金的欺诈交易。这些欺诈计划被称为双重花费攻击,已经在比特币网络中发生[6]。已经提出了一些数学模型来分析比特币中的双重花费攻击的可行性特别是S.Nakamoto [7]和M.Rosenfeld [9]提出了基于哈希率的攻击模型,总的来说,只要诚实交易的确认数量超过欺诈交易的确认数量,攻击就成功了。在这种设置中,哈希率意味着模型考虑区块头部可以被哈希的速度,而确认数是指声称交易有效的交易块的数量特别是,这两个模型用于回答以下问题:(i) 假设攻击者已经挖掘了n个区块,那么KS. Nakamoto和M. Rosenfeld对问题(i)给出了非常相似的答案,尽管他们在技术层面上存在一定的差异S. Nakamoto和M. Rosenfeld认为,交易块要么是不存在的,要么是完整的,但绝不是部分完整的。也就是说,这些模型不考虑由诚实节点或攻击者节点部分构建的块更重要的是,这些模型缺乏分析攻击者可能已经构建了欺诈性块的情况所需的表现力,因为它具有一些时间优势。这些特征在攻击模型中似乎很重要,因为在某个时候,一个诚实的区块可能会从头开始构建,同时与可能已经挖掘了一段时间的攻击者竞争。例如,在这种情况下,这种情况可能导致S.Nakamoto和M.罗森菲尔德本文讨论了以下更一般的研究问题:(ii) 假设攻击者已经挖掘了n个区块,并且已经挖掘了t个时间单位,那么K个确认的双重花费攻击的概率是多少为了回答问题(ii),本文提出了两种比特币的双重花费攻击模型,其中攻击者可以在时间单位方面获得一些优势本文提出的第一个模型是对M. Rosenfeld通过添加一个额外的参数来表示分配给攻击者的一些时间优势,假设用于生产和开采欺诈性区块。第二个模型遵循完全不同的方法,是一个纯粹基于时间的模型,它考虑了诚实节点和攻击者节点最后开采区块的时间,以及它们在已经开采的链长度方面的相对进度。本文将前者称为广义模型,后者称为时基模型。广义模型和基于时间的模型都是基于哈希率的攻击模型,C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)7981其中,向块生产的部分进展受到时间的影响,而不仅仅是受到用于产生散列块的散列功率的影响。控制这些模型的方程使用Erlang概率分布,它特别适合于排队系统中的等待时间建模[12]。 此相反 S. Nakamoto的概率分布和M. Rosenfeld使用负二项概率分布。这种分布的选择是合理的,因为产生区块的事件发生之间的等待时间可以自然地被认为是Erlang分布的此外,由于部分区块的生产与开采一个区块所花费的时间直接相关,因此它更像是一个连续的过程,而不是一个离散的过程。由于这些原因,Erlang概率分布似乎非常适合这两种模型。本文还介绍了一些广泛的实验结果进行的广义和基于时间的攻击模型。作为该实验的结果,有强有力的证据表明这两种攻击模型一致,并且表现得非常像M.罗森菲尔德,但产生更多的信息,因为时间优势列入。也就是说,一方面,本文提出的证据表明,部分区块生产对于分析和检测比特币中的双重花费攻击是不可忽略的另一方面,实验数据支持本文提出的基于时间的攻击模型相对于M. Rosenfeld,考虑到这些攻击模型之间的内在差异,此外,本文所提供的模型也证实了M.Rosenfeld指出,S.但这并不完全准确[9]。总之,本文为比特币提供了两个双重花费攻击模型据作者所此外,在本文中提出的广义模型和基于时间的模型上进行的实验加强了这样一种信念,即即使攻击者具有合理的时间优势,双重花费攻击在实践中也是非常不可能的。论文大纲。本文的结构如下。第2节介绍了比特币数字货币网络的技术概述。第3节解释了什么是双重花费攻击。第四节介绍了S.Nakamoto和M.罗森菲尔德第5节介绍了本文的主要贡献,即作者提出的广义和基于时间的攻击模型第六节收集了一些关于双重花费攻击模型的实验信息最后,第7节总结了一些结论和未来的工作。82C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)792比特币概述本节介绍了比特币及其动态的摘要。用户可参考[7]和[3]以获得更全面的解释。2.1比特币:网络和货币比特币一词用于两个不同的概念[3]:(i)基于去中心化网络的支付服务,以及(ii)比特币支付服务中使用的货币名称(通常缩写为BTC)。比特币区块链通过记录比特币网络中发生的所有交易来扮演簿记的角色该网络不依赖于可信的第三方,该第三方可以验证数字货币是否已被使用。相反,它依赖于比特币网络的节点被称为矿工,因为它们的主要工作是将新交易分组在称为块的数据包中并挖掘它们。也就是说,矿工试图解决根据块的信息找到合适的随机数的困难问题从这个意义上说,矿工们竞争开采区块。一旦矿工完全挖掘出一个区块,其解决方案将广播到网络,并获得25 BTC作为奖励 成功完成采矿任务。这就是比特币网络发行货币并促进矿工工作的方式。 在比特币网络中,一旦一个区块被开采出来,每个矿工都会停止开采,并开始开采一个新的区块(即使这个新区块中的交易与之前开采的区块中的交易完全相同)。2.2账户和交易任何人都可以创建一个比特币账户,即使是匿名或没有成为矿工的目的。由于帐户可以在线创建,因此不可能知道有多少用户帐户。BTC可以被发送到任何账户,甚至是那些通过网络确认的注册账户,在这种情况下,这样的Joe Doe有权花这笔钱。有了账户,用户可以创建交易。一个trans-action可以有多个输入账户和多个输出账户;它还可以包括一个小提示,让矿工完全挖掘包含它的区块从技术上讲,比特币账户是一个基于非对称加密的公钥-私钥对[8]。每个键都扮演以下角色:• 公钥充当帐户号码或帐户标识符。BTC可以通过将其相应的公钥作为给定交易中的输出帐户发送到帐户。• 私钥是账户所有权的数字表示,是,它是用于授权某人成为帐户所有者的机制C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)7983交易987交易输入账户值输出账户价值198a0级1.30B1.70432的10.35a0级0.24258的10.20第一次挖矿的矿工的费用:0.01由A0和A1进行交易1005交易输入账户值输出账户价值987a0级0.24C0.4987B1.70a0级0.04B1.5第一次挖矿的矿工的费用:0.0由A0和B进行图1.事务示例,事务1005依赖于事务987。因此,账户私钥的持有者比特币账户中的BTC余额不是由一个数字表示的。相反,任何余额都是通过指向区块链中以前的交易来表示的,这些交易证明了资金的所有权。也就是说,余额是对每个BTCs首次创建的时间例如,考虑图1中描绘的交易987,其中Alice想要支付1。7 BTC进入BobAlice使用两个帐户,即A0和A1。她收到了1。3 BTC在账户A0(交易198),0。账户A1中的35 BTC(交易432)和A1中的0.2 BTC(交易258)。比特币网络要求交易消耗所有输入。因此,Alice必须将她的一个帐户添加到该交易的输出列表中,以便取回剩余的更改。在依赖于交易987的交易1005中,Alice和Bob想要向Charlie支付0。每个2BTC在比特币网络中,第一次挖掘交易区块的矿工的标准奖励包括25个BTC。此外,费用是一种机制,用来提示那些84C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)79随机数指向区块链块体散列交易1465交易1504.交易1433交易1505交易1492对矿工的图2.街区的主要部分将交易包括在待挖掘的交易块中的矿工。例如,交易987向那些成功开采包含该交易的区块的矿工提供0.01 BTC的提示。然而,如交易1005所示,费用是可选的。在后一种情况下,首先开采区块的矿工将获得开采区块的标准25 BTC,但不会得到小费。25 BTC的标准奖励可能会在未来发生变化,届时比特币将不会由系统发行用于开采区块。最后,请注意,系统需要以某种方式识别事务的输出是否已经被花费。否则,用户可以从同一收入来源创建多个在比特币网络中,矿工将从区块链中检查是否有足够的资金用于交易,然后再用这样的交易挖掘一个区块。2.3挖掘一个交易一个块由三部分组成,即nonce、header和body:• nonce是区块头部的散列• 头部包括指向前一个块的• 该主体由一组交易组成,其中包括向矿工账户支付25 BTC的交易。挖掘一个区块对应于为区块的随机数找到一个合适的值C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)79850图3.一个区块链的例子,它的原始区块(0),它的有效链(填充),和两个长度各为1的分支(浅)。2.4区块链区块链包含所有曾经发生过的交易,它扮演着比特币网络簿记员的角色。从技术上讲,区块链是一棵有一个很长分支的区块树,这使得它看起来像一条单链。为了避免混淆,此树中的主要分支将被称为有效链,而其他分支将被称为分支(来自有效链)。有效链中的块称为有效块。出现分支可能是由于网络延迟、用户尝试不同的脚本或由于攻击。然而,与有效链的长度相比,这些分支的长度图3描绘了区块链的示例关于图3中的区块链的一个重要观察是,从左到右,最后填充的块被认为是有效的。这是因为当与具有分支长度1的无效节点相比时,有效节点形成具有2个节点的较大分支一般来说,当从有效分支导出的分支长度存在平局时,下一个有效区块将被选择为最后一个交易首次宣布的区块。此外,由于时间滞后,可能会发生一些节点认为错误的分支是有效的分支,但实际上对于大量节点来说,这是不太可能的。正如本节前面提到的,挖掘区块包含指向其前一个区块的哈希指针因此,区块链可以被看作是一个链表的集合,哈希指针充当反向指针。请注意,这有助于防止区块链的内部树结构容易发生3什么是双重攻击?本节概述了比特币网络中如何发生双重支出攻击。有关此类攻击的更多详细信息,请参阅[4];有关对比特币网络的其他类型攻击的信息,请参阅[5]。众所周知,伪造数字签名是一个很难的计算问题[8]。因此,试图修改已签名的有效事务实际上是无用的。然而,仍然有这种对比特币网络的攻击被称为双重花费攻击。尽管它需要巨大的计算能力,而且很可能会失败,但它可能是有利可图的。事实上,这已经发生了[6]。双重花费攻击可以如下执行:(i) 攻击者A想要B提供的服务或产品。86C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)79(a) 考虑所有交易的区块链初始状态有效。(b) 诚实的节点通过放置黄色区块来继续扩展有效的链,而攻击者则秘密地开始挖掘欺诈性分支。(c) 攻击者成功地使欺诈分支比诚实分支更长。(d) 攻击者图4.一次成功的双重攻击。(ii) A创建两个交易:一个支付给B,另一个支付给自己,使用相同的交易输入(iii) A发布一旦后一个挖掘任务成功,它会继续在它之后添加块。(iv) B将产品或服务提供给A,因为付款已确认或B没有等待足够长的时间。(v) A是幸运的,欺诈分支变得比有效分支更长。攻击者节点发布新分支中的所有区块,并且所有节点都同意将它们视为有效区块,因为分支比当前有效分支长(vi) B向A提供产品或服务,但没有收到任何付款。此时,B无法找到A,因为它是匿名的或已经离开。图4描述了成功的双重花费攻击的几个阶段。阶段(a)描述了区块链的初始状态。在阶段(b)中,诚实节点通过放置有效区块来扩展有效链,而攻击者则秘密地开始挖掘欺诈性的分支在阶段(c)中,攻击者成功地使欺诈分支比诚实分支长。最后,在阶段(d),攻击者4两种现有的攻击模型本节概述了S。Nakamoto [7]和M.罗森菲尔德[9],连同一些符号和观察。其中一些C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)7987在第5节中还使用了符号和观察结果来介绍作者提出的广义和基于时间的双重花费攻击模型攻击模型由S. Nakamoto和M.罗森菲尔德使用了类似的概念和定义:• 数量q∈[0,1]是当攻击者节点同时开始挖矿时,攻击者节点比诚实节点先挖矿的概率。这相当于说q是攻击者的计算能力相对于网络中总计算能力的比例• 数量K∈N是接受一个区块及其交易有效所需的最小确认次数。这个数量是由每个卖家设定的,而不是由网络本身设定的。• 数量τ∈R>0是整个网络所需的平均时间(以秒为单位)诚实和攻击者节点)来挖掘区块。此外,还介绍了S. Nakamoto将N作为下标,而那些在模型中专用的下标则由M。罗森菲尔德将R作为下标。这两个模型之间共享的函数可以不带任何下标。本文中的每一种攻击模型,包括所提出的模型在第五节中,从三个方面进行了介绍。也就是说,每个模型都是根据攻击者在某些假设(DS)下成功执行双重花费攻击的概率、潜在(P)进度函数和追赶函数(C)来描述的。 函数DS依赖于函数P和C,并且它直观地将网络的双重花费攻击脆弱性度量为概率。潜在进展函数P描述了一旦有效分支足够长时预期攻击者双重花费攻击模型的最终目标是观察函数DS的参数行为,如下所示:(i) DSN(q,K)和DSR(q,K)表示S的模型. Nakamoto和M. Rosenfeld分别计算了攻击者成功进行双重花费攻击的概率,假设攻击者节点控制了网络的q%,而诚实节点刚刚挖掘了第K个(ii)PN(q,m,n)和PR(q,m,n)是S. Nakamoto和M. Rosenfeld;它们表示一旦诚实节点挖掘第m个块,攻击者正好挖掘n个(iii) C(q,z)表示攻击者分支变得比诚实分支更长的概率因为函数C对于S是相同的。Nakamoto和M.罗森菲尔德88C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)79ΣΣp4.1S的模型中本聪[7]提出了S. Nakamoto通过将诚实节点挖掘第K个确认块后攻击者恰好挖掘了n个从一个K-n块差异中追赶的概率。提出了S. Nakamoto在[7]中认为,攻击者在开始攻击之前正好挖掘了1个欺诈块,但它可以很容易地修改以处理n个欺诈块的优势。4.1.1攻击者在该模型中,潜在的进展函数对应于由下式给出的泊松分布:其中λ=mq/(1−q)。P N(q,m,n)= e−λλ n/n!、4.1.2追赶功能追赶函数基于随机游走,其中成功和失败分别给予攻击者或诚实节点挖掘块S.Nakamoto和M.Rosenfeld同意该函数由下式给出:好吧q≠z+1,ifq<0. 5μz>001,否则,其中q表示攻击者的计算能力,p= 1−q,z是攻击者的初始劣势4.1.3双花攻击概率给出了S. Nakamoto+∞DSN(q,K)=PN(q,K,n)CN(q,K-n-1)n=0K=1 −P N(q,K,n)(1 − C N(q,K − n − 1))。n=04.2M的模型罗森菲尔德[9]提出了M. Rosenfeld使用了与S.中本它还考虑了1个欺诈区块的初始优势C(q,z)=C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)7989ΣΣ1τττ4.2.1攻击者M. Rosenfeld1.Σ,如果m=n= 0PR(q,m,n)=⎩m+n− 1nqn(1−q)m ,否则,其中PR(q,m,n)是一旦诚实节点挖掘第m个块,攻击者已经挖掘了n个块4.2.2追赶功能M. Rosenfeld使用了最初由S.中本4.2.3双花攻击概率该模型中的双花攻击概率表示为DSR,由下式给出:+∞DSR(q,K)=PR(q,K,n)CR(q,K-n-1)n=0K=1 −P R(q,K,n)(1 − C R(q,K − n −1))。n=0最后,在这两个模型中(第5节中提出的攻击模型也是如此),计算能力与首次挖掘区块的概率命题4.1给定计算能力q相对于网络中总计算能力的比例,首先挖掘一个区块的概率正好是q。由于在单次试验中挖掘一个区块的概率是恒定的,并且与先前的试验无关,因此挖掘一个区块所需的时间遵循指数分布。让T表示随机变量,描述当使用网络中所有可用的功率时挖掘一个块所需的时间。对于x≥0,T的密度函数由下式给出:1f(x)=τe−τx,其中τ是预期时间,因此每个时间单位挖掘区块的概率为1。由于网络中的功率与每时间单位计算的哈希值成比例,因此每时间单位挖掘区块的概率也与这种功率成比例。因此,每分钟开采一个区块的概率攻击者和诚实节点的时间单位将分别为q和p设Tp和Tq为随机变量,表示诚实节点所需的时间90C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)790ττττ0和攻击者节点来分别挖掘块。然后,攻击者节点比诚实节点更快地挖掘区块的概率由下式给出P(Tq Tp)=∞P(Tq=x)P(Tp> x)dx=∞qe−qxe−pxdx=q<$∞1e−1xdx0τ=q。Q5两种新的攻击模式本节介绍了作者提出的双重花费攻击的广义模型和基于时间的模型。本节中使用的一些符号、约定和函数是从第4节中借用的。此外,专门为时间模型定义的函数以T作为下标。5.1概化模型这是作者提出的第一个双重花费攻击模型。该模型是对M. Rosenfeld通过添加一个额外的参数来表示分配给攻击者的一些时间优势,即,攻击者一直在秘密尝试开采区块的时间。因此,这种扩展被称为广义模型。5.1.1攻击者它是用功能来P(q,m,n,t)它概括了第4节中的潜在进度函数。函数P表示一旦诚实节点挖掘第m个块,攻击者正好挖掘n个额外的参数t表示要分配给攻击者节点的针对欺诈性区块产生的时间优势。为了定义该模型的进度函数P,有必要考虑在tτ秒内可能被挖掘的块的可能数量。假设a(q,t,n)表示在tτ秒内以q哈希功率相对于网络中总功率的比例不断挖掘的情况下挖掘正好n个命题5.1提出了一个计算a的封闭公式。C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)7991∫你好!∫QE0.Σ−−−Σ∫你好,那就这样吧。命题 5.1 如果t>0或n> 0,则a(q,t,n)= (qt)n你好!e −qt。证明注意a(q,t,0),即在tτ秒内挖掘0个区块的概率,表示在大于tτ秒的时间内挖掘第一个区块的概率即a(q,t,0)=+∞qe−qs不ds=e - qt.考虑a(q,t,n)=(qt)ne−qt。我们的目标是证明,a(q,t,n+1)= (qt)n+1(n+1)!e−qt。如果s是下一个区块被挖掘的时刻(如果有下一个区块),那么:a(q,t,n+1)=不qe−qs0a(q,t-s,n)dst-qs(q(t-s))n你好!t-qt(q(t-s))ne-q(t-s)ds=qe ds哦!n=qe−qtq(t0)n+1 (t t))n+1(n+ 1)!(qt)n+1=(n+1)!e−qt。Q由于命题5.1,函数P可以定义为哪里nP(q,m,n,t)=a(q,t,z)PR(q,m,n-z),z=01,ift=n=0a(q,t,n)=0,如果t<= 0(qt)n qt你好!注意,函数PR和PN(在第4节中介绍)与P的区别仅在于它们假设t= 0。因此,可=92C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)79以预期以下论断成立:P N(q,m,n)= P R(q,m,n)= P(q,m,n,0).5.1.2追赶功能它使用了S.Nakamoto(见第4节)。C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)7993ΣΣ5.1.3双花攻击概率它是由函数DS(q,K,n,t),表示攻击者在给定相对于诚实节点的n个块和tτ秒的初始优势的情况下函数DS定义为:+∞DS(q,K,n,t)=P(q,K,z,t)CR(q,K-n-z).z=0=1−K−nP(q,K,z,t)(1 − C R(q,K-n-z)).z=0请注意,函数DSN和DSR(在第4节中介绍)与DS的不同之处仅在于它们假设t=0和n= 1个块的初始优势。在第6节中,表明以下断言成立:DS N(q,K)<$DS R(q,K)= DS(q,K,1,0).5.2基于时间的模型本节介绍基于时间的模型,这是作者提出的第二种双重花费攻击模型。一方面,这个模型和5.1节中的一般化模型一样灵活,因而比S. Nakamoto和M.罗森菲尔德在第4节。 另一方面,它使用了一个完全不同的- 使用这种方法来计算攻击者成功执行双重花费攻击的概率。在基于时间的模型中,状态由有效分支和欺诈分支的长度来识别,假设它们具有相同的长度,以及诚实节点和攻击者节点挖掘其最后一个区块的时间差。也就是说,基于时间的模型中的状态由两个值t和n组成,这两个值表示诚实节点和攻击者节点都挖掘其 第n个值得注意的是,基于时间的模型中的状态与先前的攻击模型不同,因为后者表示攻击者和诚实节点正在挖掘的分支的长度方面的状态,并且它们可以是不同的在基于时间的模型中,有时关注时间参数t就足够了,留下长度参数n来表示最大的这种长度,使得攻击者和诚实节点都已经挖掘了它们的第n个5.2.1攻击者它是用功能来PT(q,m,n,t)94C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)79Qqτ+∞表示攻击者节点挖掘第n个正如命题4.1中所表达的那样,由于在单次试验中开采一个区块的概率是恒定的,并且与先前的试验无关,因此所需的时间 对于挖掘,块遵循期望值λ=1的指数分布。因此,挖掘具有哈希功率q的n个块所需的时间Tq,n由n个独立指数分布的结果之和给出,其遵循Erlang分布[12](即,具有整数参数的伽马分布),形状n和尺度μ=1,具有概率密度函数:hq,n(t)=tn−1qne−qt.(n−1)!这样,攻击者采用这种观察,函数PT被定义为(更多技术细节见[2+∞PT(q,m,n,t)=−∞h q,n(x)hp,m(t-x)dx.另外,考虑到它的复杂性,对于第6节报告的实验,作者选择使用数值包来积分表达式,而不是直接使用其封闭的数学形式。5.2.2追赶功能它是用功能来CT(q,t)表示攻击者的分支变得比有效分支更长的概率对于该模型,要求函数CT满足以下两个条件:(i) CT(q,t)= 1,覆盖了攻击者比诚实节点更早挖掘最后一个区块的情况,这意味着攻击者的分支已经更长了(ii) 由于从时间差赶上的概率等于赶上下一个块的概率加上一旦下一个块被挖掘就从时间差CT(q,t)=−∞P T(q,1,1,x)C T(q,x + t)dx.∫C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)7995p1,否则,+∞pqept,否则。满足要求(i)和(ii)的函数是以下函数CT,其中p= 1 −q:.qe−(p-q)t,如果t>0这个定义的正确性可以从函数PT并根据以下观察:.pqe−qt ,ift >05.2.3双花攻击概率它是用功能来DST(q,K,n,t)表示,类似于广义模型中的DS,攻击者成功执行双重花费攻击的概率,给定相对于诚实节点的n个块和tτ秒的初始优势在基于时间的模型DST中,双重花费攻击概率可以表示为一旦攻击者的攻击时间达到tτ秒,第K+ 请注意,攻击将以K+1个块而不是K个块结束函数DST定义为:DST(q,K,n0,t0)=−∞P(q,K +1,K-n 0+ 1,t)C T(q,t-t 0)dt.6模型比较本节总结了作者在第5节中提出的两种攻击模型的实验结果,即比特币网络中双重花费攻击的广义模型和基于时间的模型。特别地,本节中给出的实验结果与S.Nakamoto和M.罗森菲尔德在第4节。此外,本节还包括用于运行所有实验的Python 3编程语言代码片段。本节的主要结论之一,主要由实验数据支持,关于所提出的模型的正确性,有两个方面:(i) 本文提出的广义模型和M。Rosenfeld [9]在预测比特币网络中双重支出攻击(ii) 广义模型和基于时间的模型是一致的。此外,实验数据表明:CT(q,t)=PT(q,1,1,t)=96C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)79ΣΣ• 双重花费攻击的概率随着确认次数的减少或攻击者• 当攻击者具有有限的时间优势时,双重花费攻击在实践中是非常不可能的。• 如果攻击者控制了网络40%的由于这种情况不太可能发生,因此这类攻击的最佳遏制方法是设置大量的确认,正如本文研究的双重花费攻击模型所建议的那样。• S. Nakamoto的行为与其他三种模型略有不同6.1 PN(q,m,n)PR(q,m,n)=P(q,m,n,0)这实际上是一个不需要实验数据来证明的事实。The ‘equation’ 此外,等式PR(q,m,n)=P(q,m,n,0)由下式得出:nP(q,m,n,0)=a(q,0,z)PR(q,m,n-z)z=0=a(q,0, 0)PR(q,m,n)n+a(q,0,z)PR(q,m,n-z)z=1=PR(q,m,n),鉴于1,如果n= 0a(q,0,n)=0,否则。6.2 DSN(q,K)<$DSR(q,K)=DS(q,K,1, 0)这是本文的主要结论之一,也是一个没有实验数据就能证明的事实。这可以从表示攻击者在相应模型中成功执行双重攻击的概率的函数的定义以及上述等式PR(q,m,n)=P(q,m,n,0)得出。然而,为了更精确地了解这些函数的行为,我们在图5和图6以及表1中列出了一些实验数据。在图5中,显示了两种不同情况下的DS与K的关系图,即q= 10%和q= 20%。注意,表示DSR和DS的曲线重叠,而表示DSN的曲线不重叠。为了获得更多细节,图6包括.C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)79971008060402000 2 4 6 8 10 12K:确认接受交易有效的确认次数图5.在三种模型(DSN、DSR和DS)中,将交易视为有效的确认数K与双重花费攻击的概率进行比较。 这些曲线似乎是但Nakamoto201510502个2. 533. 5 4K:确认接受交易有效的确认次数图6.图5部分放大。很明显,中本聪图5中曲线之间的间隙更明显。这个实验支持了S.中本聪在模拟比特币网络中的现实双重攻击时并不完全准确,正如M。罗森菲尔德表1包括针对K和q的一些值的DSN、DSR和DS的值,而对于攻击者节点没有任何时间优势6.3 DS(q,K,n0,t0)=DST(q,K,n0,t0)这也是本文的一个主要结果。虽然还没有数学证明,但实验数据强烈支持这一说法,如下所示表2包括作为K和q的函数的DS和DST的值,假设n0= 0,t0= 2。5. 此表总结了最后一个块中本聪,q= 20%罗森菲尔德,q= 20%广义,q= 20%中本聪,q= 10%罗森菲尔德,q= 10%广义,q= 10%双重花费攻击的概率(%)双重花费攻击的概率(%)98C. 平松角Rocha/Electronic Notes in Theoretical Computer Science 329(2016)79表1根据三种模型(DSN,DSR和DS)的双重花费攻击概率与哈希功率q以及用于接受交易为有效的确认次数确认次数模型Q01234567Nakamoto0%的百分比百分百0.00%0.00%0.00%0.00%0.00%0.00%0.00%罗森菲尔德0%的百分比百分百0.00%0.00%0.00%0.00%0.00%0.00%0.00%广义0%的百分比百分百0.00%0.00%0.00%0.00%0.00%0.00%0.00%NakamotoRosenfeld广义百分之一百分之一百分之一百分百百分百百分百2.00%2.00%2.00%百分之零点零五0.06%0.06%≈0≈0≈0≈0≈0≈0≈0≈0≈0≈0≈0≈0≈0≈0≈0中本罗森菲尔德广义百分之五百分之五百分之五百分百百分百百分百百分之十点一二百分之十百分之十1.26%百分之一点四五百分之一点四五0.16%0.23%0.23%0.02%0.04%0.04%≈00.01%0.01%≈0≈0≈0≈0≈0≈0Nakamoto百分之十百分百20.46%5.10%1.32%0.35%百分之零点零九0.02%0.01%罗森菲尔德 百分之十百分百百分之二十5.60%1.71%0.55%0.18%0.06%0.02%广义百分之十百分百百分之二十5.60%1.71%0.55%0.18%0.06%0.02%
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 掌握数学建模:层次分析法详细案例解析
- JSP项目实战:广告分类系统v2.0完整教程
- 如何在没有蓝牙的PC上启用并使用手机蓝牙
- SpringBoot与微信小程序打造游戏助手完整教程
- 高效管理短期借款的Excel明细表模板
- 兄弟1608/1618/1619系列复印机维修手册
- 深度学习模型Sora开源,革新随机噪声处理
- 控制率算法实现案例集:LQR、H无穷与神经网络.zip
- Java开发的HTML浏览器源码发布
- Android闹钟程序源码分析与实践指南
- H3C S12500R升级指南:兼容性、空间及版本过渡注意事项
- Android仿微信导航页开门效果实现教程
- 深度研究文本相似度:BERT、SentenceBERT、SimCSE模型分析
- Java开发的zip压缩包查看程序源码解析
- H3C S12500S系列升级指南及注意事项
- 全球海陆掩膜数据解析与应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功