【论文翻译】On the Unfairness of Blockchain 6th International Conference NETYS 2018 Essaouira, Morocco, May 9–11, 2018, Revised Selected Papers

Author:LieDra
https://www.cnblogs.com/LieDra/
由于对部分区块链术语理解不一定正确,因此本篇论文仅可作为参考,如有翻译错误地方,还望各位读者能及时提醒。

区块链的不公平性

Rachid Guerraoui1 and Jingjing Wang1
Ecole Polytechnique Federale de Lausanne, IC, Station 14, CH-1015, Lausanne, ´
Switzerland
firstname.lastname@epfl.ch

摘要

比特币的成功在很大程度上依赖于公平的底层对等协议:区块链。这里的公平性本质上是说任何通过挖矿来帮助保持协议一致性的参与者得到的奖励(比特币),都与该参与者在挖矿任务中投入的计算能力成正比。如果没有这样的公平,诚实的挖矿者可能会失去维护协议积极性,不诚实的采矿者有机会达到多数,从而危及整个系统的一致性。
在本文中我们证明了事实上区块链是不公平的,即使在一个只有两个诚实矿工的分布式系统中。在现实环境中,消息的传递不是瞬时的,两个矿工提交的预期的块数之间的比例至少是消息延迟和矿工之间的差别哈希率的乘积的指数。为了得到结果,我们对可能具有独立性的区块链的增长进行了建模。我们也应用我们的研究结果来解释最近的经验实证和漏洞。

1 介绍

著名的比特币货币和支付系统[1][2][3]的核心是叫做区块链的分布式协议,现在考虑其为独立的利益[4]。本质上此协议维护一个分布式数据结构(称为区块链),由一系列交易区块组成,由被称为矿工的特定节点更新。为了更新一个区块链,矿工M需要贡献计算资源到一个叫做“工作证明”[5]的任务来挖掘一个区块。M挖掘的每个区块包含一个额外的挖矿交易,用来奖励M的计算贡献[6]。每个矿工的计算能力由哈希率λ来表示,这意味着平均花费1/λ单位时间挖掘到一个区块。一旦一个区块被挖掘到,这个区块将传播到其他矿工。概括的说,区块被交付给所有矿工时将交付使用。
比特币的成功依赖于对公平的认知[7]:简单的说,一个诚实矿工M的报酬和其哈希率[8,9]成正比。在这种意义上公平是至关重要的,否则(例如,一个诚实矿工的回报低于应或比例),诚实的矿工将失去激励停止维护区块链,为不诚实矿工留下空间(这将导致不诚实者的比例增长为大多数)危害整个系统的正确运作[10]。
本文证明了比特币区块链实际上是不公平的。根本原因很简单:区块链是一个分布式协议,意味着消息传递不是瞬时实时的。我们展示在一个分布式系统的两个诚实的矿工,M1和M2,哈希率分别为λ1,λ2时的非空值消息延迟,他们之间的消息延迟为u。如果λ1 >λ2,M1可以提交比M2预期更多的区块。M1和M2预期交付区块数量之间的比例下界是eλ1uλ1 /eλ2uλ2,这是信息延迟和M1、M2之间哈希率的不同导致的结果。
为了证实我们的下限,我们超越了之前对区块链的大多数理论分析,这些理论考虑到通信延迟,有代表性的是假设延迟率(接收到一定消息的矿工的百分比)[11],或者将时间离散化(可以看做是连续时间的近似)[8],[12]。我们用连续方式对时间建模,以此将哈希率与通信延迟联系起来,并且精确的将区块链如何随时间增长模拟出来(这是独立兴趣)。我们用两个步骤来构造下界的证明。首先,我们证明了不公平本身(1)然后证明了指数优势。我们证明的关键在于区块链增长的概率分布以至于对于所有k∈Z+都包含k个区块。对于任意的k值,有高哈希率的挖矿者以较高概率较早的增长,这是第一步不公平。第二步,我们从在消息延迟u期间没有区块被挖掘提取指数项。
我们关于诚实矿工中区块链不公平的研究结果有几个应用。例如,我们的结果通过在区块链上实证实验解释了不成比例的回报[13][14]。它还意味着在区块链及其变体(如比特币- ng[13]和GHOST[15]1)挖掘一个区块的速度和提交区块的公平性之间进行权衡:也就是说,通过减少挖掘时间来增加区块链吞吐量的合理诱惑可能会导致更大的不公平。我们的结果还可以帮助延伸之前关于自私矿工(他们不诚实,偏离挖掘算法以最大化他们的回报)所获利益的研究结果。事实上,Eyal和Sirer[11](以及后续工作[16,9])表明一个自私的矿工M的奖励可以超过公平份额,假设M的哈希率在所有哈希率比例为α通过阈值th=1/3(充分必要条件)。但是,他们的结果假设没有消息延迟。在有消息延迟的设定下,我们将展示一个对于自私的挖矿可行的下界L,必要条件是th>L,其中L是u,λ1和λ2的函数(对于比特币区块链的实现来说合理的测量信息延迟时[17]L>1/3)。我们的结果的另一个应用是区块链在两个矿工集群中的不公平性,每个集群中的消息延迟可以忽略不计,而两个集群之间的消息延迟则更大。在这个例子中,我们展示了即使在具有相同哈希率的两个矿机之间,如果M更接近具有更高哈希率的矿机集群,区块链也可以对一个矿机M有利,其优势是M的哈希率和消息延迟的乘积的指数倍。
本文接下来的组织如下:第2节回顾基本的区块链模式和挖掘算法,第3节展示我们的主要结果,第4节和第5节介绍我们的结果的应用,第6节讨论相关工作。为了提高论文的可读性,我们将一些证明放到了附录中。

2 模型

2.1 矿工

我们在一个具有两个矿工M1和M2的系统中建立我们的主要结果(有时矿工也被标记为M和M)。两者都遵循分配给它们的算法,没有崩溃。两个矿工通过交换消息进行交互。通信通道不被修改、注入、复制或丢失消息。在两个矿工之间,消息传输的延迟记为u
我们考虑经典挖矿模式[18,6],其中块链是一系列从创世区块(任何链的初始区块)开始的区块,令C=CB0(=G),CB1,CB2...CBl,对于任意长度l,l >1。就像在Garay等人对比特币核心算法[8]的分析和Eyal和Sirer对自私挖矿[11]的分析,我们定义链的长度为链中的总块数。对于每一个j∈{1,2,···,l},CBj 有hC,j - 1到CBj-1的引用。hC,j - 1=H(CBj-1)是前一个区块的哈希值,H是一个所有矿工认同的哈希函数。最后一个区块的哈希hC,l有时称为链C的哈希,简称hC。
每个挖矿者M都将一个链C存储为一个本地变量。(M的链表示M的本地变量c的值)两个矿工可能有两个不同的链。对于每个矿工M,一个不同的链被称为可选链(从M的视角看)。挖掘方案对M的链C进行维护和更新。
描述基本挖掘方案的算法1,为了教学原因,是一种简化算法[18,6]的变体:在一个链更新后,原来的挖掘算法改变新创建区块[19]的数据和存储(性能原因),而算法1发送整个新链。为了建立我们的结果,这两种算法是等价的。在算法1开始之前,每个矿工都将C赋给一个长度为0的链(它只包含G),所有的矿工都同意找到H的原像的困难程度d(我们稍后会解释)。此外,我们假设M有权访问无限数量的块(算法1中用一个区块池Π表示);换句话说,我们假设,在任何时刻,M都有一个要追加的块。
如果SolvePuzzle任务(算法1中定义的)返回一个在M处的长度为l的链C,那么M将忽略任何之后收到的长度是l的可选链C
。我们说M扩展M 的C链长度为l意味着M更新以至于它的长度l。如果M 更新C在任务SolvePuzzle后,我们说M在Cold上创建了一个新的区块,老链长度l-1;我们用l索引这个新区块,并说M创建了第l个区块。如果M由于从某个矿机M接收了一个备用链C更新了C,,我们说M采用了M的链C(有时简单地说C*)。当M创建一个新的块CB时,CB包括一个标识M的字符串tx和一个指向M 的链C的引用hC;因此,每个块都是唯一的。当每个矿工链都包含CB时,我们说一个block CB被提交;如果M创建了CB,并且提交了CB,那么我们说M提交了CB。
算法1:挖掘算法
1:在一个更新的C:(1)取一块B∈Π;(2)创建包含标识符M的特殊字符串tx;(3)运行 SolvePuzzle(C, B, tx)任务(并停止前一个任务,如果有的话)。
2:SolvePuzzle(C, B, tx)任务:
-增加计数器N,直到N满足:

-给每个其他矿工发送C。
3:接收到可选的C,如果C比C长,那么C:=C*,发送C给每一个其他矿工。

2.2 作为Poisson过程的挖掘

SolvePuzzle任务是在经典的比特币实现[5]中使用的工作证明。执行这样的任务称为挖掘,或者更具体地说是在链C上挖掘。我们将挖掘过程建模Poisson过程。对于任何挖矿者Mi-对于串s,找到使得H(s||N)<d的时间N可以建模为一个连续的随机变量Xi,s对于同样的挖矿者Mi,任意两个不同的字符串S1和S2,Xi,s1,Xi,s2都是独立且同样分布的指数分布。设Xi是一般分布的随机变量,其呈指数分布,累计密度函数是概率密度函数是,其中参数λi是Mi的哈希率。直观地说,哈希率意味着对于任意矿工,平均需要1/λi单位时间找到合理的N。
我们假设w.l.o.g,与挖矿和通信相比,其他任务所化时间可以忽略不计。我们定义被任何矿工创建新块的瞬时序列为挖矿过程。如果只有一个哈希率为λ1的矿工,意味着挖矿是一个速率λ1的Poisson过程。如果u=0并且m个矿工有哈希率λ1,λ2,···,λm,那么挖矿也是一个速率为的Poisson过程。直觉上,一个新的区块平均每1/λ单位时间被创建,其取决于困难程度d。在经典的比特币视线[18,6]中,d的选择使1/λ=600秒。

3 区块链的不公平性

我们在这里确定了我们的主要结果。我们证明了区块链在两个诚实的矿工M1和M2的情况下的不公平性:如果M1的哈希率比M2高,那么按照预期,M1可以提交比M2多得多的块,这与它们的哈希率不成比例,这在定理1中得到了证明(假设任意a∈Z+,令Ci,a 是Mi的链,当对于i∈{1,2}时Mi的链扩展到链长度为a。Ni,a表示为所Mi在C1,a和C2,a提交的块数的随机变量即Mi创建的包含C1,a和C2,a的块的数量。
定理1 (提交区块的概率之比)如果哈希率1大于哈希率2:

我们用定理1的证明大纲来证明定理1,通过线性期望,我们检验对于每个i∈{1,2},k∈Z+(以及之后提交的CB),Mi产生CB作为Mi的第k个区块的期望,这个概率取决于两个矿工的链何时增长为k-1。为此,我们展示了关于区块链增长的一个基本不公平属性(3.2节)。然后,我们展示了提交CB作为第k个区块成功概率的不公平,以及展示对提交区块的预期数量的不公平(3.3)。为了形式化区块链的增长和成功概率,我们首先在下面3.1节中介绍一些定义和术语。

3.1 定义和术语

我们在下面用随机变量模拟区块链的增长(从长度上)以及两个成功完成事件的矿工。
定义1(区块链长度的增长)。对于每个矿机Mi,i∈{1,2},令{Tk,i| k = 1 ,2···}为在Tk,i瞬间的时间序列,Mi延伸Mi的链长度到k。我们定义T0,i = 0(即这两个矿工在同一时间0开始工作)
根据定义1和图1-a所示,两个矿工都维持一个长度增长的本地链。当一个矿工有一个长度为k-1的链时,矿工开始它的第k轮。对于Mi来说,第k轮是[Tk-1,i,Tk,i]。在Tk-1,i,Mi开始挖掘一个新的区块。我们用Xk-1来表示Mi挖掘的时间的随机变量(Mi是单独的,没有第二个挖矿者发送可选链)。两个挖矿者可以有不同的链。对于长度a,是否两个挖矿者有相同的链是不可知的。然而,如果当a≥k时,在他们的链中有同样的第k个区块CB,那么第k个区块保留。如图1-b和定义2所示,我们根据哪个挖矿者挖掘出CB区块定义了成功概率Pk,i,a。其大于0的先决条件是Mi在第k轮完成挖掘(即使与其他矿工一起),我们用Wk∈{0,i}表示。当Wk=0,两个矿工都在第k轮完成挖掘。定义3中定义了这一点,并且在之后可以提交两个挖掘出来的区块中的一个。

定义2(第k个区块的成功)。对任意正整数a,i∈{1,2},令Ci,a为Mi扩展Mi的链的长度到a时的链,对于任意的正整数k,a≥k,定义pk,i,a为事件概率(Mi在第k轮创建CB,并且C1,a,C2,a都有CB)。
定义3(第k个区块的创建)。对于每个矿工,i∈{1,2},如果M3-i在Mi第k轮结束采用可选链(从M3-i视角),那么Wk=i。当两个矿工分别创建它们的第k个块并分叉区块链时,Wk = 0。

3.2 区块链增长的不公平性

我们首先在引理1中确定第k轮结束的概率分布(区块链增长到长度k),然后在引理2中出该概率分布的一个性质。
重要的是要知道两个矿工的区块链何时增长到长度k,因为两个矿工时间上的差异可以让他们中的一个提前开始。概率分布的计算其实很简单。对于每一个k=1,2,···,Tk=(Tk,1,Tk,2)。假设Tk-1的概率分布已知。如图2所示,区块链如何增长到k有三种可能性:(a)区块链分叉;(2)M1挖到一个区块,M2在挖到前收到这个区块;(3)M2挖到一个区块,M1在挖到前收到这个区块。因为Xk-1,1,Xk-1,2的概率分布已知,所以δk = Tk+1 - Tk可以被计算,Tk+1也是。K=0的基本情况更加简单:假定T0=(0,0),因此T1=δ0。结果Tk的概率分布包括递归方程Dk,如果λ1,λ2和u指定,其可以被评估为s,t的函数。引理1表达式Pr(Tk=(s,t))表示下列概率:Pr(s≤Tk,1≤s+ds,t≤Tk,2≤t+dt),其中ds和dt都是无穷小。引理1的充分证明和引理2遵循以上计算并放在附录中。

引理1(区块链的增长)。对于s>0,t>0和k=1,2,···,令D0(s,t)=1

之后Tk的概率是:

引理2。对于s > 0, t > 0, |s - t| ≤ u , u > 0,如引理1定义Dk(s,t)。如果λ1>λ2,s>t,s>u,那么对于任意正整数k,Dk(s,t)<Dk(t,s)如果u>s>t,那么对于任意正整数k,Dk(s,t)= Dk(t,s)。
引理2说明了Tk的属性:对于任意长度k,有更高哈希率的矿工比其他矿工更早到达k高度,这是定理1中不等式证明后的直觉。引理1可以很容易地扩展到任意数量的矿工。一个类似于引理2的结果如下,对于任意数量的矿工,在任意两个矿工之间,对于任意长度k,具有较高计算能力的矿工有更高概率更早到达长度k的链。

3.3 第k个区块成功的不公平性

对于i∈{1,2},我们通过给出Mi在提交Mi的第k个区块的成功概率pk,i,a的下界证明定理1。
Wk是代表第k轮结束时某个矿工是否采用另一个矿工的链的随机变量,如果是,则采用,这时pk,i,a定义的事件是以下两个事件的并集:(S1)Wk=i,(S2)Wk=0,···,Wj-1=0,Wj=i。因此对于每个i∈{1,2}有:

我们在引理3中为这两个事件中的每一种可能性确定一个下界(1)根据引理1确定上述的概率,(2)应用引理2 的不等式。引理3中指数项背后的直觉是(1)当k轮一个区块被提交,两个矿工k轮结束时Tk,1,Tk,2之间有一个缺口u(消息延迟),(2)根据poisson分布,在缺口u中产生一个区块的概率是指数的。由于篇幅限制,引理3的完整证明在附录中。

根据引理3,我们在此简述定理1的证明。Nk,i,a是一个描述Mi创造Mi的第k个区块和C1,a,C2,a包含第k个区块的随机变量。根据定理1的定义,,因为,所以如果任意正整数k,下界是,同样下界也是如此。我们注意到下界是由引理2中和支持的,这意味着下界不是彻底的。
挖掘速度和公平性之间的权衡。定理1强调了减少挖掘时间来提高事务的吞吐量的试探性实现的脆弱性。回顾第2节,这将降低困难级别,进而按比例增加每个矿工的哈希率。因此,公平可能会被更进一步破坏:λ1和λ2的比例增加导致在指数因子较大的差距,这突出了挖矿速度和区块链公平性之间的权衡。
扩展到任意数量的矿工。与引理1和引理2类似,引理3中的公式1可以很容易地扩展到任意数量的矿工。换句话说,对任意数量的矿工,如果我们只比较两个矿工立即提交其区块的概率,那么这个比值也大于哈希率和至少延迟u的指数倍之间的比值。然而,还不清楚是否公式2可以推广到任意数量的矿工,这也是我们今后工作的方向。

4 应用于自私挖矿

我们在这里展示了我们的结果可以用于推广自私挖矿[11]的一个主要结果。自私的挖矿是少数矿工的一种攻击,他们比公平份额提交更多期望的区块。在一个自私,一个诚实两个矿工且消息延迟u = 0的模型中,Eyal和Sirer][11]表明,对于自私挖矿来说是充分的。我们在u>0时推广th的阈值到一个现实的设置。我们首先回顾自私挖掘算法和其一些结果[11]。对于经典的比特币区块链实现,我们证明了对于自私采矿的攻击区块链并不像之前认为的那样脆弱。

4.1 自私挖矿

我们回顾下面自私挖掘算法的主要思想,假设有一个自私的矿工M2和一个诚实的矿工M1(更多细节在[11]中)。当M1和M2都在C链上挖矿时,M2在C链成功创建了一个区块CB,M2继续在Cmi=C,CB上挖矿(而不是像算法1一样将Cmi发送给M1)。然后M2在本地保持两个链Cmi和Cma。后者被初始化为C。当M2创建一个新的区块时,它更新Cmi,而当M1发送给它一个可选链时,M2更新Cma。M2的目标是在Cmi中提交所有自己创建的区块(这些Cmi区块在前缀C后面)。M2发送Cmi给M1提交有两种可能情况:
1.Cma更新后,Cmi和Cma长度相同但是最后一个区块不同(记为事件E1),这时M2在Cmi创建一个新的区块然后更新;
2.在Cma链更新之后,Cmi链比Cma多一个区块(记为事件E2)。
自私挖掘的状态机如图3所示,其中k是大于等于0的正数在每个状态下表示在M2处Cmi比Cma长了k个区块,0’是E2中提交结果。之后N2和N1是M1和M2分别预期提交的区块数,这可以由状态机的α计算。。阈值th的解是的解α*。

4.2 提交区块数的上界

设R为所有已提交块中M2所提交的区块数的比例。在定理2中我们证明了在u>0的实际情况下,R是上界。关键在于,由于存在非零的消息延迟,当Ej,j∈{1,2}发生时,M2只尝试通过发送Cmi提交。这导致几种可能性:M2提交然后M2有额外2u的时间提前开始;或者M2失败。因此,自私挖矿的状态机发生了变化。在图4中,N2u表示在2u时间M2可以找到多少区块,ρ1和ρ2表示M2提交Cmi的概率上界。由于篇幅限制,定理2的完整证明推迟到附录部分。

定理2。M1和M2分别有哈希率λ1和λ2.

4.3 阈值的下界

我们现在准备在假定消息延迟u > 0的情况找到一个下界阈值。回顾定理2中阈值应该是的一个解。因为自私矿工的提交区块的相对数量上界是U,的解L是阈值的下界。

假设λ=1/600,u=1,10,20,100(时间单位是秒)。它们取自于经典的比特币实现[18,6,17],我们在表1给出了L的数值计算,其值超过三分之一。此外,对于u > 0,,对于任意正整数k是微不足道的,L > 1/3 在理论上总是成立。无论如何,我们得到L > 1/3 = th,这表明当合理消息延迟u > 0时,区块链并不像之前认为的那样不公平,即使一些不诚实的矿工进行自私挖矿。

5 应用于矿工集群

在我们的主要结果(定理1)中我们考虑了两个消息延迟为u的矿工。我们现在考虑一个m> 2个矿工的模型,它可以被分成两个集合S1和S2,这样(1)在S1或S2中,没有消息延迟,(2)S1中的每个矿工和S2中的每个矿工之间,有消息延迟u。
下面的推论1来自定理1。定理1表明,在两个矿工的情况下,哈希率高的矿工比其他矿工具有指数级的优势,推论1表明,在一个有两个以上的矿工的系统中,具有相同哈希率的两个矿工之间,一个矿工仍然有指数优势比另外一个,如果前者很接近(比如消息延迟为0)其他有高哈希率的矿工。

推论1(两个以上矿工的下界)。假设M1∈S1和M2∈S2是任意两个有相同哈希率λ0的矿工。S1和S2的信息延迟是u。假设所有矿工的哈希率之和在S1为m1λ0在S2为m2λ0。回顾对于i∈{1.2},Ni,a表示在第a轮结束之前Mi提交区块的数量。假设M1和M2在同一时间开始同一条链,那么如果有m1 > m2,那么:

6 相关工作

6.1 区块链的理论分析

中本聪[18]被认为是比特币及其底层分布式协议区块链的发明者。随着比特币的普及,大量工作都致力于形式化区块链和验证其声称的属性[8,22,12,23]。我们在下面讨论了一些方法,并将我们的主要结果与先前理论分析得到的性质进行对比。
Garay[8]以及其他人提出了q界同步设置对区块链建模。给挖掘算法增加一个计数器来查找某个散列函数的原像,q边界同步设置假设在每轮中任意矿工最多可以增加q次计数器[8]。Pass等人[12]研究了异步网络中的区块链,其中消息延迟是任意的。Garay [8]和Pass[12]团队分别在考虑不诚实矿工的模型中验证了区块链的质量属性。-链质量属性标识了一个上限,这个上限是不诚实矿工提交的区块数在任意个连续区块中所占的比例[8,12]。这个属性不同于我们的公平概念,因为我们考虑的是所提交区块的预期数量的比例(之后Pass和Shi[23]强化了链质量的公平性属性,用最终公平这个术语来表示我们的公平观念)。Garay等人[12]以及Pass团队[8]表示派生的链的质量属性u比不诚实矿工的哈希率的比例更高。因此,这并不意味着区块链的(不)公平性。
Kosba[22]等人提出了一种在理想情况[22]下的区块链密码模型。他们假设满足某些理想化的性质,但这些性质不适合我们这里的分析。

6.2 区块链的不公平性

我们是第一个从理论上证明区块链在诚实的矿工中是不公平的。以前的工作有的是通过模拟观察不公平(在诚实的矿工中)[13,14],有的提出破坏公平的攻击(对于不诚实的矿工)[11,16,24,9]。
Lewenberg等人[14]和Eyal[13]等人通过模拟区块链(诚实矿工下),的确观察到一些矿工的回报可能低于公平份额。然而,这两篇论文都没有从理论上解释这种不公平。我们的定理1解释了随着挖掘区块的速度[13.14]的增加受害者提交的区块数呈现指数递减曲线。为了缓和公平问题,Lewenberg等人[14]和Eyal等人[13]提出了备选的方案。但是,这两种方案都依赖于区块链,因此仍然存在我们本文中强调的不公平性。Lewenberg等人[25[给出了一个公式,表示两个矿工中某个矿工提交区块的比例,并省略了证明。作为对比,我们对区块链的增长进行了建模,它可以扩展到任何数量的矿工,并且可能具有独立的利益,并独立证明了我们基于增长模型的结果[25]。
Eyal和Sirer[11]提出了一个非常有趣的攻击,即“自私挖矿”,少数矿工提交超过预期的公平份额的区块(Sapirshtein[9],Gervais[16]和Nayak团队[26]优化自私挖矿)。这种由自私(不诚实)的矿工造成的不公平并不是我们的结果。假设没有消息延迟,Eyal和Sirer[11]确定了一个阈值th在自私挖矿者的少数哈希率比率为α是可行的。Sapirshtein等人[9]通过优化自私挖矿为每个α值建立了一个较低的阈值。作为我们主要结果的一个应用,我们在带有消息延迟的模型中扩展了Eyal和Sirer的阈值。在第4节,我们证明了经典的比特币区块链实现比我们以前认为对自私的采矿容忍更多:在合理的消息延迟下,自私挖矿的可行阈值大于th。此外,Sapirshtein等人[9]还表明,假设有消息延迟,任何矿工都可以通过不诚实来提交更多的区块,但是没有研究消息延迟对自私挖矿的影响。与之前的工作不同,Gervais等人[16]通过使用过去的区块率来参数化马尔科夫决策过程来建模自私挖矿(直观捕获消息延迟和散列率),但并没有提供阈值。Nayak等人[26]将广义自私挖矿组合网络级别攻击(日蚀攻击),然而它关注的是独立的矿工,而不是具体的消息延迟。
Heilman等人[24]展示了对比特币的日蚀攻击,它强制使一些矿工只连接到攻击者(这可能控制多个矿工)。由于这些诚实的矿工被精心挑选的交易和区块所填满,一个不诚实的矿工的报酬可能会高于公平的比例[24]。日蚀攻击还能增加消息延迟[17,24],然后转换定理1成为对于有较低哈希率的矿工的攻击。
另外,为了解决不诚实的矿工造成的不公平,Pass和Shi[23]提出了水果链,挖掘一种类似与区块的被称为水果的数据结构。他们证明了不诚实的矿工提交的水果的比例是他们哈希率上界,从这个意义上说,是公平的[23]。因为水果链的方法与本文所考虑的区块链方法不同,我们的结果与他们的结果是无法对比的。

6.3 区块链的消息延迟

我们对消息延迟(第4节)以及挖矿模式(贯穿全文的Poisson过程)的假设已经在文献中讨论过了。
通过对Decker和Wattenhofer[17]以及Croman等人[20]对于比特币网络中区块传播延迟的研究,我们对消息延迟的假设是合理的。Decker和Wattenhofer[17]在2013年表明,节点(不一定是矿工)接受一个区块平均用时6.5秒,而平均时间是12.6秒[17]。Croman等人[20]在2014和2015年重复测量区块的传播,发现平均时间是8.7秒。我们的挖掘模型被Decker和Wattenhofer[17]对比特币网络中创建一个区块的时间概率测量证明是正确的。测量的分布符合指数分布[17],这证明了本文和文献中[2,11,9]广泛使用的挖矿泊松过程是合理的。
Natoli和Gramoli[27]在假设有消息延迟的情况下观察到一个区块链异常,这可以认为是我们定理的一个极端情况。经典的比特币实现规定了一个值k = 6,因此如果一个诚实的矿工M的链在某个区块CB之后至少有k个块,那么M认为CB已被确认。Natoli和Gramoli[27]展示了在只有消息延迟(任意的)和两个矿工的系统中的一种攻击。对于任意的k:只要攻击者的哈希率高于M,可以再之后从M的链中删除已确定的块。定理1解释了这种异常:当消息延迟趋向无穷大时,攻击者提交几乎所有高概率的区块,而M几乎没有提交(或确认)区块。在这个意义上,我们的不公平结果可以被看作是对观察的概括[27]。

7 结论

在本文中,我们证明了比特币区块链实际上是不公平的。我们证明了即使在一个由两个诚实的矿工组成的分布式系统中,在非瞬时消息传递下,两个数据采集者之间所提交的区块的期望数量也以消息延迟和两个矿工的散列率之差的乘积的指数函数为下界。未来可能的工作包括量化区块链在超过两个诚实的矿工的分布式系统Ω中的不公平性。在一个现实的场景中,如引理1和引理2所建议的,有最高哈希率的矿工M比其他矿工(期望中)更早开始一轮,因此区块链必须在系统Ω中有一个合理的开始。然而,还不清楚提交的预期区块数的比例是否也与哈希率和消息延迟之间的差异的乘积呈指数关系。

感谢

这项工作得到了欧洲ERC Grant 339539 -AOC的支持。

参考文献

[1] “100+ companies that accept bitcoins as payment,” Online, 2015,http://www.ebay.com/gds/100-Companies-That-Accept-Bitcoins-As?Payment-/10000000206483242/g.html.
[2] Bitcoin community, “Bitcoin,” Januray 2016, https://en.bitcoin.it/wiki/Bitcoin.
[3] J. Davidson, “No, big companies aren’t really accepting bitcoin,” Online,2015, http://time.com/money/3658361/dell-microsoft-expedia-bitcoin/.
[4] R. McMillan, “IBM bets on bitcoin ledger,” February 2016, https://www.wsj.com/articles/ibm-bets-on-bitcoin-ledger-1455598864.
[5] Bitcoin community, “Proof of work,” May 2016, https://en.bitcoin.it/wiki/Proof of work.
[6] ——, “Protocol rules,” October 2016, https://en.bitcoin.it/wiki/Protocol rules.
[7] E. Felten, “Bitcoin research in princeton cs,” Online, november 2013, https://freedom-to-tinker.com/2013/11/29/bitcoin-research-in-princeton-cs/.
[8] J. Garay, A. Kiayias, and N. Leonardos, “The bitcoin backbone protocol:
Analysis and applications,” in EUROCRYPT 2015, E. Oswald and M. Fis?chlin, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2015, pp. 281–
310.
[9] A. Sapirshtein, Y. Sompolinsky, and A. Zohar, “Optimal selfish mining strategies in bitcoin,” CoRR, vol. abs/1507.06183, 2015. [Online]. Available:https://arxiv.org/abs/1507.06183
[10] Bitcoin community, “Majority attack,” July 2015, https://en.bitcoin.it/wiki/Majority attack.
[11] I. Eyal and E. G. Sirer, “Majority is not enough: Bitcoin mining is vulnera?ble,” in FC 2014, N. Christin and R. Safavi-Naini, Eds. Berlin, Heidelberg:Springer Berlin Heidelberg, 2014, pp. 436–454.
[12] R. Pass, L. Seeman, and abhi shelat, “Analysis of the blockchain protocol in asynchronous networks,” Cryptology ePrint Archive, Report 2016/454,2016, http://eprint.iacr.org/2016/454.
[13] I. Eyal, A. E. Gencer, E. G. Sirer, and R. V. Renesse, “Bitcoin-ng: A scalable blockchain protocol,” in NSDI 2016. USENIX Association, 2016, pp. 45–59.
[14] Y. Lewenberg, Y. Sompolinsky, and A. Zohar, “Inclusive block chain pro?tocols,” in FC 2015, R. B¨ohme and T. Okamoto, Eds. Berlin, Heidelberg:Springer Berlin Heidelberg, 2015, pp. 528–547.
[15] Y. Sompolinsky and A. Zohar, “Secure high-rate transaction processing in bitcoin,” in FC 2015, pp. 507–527.
[16] A. Gervais, G. O. Karame, K. W¨ust, V. Glykantzis, H. Ritzdorf, and S. Cap?kun, “On the security and performance of proof of work blockchains,” in CCS 2016. New York, NY, USA: ACM, 2016, pp. 3–16.
[17] C. Decker and R. Wattenhofer, “Information propagation in the bitcoin network,” in IEEE P2P 2013, 2013, pp. 1–10.
[18] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” 2008, https://bitcoin.org/bitcoin.pdf.
[19] Bitcoin community, “Block chain download,” January 2016, https://en.bitcoin.it/wiki/Block chain download.
[20] K. Croman, C. Decker, I. Eyal, A. E. Gencer, A. Juels, A. Kosba, A. Miller,P. Saxena, E. Shi, E. G¨un Sirer, D. Song, and R. Wattenhofer, “On scaling decentralized blockchains,” in FC 2016, J. Clark, S. Meiklejohn, P. Y. Ryan,D. Wallach, M. Brenner, and K. Rohloff, Eds., 2016, pp. 106–125.
[21] M. Vukoli´c, “The quest for scalable blockchain fabric: Proof-of-work vs. bft replication,” in iNetSec 2015, J. Camenisch and D. Kesdo˘gan, Eds. Cham:Springer International Publishing, 2015, pp. 112–125.
[22] A. Kosba, A. Miller, E. Shi, Z. Wen, and C. Papamanthou, “Hawk: The blockchain model of cryptography and privacy-preserving smart contracts,” in SP 2016, 2016, pp. 839–858.
[23] R. Pass and E. Shi, “Fruitchains: A fair blockchain,” Cryptology ePrint Archive, Report 2016/916, 2016, http://eprint.iacr.org/2016/916.
[24] E. Heilman, A. Kendler, A. Zohar, and S. Goldberg, “Eclipse attacks on bitcoin’s peer-to-peer network,” in SEC 2015. Berkeley, CA, USA: USENIX Association, 2015, pp. 129–144.
[25] Y. Lewenberg, Y. Bachrach, Y. Sompolinsky, A. Zohar, and J. S. Rosenschein, “Bitcoin mining pools: A cooperative game theoretic analysis,” ser.AAMAS 2015. Richland, SC: International Foundation for Autonomous Agents and Multiagent Systems, 2015, pp. 919–927.
[26] K. Nayak, S. Kumar, A. Miller, and E. Shi, “Stubborn mining: Generalizing selfish mining and combining with an eclipse attack,” in EuroS&P 2016,2016, pp. 305–320.
[27] C. Natoli and V. Gramoli, “The blockchain anomaly,” in NCA 2016, 2016,pp. 310–317.

附录部分为公式证明,主要为数学公式。故不作翻译。

posted @ 2020-04-25 20:02  LieDra  阅读(166)  评论(0编辑  收藏  举报