Analysis of theBlockchain Protocol in Asynchronous Networks

异步网络中的区块链协议分析

摘要

中本聪区块链协议介绍(略)。

分析区块链共识协议是众所周知的困难工作。先前的分析工作不是做简单假设(网络通道完全同步——消息立即传送,无延时),就是只考虑具体攻击。此外,据我们所知,他们没有任何人处理玩家加入或退出协议。

本论文我们证明区块链共识机制在一个有对抗延时(是先验边界)的异步网络满足强形式的一致性和活跃性,里面有一个允许自适应腐败和产生新玩家的正式模型假设计算难题被建模为一个随机预言。(我们通过在完全异步情况下对区块链协议进行简单的攻击,显示这个难题的难度需要适当的依照网络最大延时函数来设置,从而来补足这个结果;这种攻击甚至适用于静态的腐败。)

作为一个独立的贡献,我们定义一个区块链协议的抽象概念,并且确定这些协议的适当安全属性;我们证明中本聪的区块链协议满足它们,且这些属性对于典型应用程序是足够的;我们希望这个抽象可以进一步简化区块链的应用。

1介绍

分布式系统历史上已经在一个封闭的环境中进行了分析,在这个封闭的环境中,系统中的参与者数量以及他们的身份都是常识。这种模式的背离始于对等系统的设计,例如, 使用Napster和Gnutella等系统进行文件共享。 这些系统的成功导致了Freenet [CSWH00],CAN [RFH + 00],Chord [SMK + 01]和Pastry [DR01]等学术设计系统提供冗余文件存储,分布式散列,选择附近的服务器,和分层命名。

这些对等系统的一个新颖之处在于它们是无权限的 - 任何人都可以加入(或离开)协议执行(无需获得集中或分布式权限的许可),并且协议指令不依赖于玩家的身份。由于参与者可以不断地加入和离开系统,成功的无权限系统需要容错设计。不幸的是,上述系统虽然在度量(如连通性)等方面“稳健”,但并不是为了容忍敌对行为而设计的。例如,不能保证一个参与者与系统的经验是一致的:两个请求同一个文件的参与者最终可能会收到不同的版本,从来不知道他们做了什么。初看起来,人们可能会认为使用标准的共识/拜占庭协议方法(例如[CL99,MA05,Lam10,Lam11])可以帮助解决这个问题。问题在于这样的协议要求大部分参与者是诚实的,但是在无许可的情况下,攻击者可以简单地进行所谓的“sybil攻击” - 它只是产生许多玩家(它控制的),并且可以从而很容易确保它控制着大部分玩家。事实上,Barak等[BCL + 05]证明,这是无权限模型的一个根本性问题。

中本聪区块链。POW解决上述问题。在他的协议中,每一个参与者维持他自己的消息“块”的本地“链”——称为区块链。每一个块由三部分组成。在此之前,POW可以被认为是整个区块链上的“无密钥数字签名”。这种方法的根本问题是诚实的参与者最终是否用相同最长的块链结尾,从而得到相同的有序记录列表,或者系统是否发展成参与者具有不一致的本地链的状态。

1.1. 中本聪协议能达到一致吗?(介绍现有研究,说证明中本聪协议达到一致有挑战)

介绍之前在同步环境且玩家数量固定情况下的一致性的研究。但中本聪协议是明确工作在异步环境的。

网络延迟的力量。正如我们所观察到的(在定理8.1中正式证明),在一个完全异步的环境中,敌手可以任意延迟消息,一致性不能得到满足:控制一小部分计算能力的对手可以简单地延迟来自诚实方的消息,为了足够长来确保对手能够提出自己的链条(包含任何期望的记录集合),这个链条比所有诚实的玩家持有的链条更长,因此它可以使诚实的玩家在任何时候都转向敌对链条。事实上,我们的攻击甚至在部分同步的情况下也可以工作(参见[DLS88]),在网络延迟上存在一个先验界限Δ(也就是说,攻击者可以在延迟任何消息,只要在时间Δ内传递它们),只要采矿难度参数p超过1 /ρnΔ,其中ρ是敌手所拥有的计算能力的一部分,n是参与者的数量(p是Nakamoto协议中的采矿难度参数)。事实上,Decker和Wattenhofer [DW13]已经通过实验观察到,增加Nakamoto协议中的网络延迟会导致分叉增加,并且他们指出(通过启发式计算),攻击者可以利用这些延迟来违反需要少于50%挖掘能力的攻击的一致性。

……要分析在网络Δ范围延迟中,任意方面的攻击策略

如上所述,Garay等[GKL15]为Δ= 1特例提供了肯定的答案(即在下一个时间步骤中传递消息),而Sampolinsky和Zohar [SZ15]则表明某些(自然的,但 限制性)策略不能用来破坏Δ范围延迟网络中的Nakamoto协议(在极限中)的一致性。

让我们来强调为什么在“工作证明”环境(我们假设大部分计算能力是诚实的)中处理网络延迟比为“标准”许可环境更具挑战性:在标准模型中, 任何同步协议都可以变成一个在Δ-延迟网络中也是安全的协议,只需要所有诚实的玩家在响应任何消息之前总是“等待”(不做任何事情)Δ时间步骤,有效地模拟同步循环。 这种方法在工作证明的设置中完全失败 - 对手现在可以将其计算资源增加一个因子Δ(因为当诚实的玩家“等待”时它可以尝试解决难题)。

1.2. 主要结果(一致性定理+结论,无证明)

解决上述问题并证明(假设难题被建模为一个随机预言)在网络消息延迟中中本聪协议满足一致性(在挖矿难度上有适当假设,且成比例的算力由对手持有)。我们的分析考虑一个完全不同的证明技术。 另外,我们的分析考虑了适应性腐败和新玩家的产卵(即新玩家加入); 据我们所知,这是正式处理新玩家产卵的第一个分析(这是区块链协议的一个至关重要的想法)。

有延迟的一致性定理。我们对我们的模型一致性定理提供了粗略地概述。 考虑Nakamoto协议的采矿难度(也就是说,一个随机预言的查询在概率为p的情况下是一个成功的“采矿”),并考虑n个参与者执行,每个参与者具有相同的计算能力 – 我们假设协议在回合(时间戳)中进行,每轮每个玩家获得一个随机预言查询,并且对手控制ρ部分玩家获得ρn随机预言查询(如[GKL15],诚实的玩家需要并行查询 ,但是我们允许攻击者顺序地进行查询)。 设α= 1-(1-p)1-ρn是一个诚实的玩家在一轮中解决一个谜题的概率,令β=ρnp为攻击者在一个回合中预期可以挖出的块数。 当p《1 / n(这是实际情况),我们有α≈p(1 - ρ)n,因此α/β≈1-ρ/ρ。

定理1.1   α(1 − (2∆ +2)α) ≥ (1 + δ)β.   (δ > 0)

除了指数小概率(在T)中,Nakamoto的协议在随机的预言模型中满足了T-一致性,假设网络的延迟受到了限制Δ。

因此,只要ρ<1/2(即对手控制不到计算能力的一半),对于每一个Δ,都存在一些(足够小的)p,这样Nakamoto的协议满足一致性。 (请注意,如上所述,如果p> 1 /ρnΔ,中本未能满足一致性。)

1.3. 什么是区块链?(通过说其他人研究,引出加这些安全属性的必要;给出定理和推论证明一致性)

我们正式定义一个区块链协议的抽象概念(而不是Nakamoto提出的区块链协议)并且提出这样的一个区块链所需要的安全属性

区块链是一种交互式协议,其中每个参与者都有一个局部变量状态,其中包含一个名为“链”的消息列表m。玩家接收输入,称为记录/批次/消息,他们试图包含在他们自己和他人的链条中。我们需要来自安全区块链的以下属性:一致性、futureself-consistence、g-chain-growth、the µ-chain quality。

一致性属性就是Nakamoto [Nak08]已经考虑过的“普通”性质(由Garay等人[GKL15]形式化)。 但正如我们所指出的,这种一致性属性通常不足以满足应用程序的需求。 特别是,它不排除在两个不同链之间振荡的协议m 1,m 2; 在偶数轮所有的玩家有m 1作为他们的链,在奇数轮是m 2。显然,这样的协议不足以满足典型的应用(例如,比特币或实现公共分类账)。 因此,为了防止它,我们引入future self-consistency属性。

Sampolinsky和Zohar [SZ15]明确地考虑了链增长的下限(但他们只考虑期望值的增长)。 Garay等[GKL15]在其一个证明中隐含地显示了关于连锁增长的下限,[KP15]明确地将其作为一个必需品。 在本文中,我们另外引入链增长的上界作为一个理想的属性; 如后续工作[PS16a,PS16b]所示,这个属性在应用中很有用。

最后,在比特币论坛[mtg10]上首次讨论了链质量属性,Eyal和Sirer[ES14]w.r.t明确了自私的挖掘攻击。 比特币应用程序的区块链。该属性首先正式化,Garay等[GKL15]给出了“链质量”的名称; Garay等[GKL15]进一步展示了它的新应用(就像我们稍后讨论的那样)。

主要定理  我们的主要结果表明,Nakamoto的协议达到了一致性(先用定理和推论证明满足安全属性)以及我们所有其他的愿望。γ =α/1+∆α;直观地,通过延迟信息,攻击者获得额外的计算时间。

定理1.2. 

推论1.3.

因此,只要ρ<1/2,Nakamoto的协议保证诚实的参与者提供的信息最终会在链上产生,只要ρ<1/3,链上的一半信息 由诚实的参与者贡献。 我们提到,假设没有延迟(即Δ= 1),由Garay等人[GKL15]建立的链质量约束匹配,并且链质量紧张是由于[mtg10,ES14]自私挖掘(又名“采矿 - 卡特尔”)攻击。

我们主要定理的一个自然的问题是,是否存在符合我们的区块链抽象概念的协议来改进Nakamoto的协议所达到的参数(即Nakamoto的协议是“最优”?)。 Pass和Shi [PS16a]的后续结果显示了如何在Nakamoto的协议中“放大”链质量以实现1-(1-δ)ρ的“接近最优”的链质量,其中δ是任意的小常量。我们强调,[PS16a]的结果以黑盒的方式依赖于本文的分析。

1.4. Nakamoto的协议真的是无权限的?(无证明,有举例,引出1.5.实验)

我们的定理只表明,对于每个n,Δ,存在一些使得协议安全的采矿难度参数p,所以看起来协议需要知道n,因此不能是“不许可”的。 关于安全级别如何取决于p的选择,请参见第1.5节实验评估。 (正如我们上面指出的那样,这不是我们分析的异常;当p> 1 /nρΔ时,协议是不安全的)。但是,协议只需要知道一个非常粗略的上限 玩家数量n(但上限越差,协议效率越差)。

我们另外指出,我们关于链增长下界的定理实际上并没有对p进行任何假设; 这意味着诚实的玩家可以使用初始设置阶段来估计链增长,并由此推断玩家数量n的弱上限,然后使用这个新的上限来运行协议。 事实上,正如我们之前所暗示的那样,比特币协议根据它花费寻找2016个块的时间,重新调整了每2016个块(大约2个星期)的采矿难度参数p。我们将在未来工作中对这个更新程序正式的分析。

1.5. 一个实验性的解释(实验佐证一致性定理)

图1描绘了当我们的一致性定理在Nakamoto的协议中通过将c与攻击者控制的计算的部分(ρ)进行图形化时的情况。 蓝色图形描绘了α(1-(2Δ+ 2)α)>β的数值计算的最大值ρ,即我们的定理4.3显示Nakamoto协议的一致性的参数。 红色的绘图显示,当我们最好的攻击是在违反一致性的情况下成功的

最后,让我们来评论一下,当c很小的时候,我们的分析不紧的原因是在我们的攻击中我们只考虑对手能够完全控制链条的概率。 当c很小时,即使没有任何敌对的信息,诚实的玩家也不会收敛在一个链条上的可能性很大。

1.6. 证明亮点(说证明技巧+举例+证明意义;提出模型;简要说明要证明什么属性)

虽然我们的高级方法与Garay等[GKL15]和Sompolinsky及Zohar [SZ15]的分析直观上类似,但我们的实际证明采用了完全不同的证明策略。如前所述,我们的证明的大部分是处​​[SZ15]中分析中忽略的攻击策略,处理这些攻击策略需要我们考虑一个完全不同的证明技巧:不是直接分析整个区块链过程,而是考虑一系列简化的过程,这些过程是由原来的“主导”,但更简单的分析。例如,我们的目的是要表明,在最佳攻击中,攻击者应该总是尽可能延迟消息(以便消息始终在Δ步后传递)。进行这种随机控制分析的一个障碍是,一旦我们开始拖延信息,诚实的参与者开始“挖掘”不同的块,我们两个进程的执行发生分歧,变得很难比较:理想情况下,为了执行控制论点,我们希望考虑一个固定的执行(所有方面的随机性都是固定的),并通过诱导延迟信息小于Δ来显示在特定的执行过程中永远不会帮助攻击者。问题是,这样一个控制主张是不正确的:人们可以想出情况(随机性是固定的),“靠运气”推迟信息改善了诚实一方的事情(他们现在开始挖掘块,神奇地导致更多成功)。当然,发生这种情况的可能性应该很小,但是正式表明这将要求我们以某种方式将实验连接到和不连接最大延迟,这是有意义的(由于由随机预言创建的依赖关系)。

F tree模型。为了解决这个问题,我们依赖于关于安全计算的密码学文献中的“模拟技术”[GMW87,Can00]:我们首先考虑一个理想化的场景,其中玩家不要挖掘块,而是获得理想的“挖掘”功能,我们称之为F tree。这个功能决定了诚实各方是否成功地进行了挖矿(随机),并且成功的可能性与诚实的一方试图扩展的当前链无关。在这个模型中,我们现在可以针对实验的每一个固定的随机性进行控制论证。我们的一个主要的技术引理,证明是非常微妙的,显示在随机预言模型中,“现实生活”协议中任何成功的攻击都可以转化为(即模拟)攻击理想化的F tree模型。这里的关键技术问题是处理由随机预言创建的依赖关系。 (作为一个独立的贡献,我们相信我们的F tree模拟引理可以有助于形式化[GKL15,KP15,SZ15]中非正式的一些步骤。)

链增长下界。在上述技术的支持下,下一个关键步骤是证明环比增长的下限。 粗略地说,我们通过归纳证明(在F tree模型中)链在协议的实际执行中增长的速度至少是一样快,如在“混合”实验中a)所有消息被最大限度地延迟,b)诚实方 “冻结”,每当有一个诚实的玩家挖一个块时,诚实方停止挖掘Δ步骤;以及c)由敌手发送的所有消息都被移除。 这个混合实验的优势在于,连锁增长过程现在可以被描述为一个简单的Markov链 - 不再有任何“对抗性转变”,由于“冻结”,诚实的玩家从来没有任何链冲突。 接下来可以使用标准的Chernoff边界来分析这个过程。 我们强调,通过归纳证明,我们对事实(我们的分析是在F tree模型)的依靠关键。

没有“长”块预扣。我们接下来使用链增长下界来证明区块链协议的一个中心属性,我们称之为“不长块”扣留属性:对手不能“扣留”它已经开采得太“长”的块 – 除非它会在很短的时间内向诚实玩家广播该块,该块变得“无关紧要”,并且不会被诚实的玩家所接受。 粗略地说,我们通过证明这一点来证明那点,假设对手控制网络中不到一半的计算能力,诚实的玩家链将以比对手可以创建的任何私人链更快的速度增长,因此除非它 释放任何迅速发现的障碍物,诚实的玩家链条将会太长,以至于该块永远无法相关。

证明一致性

1.7. 相关工作

2 区块链协议和执行

        我们提出了一个区块链协议的抽象模型,旨在覆盖区块链协议的许多变种。

2.1 区块链协议

        给出模型。涉及安全参数,状态,有效谓语

        一个区块链执行。遵循普遍可组合性的框架[Can00]给出一个场景并分析。

可接受的环境。我们将考虑与受限制的对手和环境执行; 这些限制将由谓词Γ(·,·,·,)指定。

定义2.1(可接受的环境)

2.2 关于沟通模式的评论

我们的模型假设任何玩家都可以向网络中的所有其他玩家发送消息,并且这些消息在Δ轮内到达,不管时间多长。 这显然不是一个非常现实的模型。 在现实生活中,玩家通过gossip网络传达他们的信息,因此我们需要假定这个网络已经足够连接,并且有足够多的诚实玩家来确保Δ传递时间。 如果信息可以任意长,这显然是不可行的。 然而,在我们考虑的应用中,假设环境提供的记录长度为O(κ)(即,存在“块大小限制”) - 高端玩家只传递在最后O(κ)来自他们以前收到的消息。 对于这样的情况,假设足够连接的路由网络具有确保在Δ轮内传递所有消息的期望属性似乎是合理的。

2.3 ROM里的区块链协议 

2.4 Nakamoto的协议

        (Π pNak ,CpNak)

关于我们使用随机预言的评论。回想一下,在我们的模型中,我们限制玩家每轮单个评估查询H,但在同一回合中允许他们任意数量的验证查询H.ver。我们这样做是为了模拟这样的事实,即检查开采块的有效性是“便宜”的,而开采过程是昂贵的。 (为了实现这个功能,我们在Nakamoto描述中的每个挖掘块中都包含了一个指针h,这样玩家不需要花费H查询来计算指向前一个记录的指针。)

在实践中,评估哈希函数(用于实例化随机预言)的成本与验证其输出的成本相同,但是我们的建模试图捕获矿工通常使用各种启发式(如黑名单IP 已发送无效块的地址)和不同的硬件来检查挖掘块的有效性而不是挖掘新块。

3 需求的正式定义(通过说其他人研究,引出安全属性的定义)

我们提供引言中提到的需求(安全属性)的正式定义。 我们从一些符号和初步措施开始。

符号  

(强)可忽略函数

3.1 链增长

我们的第一个需求是,该链与协议的轮数成比例地增长。 Sompolinsky和Zohar [SZ15]明确地考虑了这一直观属性,但他们只考虑期望值的增长。 Garay等[GKL15]也在其一个证明中隐含地考虑了这个问题(但没有被强调为一个要求),并且被Kiayias和Panagiotakos [KP15]明确地强调为一个要求。 我们在这里概括这些定义来“抽象”区块链协议,并添加一个有用的“长度”一致性属性。 (展望第3.4节,我们也将考虑链条增长的上限)。

换句话说,growtht是测试的一个谓词a)诚实方有大致相同长度的链,b)在执行任何t轮期间,所有诚实方的链条增加至少T。

定义3.1

3.2链质量

我们的第二个愿望是,对手贡献的记录数与它的相对能力成正比。 这个属性首先在比特币论坛上讨论[mtg10],并在Eyal和Sirer [ES14] w.r.t的自私挖矿攻击中明确表示。 比特币应用程序的区块链。该属性首次正式化,Garay等[GKL15]给出了“链质量”的名称。 我们将其定义推广到抽象区块链协议。 这样做有点不重要,因为它不直接说明记录是对手的(Garay等人[GKL15]只提供了Nakamoto特定协议的对手的块的定义,其定义只适用于 在随机预言模型中)。

定义3.2

3.3一致性

Garay等人[GKL15]的共同前缀性质,Nakamoto [Nak08]已经考虑和研究,要求任何两个诚实参与者i,j在任何r回合中的记录链都一致,但可能 最后T,记录。 我们注意到,这个属性(即使与其他两个需求结合)提供了相当弱的保证:即使任何两个诚实的参与者完全同意链条,链条可能会完全不同,偶数轮和奇数轮。 我们在这里考虑一个更强的一致性概念,另外规定玩家应该符合他们的“未来自我”。

定义3.3

请注意,一致性的直接结果是任何两个诚实的玩家的链长可以相差至多T(除了在T中可忽略不计的概率)。

3.4链增长上限

我们最终的需求是在链增长上存在一个上限。虽然我们在本文中没有提供这个属性的任何应用,但它是一个直观有用的属性 - 例如,与链增长下限相结合,这意味着我们可以使用区块链作为“部分同步时钟”。 (另外,Pass和Shi [PS16a,PS16b]的后续工作证明了这个属性的有用性。)

定义3.4

3.5  T v.s. κ的一些评论

我们对上述特性的定义是相当强的,因为我们要求发生“坏”事件的概率随着T成指数下降,即使对于小的T>clogκ。抽象区块链的一个更简单的定义将需要当T≥T 0(κ)(其中T 0是一个多项式)时保持上述定义,在这种情况下,我们可以简单地要求坏事件的概率是neg(κ)。

我们这里区分T和κ的原因(特别是当T很小时需要上述定义)是因为我们的目的是使用定义来分析Nakamoto特定的区块链协议,并且它的实际实例通常认为κ和T值的是相当不同的设置; 比如在比特币应用中,我们有兴趣实现T = 6的T一致性(即交易只有在链上的深度为6时才被认为是被证实的),但κ通常是128。

然而,我们强调,如果我们的目标是研究最佳参数(例如一致性和链质量),那么更一般的概念似乎更合适。

4主要定理语句(提出主要定理,证明在第六节)

我们的主要结果将是在两个数量(略)最方便的参数化(定义为一些固定的采矿难度函数p(·);回想中本协议的参数化p)。

每当κ,n,ρ,Δ从上下文中清楚的时候,我们简单地写α,β。 从本质上来说,实际上诚实方和对手所预期的每轮捕获 “链长度增长”的数量; 数量定义不同的原因是我们假设对手可以在一轮中循环它的查询,而诚实的玩家做一个并行查询(他们各自独立行事),因此即使他们设法挖掘了几个块,那么诚实的玩家所持有的最长的链可以最多增加1。注意,当p小时(与1 / n相比),这是比特币协议的情况,α很好地近似于(1-ρ)np和因此α/β≈1-ρ/ρ,所以这个差别很小。

考虑其他量γ。粗略地说,γ应该被认为是α的“折扣”版本,因为诚实方发送的消息可以延迟Δ轮,这可能导致诚实的玩家“重做”。 γ对应于他们的“有效”采矿能力。

现在我们已经准备好陈述我们的主要定理了。我们将考虑两个环境:

l  在最不受限制的环境中;

l  在更严格的环境中,我们还假设对手控制一部分足够小的计算能力。

下面三个定理正式了引言中(这又意味着定理1.1)的定理1.2。

定理4.1(链增长)。

定理4.2(链质量)。

定理4.3(一致性)。

定理4.4(链增长上界)。

5 F tree混合模型(介绍F treeF tree-混合中的Nakamoto;证明引理,为第六节的证明做铺垫;证明统计上接近)

为了证明Nakamoto的协议满足上述性质,我们首先证明,只要足够证明这些属性可以用于访问“理想化树”功能的简化协议,F tree,而不是一个随机预言。

5.1F tree 预言

简单介绍F tree

5.2在F tree-混合中的Nakamoto

在Ftree-混合中定义Nakamoto协议(Π pNak,CpNak )的一个版本。从本质上讲,这个协议用随机预言来调用F tree。state被初始化为⊥(即,生成记录)。 设C tree(state)=state(即,玩家的状态现在简单地是记录的序列,而不是块)。 让Π ptree Π pNak除了两点(略)。

只要p从上下文中清楚,我们简单地表示协议(Πtree,Ctree)。

5.3将(Πtree,C tree)的安全性降低到(ΠNak,CNak)的安全性

我们现在表明,如果我们的三个需求不变w.r.t.(Πtree,C tree),那么他们也拥有w.r.t.(ΠNak,C Nak)。实际上,我们展示了更强的一点:(ΠNak,C Nak)是“安全的”(Πtree,C treew.r.t. 任何属性都是环境视角的函数(对于我们的需求中的性质,更正式的情况就是这样,对于任何g,μ,growth(view,g),quality(view,μ)和consistent(view)仅仅是Z视角的功能)。

引理5.1

证明。为(ΠV NakC Nak)考虑一些非均匀的PPT攻击者A我们构造了一个非均匀的PPT A’,其输入1κ如下进行:(略,分情况、分步骤讨论——添加、查询、传送消息、腐败等)

现在我们来看看{view Z(EXEC (ΠVNak ,C Nak ) (A,Z,κ))} κ∈N和{view Z (EXEC(ΠVtree ,C tree ) (A ,Z,κ))} κ∈N统计上是接近的。为了实现这个目标,我们考虑一系列的混合实验(变相证明)

l 定义HYB1(A,Z,κ)+文字说明实验(论证观点)

l  定义HYB2(A,Z,κ),与HYB1(A,Z,κ) 相反 +文字说明对比实验+得出结论:HYB1(A,Z,κ)与HYB2(A,Z,κ)统计上接近。

l  定义HYB3(A,Z,κ),失败查询 +文字说明对比实验+得出结论:HYB3(A,Z,κ)与HYB2(A,Z,κ)统计上接近。

l  定义HYB4(A,Z,κ) + 文字说明对比实验+得出结论:view Z (HYB4(A,Z,κ)) 和view Z (HYB3(A,Z,κ))同分布性。

我们得出结论,view Z(EXEC (ΠVNak ,C Nak ) (A,Z,κ))和view Z (EXEC (ΠVtree,C tree ) (A ,Z,κ))在统计上是接近的,从而得出定理的证明

6 F tree混合模型中的安全性证明(文字引出要证明内容+定理+文字描述证明)

我们最后证明定理4.1,4.2和4.3。由引理5.1,足以证明他们w.r.t.(Πtree,C tree)。 我们将大量使用(乘法)Chernoff界,我们在附录A中回忆。

符号

滥用符号

6.1链增长属性的证明(定理4.1)(证的都与长度相关)

下面的定理(证明了Ftree- 混合模型中协议的链增长)与引理5.1结合,得到定理4.1。

定理6.1

证明。我们首先观察到一致的长度属性保持不变,然后转向链增长下界。

一致的长度。下面的声明显示,如果一个诚实的玩家在第r轮有一个长度为l的链,那么所有其他诚实的玩家在第r +Δ轮将有一个长度至少为l的链,这证明了所希望的一致长度属性。

声明6.2

证明。由于所有消息都在Δ步内传递,所以每当某个玩家收到一个长度为l的链时,所有其他诚实的玩家将在Δ步内收到相同的链。此外,每当一个诚实的玩家挖出一个块时,它就会将其广播给所有其他玩家,因此其他玩家将在Δ步内接收。

链增长。我们首先考虑一个混合实验。实验内容(略)。

下面的引理表明,如果我们最大限度地延迟来自诚实方的消息,在这个延迟期间冻结所有诚实的玩家,并且针对每个固定的随机性σ丢弃所有敌对消息,则每个诚实玩家的链长不能减少。 我们强调,对于这个引理来说,我们考虑Ftree模型中的协议而不是随机预言模型是至关重要的。 否则存在随机性σ,如果我们将实验的随机性固定为σ,那么一旦我们例如消除了敌对性信息,诚实方就可能走上“更好的路径”。 另外,要证明这个引理,重要的是我们修复Z的消息/行为(这是通过我们固定σ激活的),否则如果它注意到来自A的消息被延迟,Z可以“帮助”诚实的玩家。

        引理6.3

证明。(略)区分两种情况:j在REAL(σ)中的s-1轮中腐败;j在REAL(σ)中的s-1轮中诚实。

        我们要证明一个诚实参与者知道的最长链的链增长下界

        引理6.4

证明。修复一些r。请注意,在HYB r的每一轮s ‘≥r,诚实球员没有被冻结,他们都收到所有发送的消息; 因此它们都具有相同长度的链条(但不一定是相同的链条)。 在每个这样的回合中,最长链(诚实方所知道)成功扩展的概率正好是α,与实验的前缀无关。

如果在t轮之后,最长连锁的增长小于c,则意味着至少有t-cΔ“解冻”轮(每个成功导致Δ冻结轮,并且我们可能具有Δ初始冻结轮)。 而且,在那些t - cΔ回合,有不到c成功。 因此,最长链增长小于c块的概率以Pr [W t-cΔ<c]为上界,其中W k是k为1的概率为α的独立二元随机变量w i的总和。

由于最长链长度小于(1-δ)γt块的概率是以Pr [W t-1-δ)γtΔ<(1-δ)γt]为上界的,所以它也以Pr [Wt-γtΔ<(1-δ)γt] 为上界,证明了引理。

        通过结合引理 6.3和引理 6.4,我们得到了以下的引理。

引理6.5

证明

引理6.5只给最长链的增长带来约束。 我们现在通过结合引理6.5和声明6.2(即一致的长度属性)来对任何两个诚实用户之间的链增长进行约束

引理6.6

证明

                定理6.1的证明是通过把6.6和一个约束在r轮上的一个联合界相结合而得出的。

6.2链质量属性的证明(定理4.2)

引理6.7(块的上界)。

证明。在t回合中,玩家有机会tn挖掘一个块; 每个机会都以概率p成功。 期望的界限直接来自Chernoff界限和r轮的联合界限。

引理6.8(对手块的上界)。

证明。在t轮中,对手有机会tρn挖掘一个块; 每个机会都以概率p成功。 期望的界限直接来自Chernoff界限和在r轮上的一个联合界。

有了这些引理,我们现在准备证明定理4.2。下面的定理(证明了Ftree - 混合模型中协议的链质量属性)与引理5.1相结合,得到定理4.2。

        定理6.9

证明。文字描述证明(略)。我们简化了这个实验,“忽略”那些发生在概率很小的事件中的坏事件。

最后,通过应用坏事件的联合约束,我们认为除了概率neg(T),敌对块部分的上限保持不变。

6.3一致性属性的证明(定理4.3)

引理6.10(“扣留块不长”)。

证明

我们接下来证明,诚实的玩家的链只能“最近”(即在最后的t轮)分开; 然后我们利用链增长的上界来得出这个定理。 我们说如果最后一个块b =(m 0,...,m k)在r之前共同被挖掘出来,那么两条链C 1 = m 1,C 2 = m 2在第r轮分开。(注意,通过定义Ftree模型中的块,如果C 1,C 2具有某些共同的块,则直到该块的链必须是相同的。)

引理6.11

证明。我们首先指出,通过r ‘ - r上的简单归纳,可以证明a)r ‘= r或b)r ‘ = r + 1的特殊情况的引理就足够了。归纳的基本情况是a),而归纳步骤直接来自b),并且观察到如果两条链在r ‘> r处不分开,那么它们在r处也不会发散。

        现在我们来证明特殊情况的引理(r≤r‘≤r + 1)。我们从一个证明大纲开始,然后转向实际证明。

证明大纲。我们证明,在回合s = r -t和r之间,有许多回合的“模式”。

        •对于Δ轮,没有一个诚实的玩家挖一个块;

•然后单个玩家挖掘一个新的区块;

•之后是在Δ个回合,没有诚实的玩家挖掘区块。

无论何时出现这样的模式,除非对手挖掘出长度为L + 1 14的链,其中L是在模式开始时诚实玩家已知的最长链的长度,存在可以出现在位置L + 1上的唯一块,在第r轮的一个诚实的玩家所持有的任何一个链上(因此,由一个块的定义,诚实的玩家持有的所有链的前缀是相同的,直到位置L + 1)。直观地说,这是因为“在第一阶段的沉默之后”,除非对手开采了一个长度为L + 1的链,那么诚实的玩家都会同意链条的长度(正好是L),然后在第二次沉默之后同意新开采的块;因此没有一个诚实的玩家会试图挖掘一个更短的链条,因此永远不会挖掘位置L + 1的街区。而且,每一种新的模式都会产生一种新的“融合机会”。因此,除非在回合s和r '≤s +(t + 1)之间,对手成功地挖掘长度为L + 1的链的次数(就像之前一样,L是诚实的玩家已知的最长链的长度)比这样的模式的数量要小,在r,r'的诚实玩家链不能在s处分歧。通过证明这种模式的数量增加的速度比对手开采的数量更快;要做到这一点,我们依赖于区块保留引理(引理6.10)来论证敌人不能利用任何长时间被挖掘的区块来造成分歧。

实际证明。我们先做以下有用的观察。

声明6.12

证明。通过简单的计算,证明了这一结果(略)。

我们通过“忽略”以微不足道的概率发生的不良事件来简化实验。 在后续中,我们将定义各种随机变量L(view),X(view),R i(view); 为了简化符号,只要从上下文中清楚,就省略view。

用这些引理武装,我们现在证明下面的定理(证明Ftree - 混合模型中的协议的一致性),结合引理5.1,得到定理4.3。

定理6.13

证明

因此,通过联合界我们得到了,除了概率为e-Ω(T),除了潜在的最后一个T块之外,C 1和C 2是相同的。

6.4链增长上界属性的证明(定理4.4)

我们最后证明下面的定理(这证明了在Ftree - 混合模型中的协议的链增长上界),结合引理5.1,得到定理4.4。

定理6.14

证明

因此,除了概率为neg(T)外,链在任何窗口中最多可以增长((1 +δ')np +ω)·t; 对于每个δ,通过适当地设定δ',可以使该量小于(1 +δ)np·t,这证明了该定理。

7应用:公共分类账

在这节,我们将演示如何使用符合§3中定义的增长,质量和一致性属性的任何区块链来构建安全的公共账本系统。 Garay等人 [GKL15]在同步环境中,针对Nakamoto的特定区块链展示了类似的定理。

非正式地,公共分类帐服务是任何人都可以发布消息的不变的“公告板”,每个人都可以阅读所有发布的消息。 正如Garay等人所描述的那样。 [GKL15],这样一个公告牌应该满足两个属性,活跃性和持久性:

让我们来看一个正式的定义。

7.1公共分类帐的定义

活跃性

        定义7.1

        持久性

        定义7.2

7.2从区块链构建公共分类帐

我们将从任何区块链协议中构建公共分类帐。

定义7.3

定理7.4

证明。(略)我们现在分别表现出了活跃性和持久性。

活跃性

通过调节,我们得到了这样的结论:

持久性

推论7.5

证明。(略)

8“长”延时对Nakamoto的攻击

这节里,我们正式证明了在网络延迟上没有上限Δ的完全异步网络中,即使对手控制的只是计算能力的一小部分,Nakamoto的协议既不满足一致性也不满足正链质量。更具体地说(略)。这就证明了为什么我们的一致性定理需要依赖的假设。特别的,我们提出了一个“51%”的攻击,即在未来某个时刻攻击者用一个它选择的链代替整个链,即使它只控制了一小部分计算能力。

        直觉上,在Δ轮的每一段中,如果我们推迟诚实玩家之间的所有信息,直到这段结束,诚实的玩家实际上是“自己挖掘”,因此不可能将其链扩展超过1。另一方面,对手可能会协调其开采,从而在预期的范围内延伸Δ·ρnp; 所以如果我们设定Δ>ρnp,攻击者可以挖掘自己的链(没有发送给诚实的玩家),并可能有一个更长的(私人)链。

定理8.1Nakamoto无限延时的不一致性

证明。(略)

        攻击者进行如下:(用过程证明,略)

我们证明两个事件(一致性和链质量)发生的概率都是常数,这证明了定理。

        以下两个声明限制了两个事件都没有发生的概率; 通过一个联合约束,我们可以得出结论:两者发生的概率是不变的

声明8.2

证明。(略)因此所希望的界限直接来自Chernoff边界。

声明8.3

证明。在Δ轮每个固定的段中,单个诚实玩家开采的块数量分布为具有参数Δ(试验)和p(成功概率)的二项分布。 让X是这样一个随机变量。 一些固定的单一诚实玩家在任何固定的段中挖矿超过1块的概率是(略)。

评论8.4。我们注意到,我们的证明即使在静态腐败的情况下也适用,并且已经到了忽略“future-selfconsistency”的较弱的一致性概念。 另外,攻击者不会看到诚实的玩家发送的消息。

评论8.5。我们还指出,以证明复杂化(和增加玩家数量)为代价,我们可以获得更强的攻击力。

        我们转而描述如何形式化这种攻击(遵循8.3的证明)。 事实上,我们显示一个只要β>γ的攻击(即对手的挖掘率高于“打折的”诚实玩家挖掘率),然后用这个来推断攻击在1 / c > 1 /ρ-1/1-ρ。

        (描述了一些结果,略)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值