比特币为何有效?理性协议设计分析

比特币理性协议设计分析

但为什么它有效?比特币的理性协议设计分析

摘要

近期一系列令人振奋的研究工作集中在形式化地探究比特币安全性的核心密码学假设上。简而言之,这些研究得出结论:当且仅当大多数算力是诚实的,比特币才是安全的。然而,尽管这些研究具有重大影响,它们并未回应实证主义者和比特币批评者提出的一个尖锐问题,这个问题源于比特币在现实中确实有效:现实世界中的系统为何应当符合这些假设?

在本文中,我们采用加拉伊提出的理性协议设计(RPD)框架 et al.[FOCS 2013] 的机制来分析比特币,并回答上述此类问题。我们证明,在矿工行为的自然激励类别下——即通过奖励矿工向区块链添加区块,同时让他们为挖矿付出成本——我们可以将诚实多数假设作为备用条件,甚至在某些应用中,完全以“矿工旨在最大化其收入”这一假设取而代之。

我们的结果强调了RPD作为分析比特币的“理性密码学”框架的适用性。在此过程中,我们对原始RPD机制设计了重要的扩展,拓宽了其在加密货币领域的适用性,这些扩展本身可能具有独立的研究价值。

1 引言

在进行了多次非正式和/或临时的尝试来解决比特币的安全性问题之后,近期一系列令人兴奋的研究工作致力于对象进行严格的密码学分析[2,13,14,27]。从高层次上看,这些研究工作首先描述一个适当的执行模型,并在该模型内对原始比特币协议进行抽象[23]同时根据一组直观的理想属性来规定其安全目标[13,14,27],或基于模拟的可组合框架中的功能来规定其安全目标[2]。然后,他们证明,在假设投入挖比特币的计算能力中多数来自遵循比特币协议进行挖矿的设备的情况下,即诚实地挖矿,(他们所抽象的)比特币协议满足所提出的安全目标。这一关于计算能力的诚实多数假设多年来一直是比特币社区内部公认的、支撑系统安全性的基础,可通过将不诚实挖矿的参与方视为由一个中心化对手控制并协调其行为以破坏协议结果的方式来建模。

同时,鉴于比特币是一种“经济商品”(即比特币可与法定货币和商品进行交换),许多研究致力于对该系统进行理性分析[7–9,15,22,24,28–32]。简而言之,这些研究将比特币视为各竞争性理性矿工之间的一场博弈,矿工试图最大化一组被假定为系统自然激励结构的效用。此类分析的目标是探究比特币是否达到稳定状态,即博弈论均衡,或在何种关于激励和/或参与方协作程度的假设下能够达到该状态。然而,尽管得出了一些启发性的结论,这类分析的预测结果往往较为悲观。事实上,这些结果通常认为,除非对诚实计算能力的数量作出假设(有时甚至需要比多数更强的条件),否则所产生的激励结构可能导致对比特币挖矿协议的攻击变得合理化,从而引发区块链分叉或显著的性能下降等不良后果。

然而,据我们所知,迄今为止尚未观察到由理性攻击导致的分叉或显著的网络减速,尽管矿池在理论上拥有发动协同攻击的能力,但比特币网络仍持续按照其设计规范正常运行。在博弈论环境中,这种预测行为与实际观察之间的差异通常被解释为:现有分析中关于矿工效用的基本假设未能准确反映矿工的决策逻辑。因此,两个主要问题仍然存在,并且经常被比特币怀疑论者提出:

Q1. 为什么比特币没有被这种攻击所攻破?
或者换一种说法,它为什么能正常运行,以及为什么大多数参与者不会串通起来破坏它?

Q2. 鉴于此类攻击的可能性,为什么诚实矿工仍继续挖矿?

我们指的是比特币链本身的分叉,而不是衍生出新货币的分叉。

在这项工作中,我们采用严格的密码学推理来回答上述问题。简而言之,我们设计了一个理性密码学框架,用以捕捉诚实矿工与(可能串谋的)偏离矿工之间紧张关系背后的经济力量,并解释这些力量如何影响矿工的行为。通过该模型,我们展示了自然激励(取决于矿工的预期收入)结合比特币的高货币价值,能够解释为何现实中比特币并未遭受攻击尽管多数联盟实际上是可能形成的。简单来说,我们表明,关于矿工激励的自然假设可以在一定程度上替代(完全或作为备用假设)诚实多数假设。据我们所知,这是首个在不依赖于对手计算能力假设的前提下,形式化证明此类理性结论的工作。需要强调的是,我们所考虑的激励仅取决于挖矿的成本与收益——即挖矿(铸币)奖励和交易费用——特别是,我们并未做出任何隐式或显式阻止形成对抗性多数联盟的假设。

使我们能够解决上述问题的关键是利用加拉伊等人[11]提出的理性协议设计(RPD)方法论,推导出能够紧密捕捉对比特币协议的协调的激励驱动攻击特性的稳定性概念。为了更好地理解我们的模型如何运用RPD来回答上述问题,我们回顾一下该框架背后的基本思想。

与将协议参与者——在本例中即比特币矿工——视为理性参与者的做法不同,RPD考虑了一种称为攻击博弈的元博弈。该攻击博弈的基本形式是一个双参与方的、具有两阶段长度(即两个顺序步骤)的零和完全信息扩展式博弈。2它包含两名玩家:一名是协议设计者D——其目标是为给定的(多参与方)任务设计出尽可能好的协议;另一名是攻击者A——其目标是设计出最优的(多项式时间)策略/对手以攻击该协议。该博弈分为两个步骤进行:首先,只有 D 采取行动,选择一个供(诚实)参与方执行的协议;A 获知 D 的选择后,轮到他采取行动。攻击者的策略实际上是一个密码学对手,用于攻击设计者所提出的协议。

A和D的激励由效用函数描述,他们的各自行动旨在最大化这些效用。简而言之,攻击者效用函数根据对手成功引发其预期违规的频率以及违规的严重程度,按比例给予奖励。由于该博弈是零和的,设计者的效用与攻击者相反;这体现了密码学协议的标准目标,即以尽可能最佳的方式“遏制”对手。

基于上述博弈,RPD框架引入了以下自然的安全性概念,称为攻击收益安全,该概念捕捉了安全性质量 a protocolΠ针对给定规范,在面对旨在最大化攻击者效用的激励驱动攻击时的安全性。非正式地,攻击收益安全性确保了对手不愿意以任何方式攻击协议,从而使其偏离理想规范。换句话说,该协议对那些旨在最大化攻击者效用的策略类别是安全的。在这种激励驱动的设定下,这相当于对抗恶意对手的安全性的自然类比。 Π 4在攻击收益安全性不可行的情况下,RPD提出了攻击收益最优性的概念,该概念确保协议Π是对最佳攻击的最佳响应。

RPD(见下文)的一个有用特性是,所有定义都基于坎内蒂的基于模拟的框架(无论是独立框架[5] 还是通用可组合框架[6]),可以轻松实例化。事实上,无论在直观层面还是技术层面上,都有多个原因使得RPD特别适用于分析已经运行的复杂协议,例如比特币。首先,RPD支持自适应腐败,能够刻画当前正在执行其(挖矿)策略的参与方改变主意并决定发起攻击的情形。这在分析已在运行中的协议遭受内部攻击的可能性时尤为有用。出于同样的原因,RPD也适合用于刻画由被攻陷的硬件/软件和/或贿赂[4]所引发的攻击(尽管本文将不考虑贿赂情形)。其次,通过使用中心化对手作为攻击者的行动主体,确保了即使我们仅限于激励驱动的策略,仍允许作弊者完全协作。例如,这能够刻画矿池决定偏离协议规范的行为。

在技术层面上,使用攻击博弈来定义激励机制,避免了“理性密码学”模型中的许多复杂问题。例如,由于实际的理性参与者(即 D 和 A)不受计算能力限制,因此无需定义复杂的计算性均衡[10,17–19,21,25],(仅要求他们的行为由概率多项式时间机器实现)。此外,由于 RPD 基于模拟安全性,它附带了一个组合定理,允许进行常规的密码学子程序替换。这意味着我们可以在更简单的混合世界中分析协议,就像密码学中通常所做的那样,而无需担心在将混合系统替换为相应的密码学实现后,其质量或稳定性是否会受到影响。

我们的贡献

在本研究中,我们应用RPD方法论来分析比特币抵御激励驱动攻击的能力,并回答上述存在的根本性问题。由于RPD基于UC框架,我们采用比特币抽象作为UC协议,并结合[2]中的相应比特币账本功能,以描述比特币的目标/规范。如[2],所述,该功能涵盖了在[13,27]中提出的所有属性。

我们通过定义一种自然的攻击者激励类别来描述其效用,这种效用一方面根据比特币的标准奖励机制给予攻击者奖励 4事实上,如果我们要求任意效用函数都满足此条件,则两种概念——攻击收益安全性和恶意安全性——将相吻合。

对抗性矿工将区块永久插入区块链所获得的机制(即区块奖励和交易费用),另一方面对他所使用的资源(例如采矿设备和电力)进行惩罚。为了克服奖励通常以比特币计价而成本以法定货币计价所带来的不一致性,我们引入了兑换率CR的概念,将奖励单位(如BTC)转换为挖矿成本单位(如美元)。这使得我们能够根据协议在法定货币中的衡量价值对其质量做出判断。

然后,我们为设计者设计了一个类似的激励结构,其中诚实方(集体)因其永久插入区块链的区块而获得奖励,但需为其使用的资源付费。攻击者的激励与设计者的激励之间的区别在于,后者最关心维护区块链的“健康”,这一点也体现在其效用定义中。我们的模型隐含地假设,除非攻击能带来经济收益,否则攻击者不会从攻击系统中获得奖励。5

有趣的是,为了将RPD方法论应用于比特币,我们需要以非平凡的方式对其进行扩展,例如用以捕捉非零和博弈——因为设计者与攻击者的效用并不一定是彼此对立的——并提供更强的安全性与稳定性概念。更具体而言,我们引入了强攻击收益安全的概念,该概念要求攻击者会坚持采用被动策略,即遵循比特币协议(但可能滥用对手的能力来延迟网络中的消息)。我们还引入了自然的激励相容(IC)概念,要求攻击者和设计者均使其参与方遵循给定的协议。注意,激励相容性显然蕴含强攻击收益安全,而后者在假设协议在没有任何参与方偏离时至少是正确的前提下,蕴含原始RPD框架中的标准攻击收益安全性。

这些对RPD的扩展拓宽了其适用性,因此可能具有独立的研究价值。需要指出的是,尽管本文聚焦于对比特币的分析,所开发的方法论也可适用于分析其他主流加密货币。

在建立模型后,我们接着用它来分析比特币。我们的分析从一个更简单的 情况开始,即效用不依赖于被包含进区块链区块中的消息——也就是交易:当永久插入一个区块到区块链时,矿工仅获得一个固定的区块奖励值。这可以看作对应于[13],中提出的比特币主干抽象,但增加了挖矿区块的激励机制。对于我们在此设定下的结果,一种解释是它们适用于那些不一定被设计为加密货币账本的区块链。尽管对比特币而言这可能并不适用,但我们的分析已经揭示了若干令人惊讶的方面,即在此设定下,无需依赖计算能力的诚实多数即可确保质量

系统的结果。此外,这些结果还为在更完整的情况下实现稳定性所需条件提供了直观理解,这种情况也包含了交易费用。总结来说,我们证明了在此类类似主干的设定下(区块内容不影响参与者策略,但奖励和成本会影响)的以下结论: – 比特币是强攻击收益安全的,即只要其余各方遵循协议,任何协调联盟都没有动机偏离该协议。此外,无论联盟规模多大(即无论被破坏的计算能力比例多高),也无论兑换率多高,该结论均成立。这意味着,在这种类似主干的设置中,我们可以完全用上述直观的理性假设取代计算能力诚实多数的假设。6

– 如果挖出一个区块的奖励足够高,使得挖矿平均而言是有利可图的,那么比特币协议甚至对于局部偏离是激励相容的。换句话说,不仅共谋方(例如矿池)没有动机偏离协议,而且诚实矿工也有明确的动机继续挖矿。同样,这并不依赖于诚实多数假设。此外,作为合理性检验,我们还证明了当兑换率下降到矿工预期通过挖矿会亏损收入时,上述结论不再成立。以上结果验证了这样的直觉:在初始启动阶段之后,当价值被注入系统(即兑换率达到足够高的水平),只要兑换率和区块奖励的组合足够高,该账本就会持续按照其设计规范正常运行。

通过在上述理想化设定中的分析所获得的直观理解,我们接下来转向更现实的设定,该设定更贴近比特币,其中区块内容是具有相关费用的消息。我们将这些消息称为交易,并采用比特币对交易费用的标准限制:每笔交易都有一个最大费用,且费用是最小单位的整数倍。7我们指出,在所有形式化分析中 [2,13,27],交易被视为由一个明确的环境作为输入提供的,该环境用于描述位于区块链之上并使用区块链的应用层。因此,环境还将负责选择交易费用以及将交易分发给矿工。为了更具一般性,我们不像[13,27]中那样假设所有交易都通过类似广播的机制由环境传达给所有参与方,而是假设环境将交易单独分发(即输入)给各个矿工,矿工随后可能会通过网络转发这些交易(如果他们是诚实的),也可能不转发。这种更现实的交易提交机制在[2]中已有明确说明。

我们将这种将挖矿奖励和交易费用都纳入矿工挖矿奖励的模型称为full-reward模型。有趣的是,该模型还使我们能够对未来的比特币时代进行预测,当挖矿奖励将远小于交易费用(甚至为零)时。

我们强调,在本研究中,交易被视为具有明确手续费的消息,而不是导致比特币从一个矿工转移到另一个矿工的操作。这意味着,除了其关联的手续费外,交易的内容不会影响攻击博弈中参与者所采取的策略。这对应于如下假设:负责维护账本的矿工与用户是不同的,后者将区块内容解释为加密货币价值的交换,并属于应用/环境的一部分。我们将此假设称为矿工/用户分离原则。这一假设在所有现有研究中都是明确的,为我们提供了一个良好的抽象方式,以便独立地研究维护账本的激励机制——这正是我们工作的范围——而不受用户实际使用账本的动机影响。需要注意的是,这一假设既不排除,也不轻易阻止足够强大的攻击者(例如拥有三分之二多数算力)进行“分叉”;事实上,如果某些交易的手续费远高于其他交易,那么此类攻击者可能会通过在同一包含高手续费交易的区块上同时扩展最长链和次长链的方式分叉网络,并使网络长期保持分叉状态,直到他从两条分叉链上都成功兑现奖励为止。

在全奖励模型中,我们证明了以下陈述: 首先,我们考察最坏情况环境,即帮助对手最大化其预期收入的环境。我们证明在此模型下,比特币仍然是激励相容的,因此也具有强攻击收益安全。事实上,即使环境仅确保诚实矿工和对手均能获得充足供应的交易,使得费用足够高,从而构建达到最大奖励值的区块(注意,参与者所知晓的交易集合不一定相同),结论依然成立。例如,只要大量用户提交费用最高的交易(即所谓的全额费用交易),系统就能保证正常运行,而无需依赖矿工的诚实多数。从某种意义上说,用户可以通过交易费用来控制系统的稳定性。

接下来,我们研究上述结论对于任意交易费用分布是否成立。不出所料,答案是否定的,该协议甚至不满足攻击收益安全(即甚至无法达到其设计目标)。该结论的证明利用了上述分叉论证。从积极的一面来看,我们的证明表明,在诚实多数设置下,由于分叉仅以可忽略的概率发生,对手唯一有动机偏离标准协议的方式是扣留他正在挖矿的交易,以避免将费用损失给诚实方。

根据上述表述,我们可以将比特币安全性的假设从需要诚实多数放宽为需要足够多的全额费用交易存在足够长的时间,同时以诚实多数作为备用条件。

– 最后,注意到通常有大量的待验证交易,这证明了网络供应充足的假设是合理的(并且鉴于高采用率,这一交易池不会过快减少),我们可以直接利用我们的分析,提出一种可能的修改方案,以帮助比特币或其他加密货币在全奖励模型中长期确保激励兼容性(从而也确保强攻击收益安全):该想法是为每个区块定义一个允许的费用(或总体奖励)累计上限。如果有足够多的高手续费交易,则将区块填满交易直至达到此金额。正如我们通过简单激励结构进行的首次分析所表明的,确保此上限不递减就足以论证稳定性;然而,也很有可能在更复杂且以经济为导向的激励结构中,基于供需关系正式确定这样的上限,而未来一项有趣的研究方向是精确地定义此类提案及其安全性结论所依赖的(经济学)假设。我们注意到,引入此类规则通常只会引发一次“软分叉”,并且在兑换率和奖励上限的组合足够高的情况下,即使每块的固定奖励趋近于零,而奖励的主要来源变为交易费用(正如比特币未来规划的情况),仍可确保激励兼容性。

2 预备知识

在本节中,我们介绍一些符号,并回顾文献中的基本概念和定义,特别是来自 [11]和[2]的基础内容。为完整性起见,本综述的扩展版本可在完整版中找到[1]。

我们的定义基于坎蒂(Canetti)的基于仿真的安全性定义[6];我们假定读者对其基本原理有一定了解。

在本工作中,我们假设存在一个(有时是隐式的)安全参数 κ。我们用 ITM表示概率多项式时间(PPT)交互式图灵机(ITMs)的集合。我们还使用标准的概念可忽略的、显著的和压倒性的(例如,参见[16]),其中我们将关于 κ的可忽略函数记为negl(κ)。最后,采用标准的通用可组合性符号,我们用 EXECΠ,A,Z(分别对应EXECF,S,Z)表示环境 Z在见证协议 Π对抗对手 A的执行(分别对应功能 F在模拟器 S参与下的理想评估)时输出的随机变量(若被κ索引则为集合)。

2.1 RPD框架

RPD框架[11]通过将攻击建模为两个理性参与者——协议设计者D和攻击者A之间的元博弈,从而刻画激励驱动的对抗者,我们接下来对此进行描述。该博弈以一个(多方)功能 F为参数,该功能对参与方D和A均为已知,且对应于理想

设计者试图实现的目标(以及攻击者试图破坏的目标)。展望未来,当我们分析比特币时, F将是一个账本功能(参见[2])。设计者D从所有概率多项式时间(PPT)可计算协议的集合中选择一个PPT协议 Π来实现功能 F。8 D将 Π发送给 A,然后 选择一个PPT对手 A来攻击协议 Π。可能的终止历史集合 即为上述形式的数对序列(Π, A)。

与[11],一致,我们用 GM表示相应的攻击博弈,其中 M被称为攻击模型, 它规定了博弈的所有公开参数,即:(1)功能,(2)相关行动集的描述,以 及(3)分配给某些行动的效用(见下文)。

RPD 中的稳定性对应于子博弈精炼均衡的一种 refinement(参见 [26,定义 97.2]),称为 ε-子博弈精炼均衡,它将参与者效用与其最优响应效用相差 ε 以内的策略组合视为解(形式化定义见 [11])。在本文中,我们仅考虑 negl(κ); 为简便起见,在记号上略有滥用,将 negl(κ)-子博弈精炼均衡简称为子博弈精 炼均衡。

The utilities

RPD 的核心创新在于效用的定义方式。由于底层博弈是零和的,因此只需定义攻击者效用即可。该效用取决于攻击者的目标,更准确地说,取决于其成功引发的安全漏洞,并通过模拟范式,经由以下三步过程来定义:

首先,我们修改理想功能 F 以获得一个(可能较弱的)理想功能 〈F〉, 该功能明确允许我们希望建模的攻击。例如, 〈F〉 可以让其模拟器访问各方的 输入,从而能够评估旨在造成输入隐私泄露的攻击。

其次,我们描述一种针对对手所关注的不同违规行为的评分机制。具体而言,我们定义一个函数 vA,将宽松功能 〈F〉和环境 Z的联合视图映射到一个实数值收益。该映射定义了随机变量(集合) v〈F〉 , S Z A ,,即在描述理想评 估的随机实验中,将 vA应用于 〈F〉和 Z视图的结果,其中理想世界对手为 S; 进而, v〈F〉 , S Z A ,定义了模拟器 S和环境 Z下攻击者的(理想)期望收益,记为 U〈F〉 IA(S, Z),即vA 〈F〉,S,Z的期望值。三元组 M=(F, 〈F〉, vA)构成了攻击模 型。

第三步也是最后一步是使用 U〈F〉 IA(S, Z)来定义攻击者效用uA(Π, A),即对 手 A针对协议Π的攻击者效用,其值为在“最佳”模拟器成功于(A所偏好的环 境中模拟 A时的期望收益。该最佳模拟器能够以忠实的方式将对手对 Π的违 规转化为对宽松功能 〈F〉的违规,也就是说,仅当对手确实迫使模拟器为实现 模拟而必须产生违规时,理想违规才会发生。正如[11],中所论述的,这对应于 使攻击者效用最小化的模拟器。形式上,对于一个功能 〈F〉和一个协议 Π,记 CA为模拟器类

对 A 是“好”的,即 CA={S ∈ ITM | ∀Z: EXECΠ,A,Z ≈ EXEC〈F〉,S, Z}。9那么攻击者的(期望)效用定义为:

uA(Π, A)= sup Z∈ITM{ inf S∈CA{U〈F〉 IA(S, Z)}}.

对于 A和Π,当满足 CA= ∅时,效用为∞,根据定义,这体现了我们仅 希望考虑那些至少实现了宽松(即可显式破坏)功能 〈F〉的协议。注意,上述 实验中的视图实际上是通过安全参数 κ索引的随机变量集合,因此所有相关事 件的概率实际上是 κ的函数,故效用也是 κ的函数。还应注意,只要 CA= ∅非 空,则对于每个 κ的取值,上述上确界和下确界均存在且有限,并可由至少一 对(S, Z)达到,前提是评分函数对所有可能的交互记录赋予有限的收益(对于 S ∈ CA)(参见[11])。

注释 1(基于事件的效用 [11])。在许多应用中,包括我们工作中的应用,有意义的收益函数具有以下简单表示形式:设(E1,…, E ) 表示在理想实验中定义于 视图( S 和 Z 的视图)上的一组(通常是互不相交的)事件,这些事件对应 于影响攻击者效用的安全漏洞。每个事件 Ei 被赋予一个实数 γi,收益函数 vAγ 将每个理想执行对应的发生的 Ei 所对应的 γi 值求和作为其收益。模拟 器的理想期望收益根据我们的定义计算为

U〈F〉 IA(S, Z)= ∑ Ei∈ E,γi∈γ γi Pr[Ei],

其中概率取自 S、 Z和 〈F〉的随机硬币。

基于上述效用的定义,[11]提出了针对受激励驱动的攻击者的自然安全性 概念。直观上,若一个协议在给定的攻击模型 M=(F, ·, vA)中,其最优对手 的效用与攻击仅在F和环境之间转发消息的 F‐混合“虚拟”协议时的最优对手 效用相同,则该协议是攻击-收益安全的。

定义 1(攻击收益安全 [11])

设 M=(F, 〈F〉, vA, vD) 是一个攻击模型,分别 在攻击者和设计者上诱导出效用 uA 和 uD, 10 并设 φF 为虚拟的 F-混合协议。一个协议 Π 对于 M 是 攻击收益安全的,如果对于所有对手 A ∈ITM,

uA(Π, A) ≤ uA(φ F, A)+ negl(κ).

10在[11],中默认 u D = −u A 因为游戏是零和的。

直观上,该安全定义准确地捕捉了针对受激励驱动的攻击者的安全性,因为在 模拟对虚拟 F‐混合协议的攻击时,模拟器永远不需要引发任何“破坏”事件。因此,最优对手对 Π的效用等于一个不引发任何“不良事件”的对手的效用。

2.2 区块链协议的可组合模型

在 [2], Badertscher等人提出的通用可组合处理中,对比特币协议 ΠB 在通用可组合框 架中进行了研究。本文重点介绍其基本概念和结果,更多细节请参见完整版本 [1]。

比特币账本

账本功能 GlBedger维护一个账本状态状态,即一个状态块的序列。每个状态块包含(特定于应用的)内容值——也就是“交易”。对于每个诚实 方 pi,账本存储了一个指向状态块的指针——即从 pi的角度看到的状态头部—— 并确保这些指针单调递增,且不会离状态头部太远(并且只能向前移动)。参与方或对手可以提交交易,这些交易首先通过一个谓词ValidTxB进行验证,若 验证有效,则被添加到账本功能的缓冲区中。在任何时候,GlBedger允许对手为 状态提议一个候选下一个区块。然而,账本强制执行一个由算法扩展策略 所指定的特定ExtendPolicy,用于检查该提议是否符合策略。如果对手的提议不符 合账本策略,ExtendPolicy将拒绝该提议。比特币账本所执行的策略可以简要 概括如下:

– 账本增长 在一定轮数内,添加的区块数量不能过少或过多。– 链质量 一定比 例的提议的块必须是诚实挖出的,并且这些区块满足特殊属性(例如包含所有 近期交易)。– 交易活跃性 足够旧的(且有效)交易将被包含在添加到账本状 态的下一个区块中。

比特币协议

在[2]中证明了(一种受[13]启发的抽象)比特币作为一个同步UC协议,称为账本协议,记为 ΠB,实现上述账本。 ΠB使用区块链来存储交易序列。一条区块链 C是一个(有限的)区块序列B1,…,B 。每个区块Bi由一个指针si、一个状态块sti和一个随机数ni组成。字符串。链 Ck是 C去掉最后 k个区块后的结 果。区块链 C=B1,…,B 的状态 st定义为其状态块的序列,即 st := st1|| … || st 。区块链 C= B1,…,B 的有效性,其中 Bi= 〈si , sti , ni〉,由一个谓词 isvalidchainD(C) 决定。它结合了两种有效性:链级(即语法级)有效性——直观上要 求有效区块必须针对哈希函数 H : {0, 1} ∗→{0, 1} κ 求解一个工作量证明类谜题。

以及难度d——state-level,即语义有效性,用于指定区块内容(即交易)相对 于特定于区块链的谓词是否有效。

比特币协议 ΠB在一个混合世界中执行,其中参与方可以访问随机预言机 功能 FRO(用于建模哈希函数H)、使用有界延迟信道的多播异步网络 FN-MC 以及一个全局时钟 Gclock。每个参与方维护一条(本地)当前区块链。它从环 境接收交易(并进行传播),并将新收到的有效交易添加到一个区块中,然后 通过算法 extendchainD进行挖矿。该算法的核心思想是通过查询随机预言机 FRO 来寻找工作量证明,从而能够用一个有效的区块扩展本地链。每次挖矿尝试后, 参与方会通过网络多播其当前区块链。参与方始终采用从预先约定的创世块开 始的最长链。该协议(隐式地)将账本状态定义为每个参与方所持有的最长链 内容的某个前缀。更具体地说,如果某参与方持有一条有效链 C,该链编码了 状态块序列 st,则账本状态被定义为 stT,即该参与方输出其本地最长 链中编码的状态块的一个前缀。 T的选择确保了诚实方输出一致的账本状态。

计算的扁平模型

在本文中,我们在加拉伊等人提出的同步扁平模型(固定难度)下陈述结果等。 [13]这意味着我们假设有若干参与方,记为 n,它们执行 比特币协议ΠB,其中最多有 t个参与方可被攻破。为简便起见,网络 FN-MC保 证由诚实方在轮次 r 发送的消息将在下一轮开始时对其他任何 参与方可用 r+ 1。此外,每个参与方在每一轮都会被调用,并且每轮最多可向 随机预言机发出一次“计算”查询 FRO(以及不限次数的“验证”查询以检查 所接收链的有效性)11,并可在每轮中使用上述扩散网络 FN-MC一次来发送和 接收消息。为了在可组合处理中体现这些限制,现实世界的假设通过一个“包 装器”功能 Wflat来强制实施,该功能适当地限制了对 Gclock、FRO和 FN-MC 的访问,如 [2]中所述。

记 ρ为恶意方的比例(即, t= ρ · n),并定义p:= d 2 κ其表示通过向 FRO αflat= 1− n (1−ρ)·n βflat= p · 1−p ρ· n 发起一次 新的查询找到有效工作量证明的概率(其中 d是固定的但足够小的值,取决于 )。令 ( ) 表示诚实方的算力,( ) 表示对手的算力。

定理 1

考虑 Π B在 Wflat(Gclock, FRO, FN-MC)-混合世界中。如果对于某个 λ> 1,满足诚实多数假设

α flat ·(1 −4α flat ) ≥ λ · β flat

11这种每轮次包含一次哈希查询的细粒度轮次模型已被Pass等人使用。[27]将其扩展到 每轮计算查询具有更大的常数上界,如[13]本文结果中的扩展是直接的。

在实际执行中的任何情况下均成立,则协议Π B在UC框架下实现 GB ledger针对 某些特定参数范围(见[2])。

3 账本的理性协议设计

在本节中,我们提出用于对比特币协议进行理性分析的框架。该框架以加拉伊等人 提出的理性协议设计(及分析——简称RPD框架)为基础et al.[11],并通过多种方式 对其进行扩展,以更好地捕捉比特币的特性。(关于RPD的主要组件和安全性定义, 请参见第2节以及完整版本。)需要注意的是,尽管我们的分析主要集中在比特币 上,但这些扩展中的许多具有更广泛的适用性,也可用于其他加密货币的理性分析。

RPD的机制为针对给定规范的多方协议中的激励驱动攻击提供了理论基础。在本节中,我们将展示如何将该方法论适配于旨在安全实现公共账本的协议。我们对原始RPD框架所做的扩展与推广为RPD框架增加了通用特性,包括能够 描述非零和攻击博弈——正如我们所论证的,这类博弈更适合加密货币账本的 实现——以及扩展了能为攻击者和设计者带来收益的事件类别。

我们理性分析的核心假设是,攻击者对比特币的激励——影响其行为和攻 击方式——仅取决于发动攻击的各方可能获得的收益或遭受的损失。我们不考 虑那些仅仅为了取乐而制造分叉的攻击者。只有当攻击者预期通过该行为能够 获得某些利益时,他才可能在区块链上制造“分叉”。更具体地说,我们考虑 以下在运行比特币协议过程中会产生收益(或带来成本)的事件:

–在区块链中插入区块。 加密货币的典型特征是,当一个参与方成功将一个区 块插入到账本状态时,该参与方将因其为此付出的努力而获得奖励。此外,在 此类协议中,区块的内容(通常是交易)通常会附带一些 交易费 。 (为简化 起见,在我们最初的正式化描述中(第3和4节),我们将在形式化陈述中忽略 交易费用,并在第5节中描述如何扩展以包含此类费用。) – 花费资源来挖矿一 个区块。 这些资源可能包括挖矿所消耗的电力、对挖矿硬件的投资及其随时间 推移的损耗等。

备注2(矿工/用户分离原则)

我们指出,本工作的范围是分析加密货币针对 由矿工发起的激励驱动攻击的安全性,即负责维护区块链的各方。特别是,与 [2,13,27]一致,我们将协议的输入视为由一个(不一定是理性的)环境提供, 该环境尤其包含了系统的用户。因此,除了

交易费用,我们将假设账本的内容不会影响矿工的策略,我们将其称为矿工/用 户分离原则。这一原则描述了用户不与矿工串通的情况——上述研究中隐含的 假设。我们把包括应用层在内的协议完整理性分析留给未来的研究。

在对比特币的激励驱动攻击进行形式化分析时,存在若干挑战需要克服。首先,上述奖励与成本机制是以不同的“单位”来衡量的。具体而言,区块奖 励属于加密货币的约定,因此以特定加密货币的单位来衡量,例如比特币网络 中的比特币。另一方面,挖矿成本(如电力成本、设备使用等)通常以法定货 币来衡量。为解决这种不匹配问题——同时避免采用特定货币——我们引入一个 变量CR,它表示特定加密货币单位(例如比特币)到成本单位(如欧元或美元) 的兑换率。正如我们将在下一节中看到的,使用这样一个明确的汇率,可以使 我们对比特币网络质量做出依赖于其价格的陈述——这在直观上是合理的。例如,我们可以正式确认如下高层级的陈述:“只要比特币的价格足够高,比特 币就是稳定的——即矿工有激励继续诚实挖矿”(参见第4节)。

此外,通过这种方式,我们可以将所有收益用成本单位来表示:假设一名 矿工(或一组矿工)需要 r 轮次才能将一个区块插入到状态中。记 mcost 为 单次挖矿尝试的成本(在本例中为一次 RO 查询),breward 为每个已挖出的 区块所获得的加密货币单位(例如,比特币)奖励比例。12那么,插入单个区 块的收益为 breward ·CR − qr ·mcost,其中 qr 是在 r 轮次内挖出该区块所 需的 RO 查询次数。

第二个挑战涉及矿工在什么情况下应该获得挖矿奖励。有多个原因导致解 决挖矿难题(从而创建新区块)并不一定保证矿工能够成功将该区块插入区块 链,因而获得相应奖励,包括可能出现的碰撞情况——多个矿工同时解出难题, 或者更糟糕的情况,如对抗性干扰——例如
网络延迟或“自私挖矿”。即使某矿工是在特定轮次中唯一解出难题的矿工,他也只有在其区块成为区块链(永久)状态的一部分——即所谓的区块链“公共前缀”时,才应获得奖励。

为了克服第二个挑战,我们依赖RPD方法论。具体而言,我们将使用理想 实验,在该实验中各方可以访问全局账本功能,在其中我们可以明确识别将区 块插入状态的事件,并通过查看状态来确定哪个矿工添加了哪个区块。13

12目前,对比特币网络而言,这是原始奖励的1/4(12.5 比特币)。13在 [2],每个区块 的状态中都包含该区块所属矿工的标识符。

为了形式化上述直观理解,并应用RPD方法论来定义针对激励驱动的对手 实现账本的攻击博弈中的效用,我们需要对原始框架进行一些重要的调整和扩 展,接下来我们将进行这些工作。然后(第3.2节),我们使用扩展后的框架来 定义比特币协议的攻击模型,并在本节最后给出该模型中安全性和稳定性的适 当定义。

3.1 扩展RPD框架

我们描述了如何将模型从[11]进行扩展,以便能够在我们的上下文中使用它。

黑盒模拟器

第一个修改是增加效用定义的灵活性。原始的理想收益定义 U〈F〉 IA (S, Z)使用环境和功能的联合视图来计算模拟器的收益。然而,当试图为对手所 使用的资源(例如本场景中的随机预言机查询)分配成本时,这可能会带来问 题。事实上,这些查询不一定包含在该联合视图中,因为根据具体的模拟器, 可能无法提取这些查询信息。14为了解决这个问题,我们修改定义,将其限制 为黑盒模拟器,从而使得 CA成为一类将对手作为黑盒使用的模拟器。这能确 保对随机预言机的查询属于模拟器与其对手交互的一部分,因此会出现在模拟 器的视图中。此外,我们将模拟器视图的这一部分纳入评分函数 vA的定义中, 现在该函数被定义为从宽松功能 〈F〉、环境 Z以及模拟器 S的联合视图到实数 值收益的映射。

非零和攻击博弈

第二个修改是取消攻击博弈为零和的假设。实际上,协议设计者在设计账本协议时的自然动机并非最优地“驯服”其攻击者——如[11]中所 述——而是最大化非对手控制参与方的收入,同时保持区块链的健康状态,即 避免分叉。这一修改至关重要,因为它能够捕捉到这样一类攻击:对手保持其 区块插入状态的速率不变,但减缓状态的增长速度,以确保诚实矿工在任何时 间段内获得的收入更少。例如,所谓的“自私挖矿”策略[9]就会引发这种放缓, 因为诚实矿工的挖矿能力被投入到一条并非最长链的链上(执行自私挖矿的参 与方会尽可能长时间地将最长链保持私有)。

为了在这样的非零和攻击博弈中正式定义设计者的效用,我们采用与原始 RPD框架中定义攻击者效用时类似的推理方法。第一步,即对功能的松弛,如 果我们在定义攻击者效用时已充分放宽,则此步骤可以省略。在第二步中,我们为激励定义评分机制。

14事实上,在 [2],所呈现的比特币协议的理想模拟中,理想世界里没有随机预言机。

为什么它有效? 49

设计者的收益函数 vD,该函数将松弛功能的联合视图 〈F〉、环境 Z和模拟器 S 映射为一个实数值收益,并定义设计者关于环境 Z对模拟器 S的(理想)期 望收益为

U〈F〉 ID(S, Z)= E(v〈F〉,S,Z ),

其中 v〈F〉, S Z D , 描述了在一次执行中通过直接使用功能 〈F〉 分配给 D 的收 益(作为随机变量)。

第三步也是最后一步最为棘手。在这里,我们希望利用上述理想期望收益 来定义设计者在使用协议 Π 且攻击者采用对手策略 A时的期望收益。为了确保 我们的定义与原始定义[11]保持一致——该定义适用于(仅)零和博弈——我们 需要保证设计者的效用随着攻击者效用的降低而增加,反之亦然。因此,为了 给策略组合(Π, A)分配设计者的效用,我们将使用与分配攻击者效用时相同 的模拟器和环境。具体而言,令SA表示用于构建对手效用的模拟器类,并令ZA 表示针对SA 15中的模拟器最大化该效用的环境类,那么

SA={S ∈ CA s.t. sup Z∈ITM {U〈F〉 IA(S, Z)}= uA(Π, A)} (1)

and ZA={Z ∈ ITM s.t. for some S ∈ SA: U〈F〉 IA(S, Z)}= uA(Π, A)}. (2)

很容易验证,这种模拟器的选择符合[11],中定义的零和博弈中效用相反的 情况,从而保留了遵循原始RPD范式的结果。

引理1

设 vD= −vA且令 U〈F〉 ID(S, Z)如上所定义。对于某个 S ∈SA和某个 Z ∈ ZA,定义 uD(Π, A):= U〈F〉 ID(S, Z)。则 uD(Π, A)= −uA(Π, A)。

证明。 由于vD= −vA,我们有对于所有 Z, S ∈ ITM,

U〈F〉 ID(S, Z)= −U 〈F〉 IA(S, Z). (3)

然而,根据定义,由于 S ∈SA,我们有

uA(Π, A)= U 〈F〉 IA(S, Z) =3 −U 〈F〉 ID(S, Z)= −uD(Π, A).

上述引理确认了,对于一个零和攻击博弈,我们可以取定义中的任意一对(S, Z) ∈ SA × ZD,它将保持零和性质(从而保留所有原始的RPD结果)。这是因为所有这些

15回想一下,正如第2.1节所述,只要 CA ≠ ∅,这些集合就非空。

50 C. 巴德特舍尔 等

模拟器为设计者带来相同的效用 −uA(Π, A)。然而,在我们所讨论的非零和博 弈情况下,每一个模拟器/环境组合可能为设计者带来不同的效用。为了选择最 忠实地将设计者效用从现实世界映射到理想世界的组合,我们采用与RPD中定 义攻击者效用时相同的论证思路:最优(即最忠实的)模拟器是在其协议引发 某种有利可图事件时始终奖励设计者的那个模拟器;换句话说,就是最大化设 计者期望效用的模拟器。类似地,自然环境是指使协议处于最不利情况下的环 境,即最小化其期望收益的环境;实际上,这样的环境可确保设计者获得其分 配到的效用。上述分析导出了非零和博弈中设计者效用的如下定义:

uD(Π, A):= inf Z∈ZA{ sup S∈SA{ U〈F〉 ID(S, Z)}}.

为保证完整性,我们设定当 CA= ∅时,即协议甚至未实现宽松功能时, uD(Π, A) = −∞。这不仅符合直觉——因为 CA= ∅意味着设计者选择了一个甚至未 达到宽松目标的协议——而且类似于RPD对未能实现其宽松规范的协议中攻击 者效用的定义。16

最后,非零和博弈的攻击模型被定义为四元组M=(F, 〈F〉, vA, vD)。

3.2 比特币在RPD框架中的应用

在提出了上述对RPD框架的扩展之后,我们准备应用该方法来分析比特币。

基本基础

我们更深入地解释如何实现RPD的核心步骤。首先,我们将[2]中 的账本功能定义为比特币的理想目标(见第2.2节)。按照该方法论的三个步骤, 我们首先定义账本的宽松版本,记为 GwBeak-ledger。非正式地说,宽松账本功能 在以下修改下运行,与原始账本相同:

状态是一棵树 :不是将单个账本状态状态以线性区块链‐like结构存储, GwBeak-ledger而是存储一个状态树状态块的树结构,其中每个节点到根的直接路 径定义了一个可能呈现给任意诚实矿工的账本状态。该功能为每个注册的参与 方 pi ∈ P维护一个指针pti指向树中的一个节点,该节点定义了 pi的当前状态 视图。此外,不是限制对手只能将状态“松弛度”设置为不超过某个特定参数, GwBeak-ledger提供了命令 set-pointer允许对手设置诚实参与方的指针

16回想一下,如果 CA= ∅,即如果 A 无法被模拟,则 RPD 设置 uA( Π,A) = ∞。

但为什么它有效? 51

在状态树内,满足以下限制:诚实方的指针只能设置为到根节点的距离至少 等于当前指针节点的节点。

交易的宽松有效性检查 :所有提交的交易在未对状态树进行有效性检查的情况 下都被接受进入缓冲区。此外,缓冲区中被添加到状态树的交易不会被移除, 因为它们可能在状态树的另一个分支中被重用。

创建分叉的能力 : 这种宽松设定赋予了模拟器明确的权力,可在账本状态上创 建一个分叉。具体操作如下:命令next-block——如前所述,该命令允许模拟 器提议下一个区块——被修改为允许模拟器扩展状态树中足够长的根路径上的 任意叶节点。因此,当state-tree仅为单一路径时,此命令的操作与[2]中的原 始账本一致。此外,在宽松账本中,还允许模拟器将下一个区块添加到状态树 的中间节点(即非叶节点)上。这通过使用额外的命令 fork实现,该命令除 了从指定区块扩展链外,其功能与 next-block相同。

宽松的状态扩展策略 : 如第2.2节所述,扩展策略是账本功能对模拟器提议添加 到账本状态的区块执行的合规性检查。这是为了确保这些区块满足某些条件。 这是账本功能用来实施文献中常见的通用账本通用属性(例如链质量或链增长属性)的机制,对于比特币账本而言,还包括账本状态的交易持久性/稳定性属性 [13,27]或交易持久性/稳定性的 [13]。宽松账本使用一种更为宽松的扩展策略,称为weakExtendPolicy,它源自 ExtendPolicy,并进行了以下修改:直观上, 与ExtendPolicy相比,较弱版本不检查对手是否插入了过多或过少的区块,也不 检查所有足够旧的交易是否已被包含。同时,也不检查是否有足够多的区块由 诚实方挖出,即是否存在足够多来自诚实方的铸币交易区块。换句话说, weakExtendPolicy不对账本状态的链质量或链增长属性,或交易持久性/稳定性 施加任何具体界限,而是仅确保所生成账本状态的基本有效性标准。

更正式地说,它以状态树和指针 pt 作为 输入。它首先计算一个有效的默认 区块 Ndf,该区块可以追加到 状态树的最长分支上。然后检查提议的块 N 是否可以安全地追加到节点 pt(以生成一个有效的状态)。如果是这种情况, 则返回 ( N, pt);否则返回 Ndf以及指向状态树中最长分支叶节点的指针。

宽松账本功能的正式描述见完整版本[1]。这完成了RPD方法论的第一步。

52 C. 巴德特舍尔等人

第二步是定义评分函数。这正是我们的RPD应用与以往工作大相径庭之处 [11,12]。具体而言,以往的研究考虑的是针对通用安全多方计算协议的攻击, 其理想目标是标准的安全函数计算(SFE)功能(参见[6])。安全漏洞包括破 坏正确性和隐私性[11]或破坏公平性[12]。这些漏洞可以通过放宽SFE功能来 刻画,即允许模拟器请求额外信息(破坏隐私性)、将诚实方的输出重置为错 误值(破坏正确性),或导致中止(破坏公平性)。收益函数则通过考察模拟 器是否触发这些事件的相关情况来定义,当最优模拟器为了模拟攻击而被迫触 发这些事件时,对手便获得相应的收益。

然而,针对账本的攻击如果以增加某个联盟的收入作为激励,则不一定对 应于模拟器发送特殊“break”命令的具体事件。相反,这些事件是从联合视 图中提取的(例如,哪些区块进入状态以及何时进入)。因此,对账本的攻击 对应于模拟器隐式地“调整”其参数。因此,在本研究中,我们采用以下方法 来定义攻击者和设计者的收益。与[11,12],中使用显式事件“降级”理想功能以 定义效用的RPD示例不同,我们直接使用在环境、功能和模拟器的联合视图上 定义的更为直观的事件。原因在于,我们假设唯一的动机是增加自身利润,因 此加密货币情况下的激励如下:每当一个区块被挖出时,对手就会获得奖励。 “安全漏洞”只有在(且仅在)对手通过这样做可以获得更高奖励时才相关。

定义具体的效用函数

定义效用函数是对比特币等区块链协议进行理性分析的核心。人们希望考虑的因素数量会影响具体分析的复杂性,最终目标是精确反 映实际区块链生态系统的激励结构。我们为区块链协议提出的扩展的RPD框架 为定义不同复杂程度的效用函数以及进行相关形式化分析提供了指导。回顾一 下,效用函数是用来形式化所假设的底层激励结构的工具。因此,我们的方法 具有可扩展性:如果识别或认为某些相关属性或动态是重要的(例如反映攻击 者的末日风险或诚实矿工的利他动机),则可以通过在效用定义中纳入相关事 件和奖励,或通过使成本和奖励成为时间依赖变量,来丰富激励结构。这一关 于加密货币理性方面的研究路线的总体目标是最终建立更详细的模型,并在假 设合理的情况下,对现实有更强的预测能力。

下面我们定义一个相对简单的激励模型,以具体展示我们的方法。我们将在接下来 的部分进行相关的理性分析。

为什么它有效? 53

小节,并观察到,尽管这是一个简化的模型,但我们已经可以从这种处理中得出一 些有趣的结论。

攻击者的效用

非正式地,该特定效用旨在捕捉攻击者的平均收益。考虑针对 给定对手 A,在环境、宽松账本功能以及整个实验的黑盒模拟器的视图上定义 的以下事件序列(即直到环境停止为止):

  1. 对于每一对(q, r)∈N²,定义事件W A q,r如下:模拟器在第 r轮次进行 q次挖矿 查询,即在第 r轮次中,它收到来自随机预言机针对不同消息的 q个响应。17
  2. 对于每一对(b, r) ∈ N²,定义事件IA b,r如下:模拟器在轮次 r将b个区块插入 账本状态中,且所有这些区块此前均为对手对(模拟的)随机预言机所进行的 查询。更正式地讲,当弱账本的扩展策略函数被成功调用,并输出一个包含 b 个非空区块的序列(待添加到账本状态中),且这些区块中的每一个均满足以 下两个性质时,IA b,r发生:(1) 该区块在过去曾出现在对手与模拟器之间的交互 记录中;(2) 该区块的内容在此前已作为对手对其(模拟的)随机预言机的查询, 出现在该区块首次出现之前的交互记录中。我们顺便指出,该事件定义确保了 模拟器(因而也包括对手)无法通过在某个参与方完成挖矿工作/查询之后、但 其区块被加入状态之前自适应地攻破该参与方来获得奖励。换句话说,对手仅 能从那些被攻破参与方在其已被对手控制期间所挖出的状态块中获得奖励。

现在,使用简化的基于事件的效用定义(备注1),我们定义攻击博弈中策略 组合(Π, A)的攻击者效用为:18

uAB(Π, A)= sup Z∈ITM{ inf SA∈CA{ ∑ (b,r)∈N 2 b · breward · CR · Pr[IA b,r] − ∑ (q,r)∈N 2 q · mcost · Pr[W A q,r]}}.

我们注意到,尽管上述求和在原则上是无限的,但在任何具体的执行中, 这些求和的非零项数量仅与协议中的轮数相同。事实上,如果实验在 r′轮次内 结束,则对于任意 r> r′,,Pr[IA b,r]= Pr[WA q,r]= 0对所有 b ∈N成立。此外,我 们假设breward,兑换率和mcost均为 O(1),即与安全参数无关。

17请注意,由于我们的理想世界是 Gclock ‐混合同步世界,根据协议定义和时钟值,轮次 结构可从模拟的理想实验中直接提取。此外,对手的挖矿查询可通过其与黑盒模拟器的 交互被直接提取。18回顾我们假设了如[2]中所述的同步执行,其中环境可决定希望观察 多少轮次。

54 C. 巴德特舍尔 等

上述表达式可以简化为以下更有用的表达式。设 BA表示对抗性矿工贡献 到账本状态的区块数量所对应的随机变量, QA表示对抗性矿工在整个随机实验 执行过程中对随机预言机进行的查询次数。那么对手的效用可以用这些随机变 量的期望值描述如下:

uAB(Π, A)= sup Z∈ITM{ inf SA∈CA{breward · CR · E(BA)−mcost · E(QA)}}.

设计者的效用

由于该博弈不是零和的,我们还需要正式定义协议设计者的效 用。回顾一下,我们假设,类似于攻击者,当诚实矿工将区块插入状态时,设 计者获得效用,而在挖矿(即查询随机预言机)时则消耗效用。此外,设计者 与攻击者激励的不同之处在于,设计者最重要的目标是确保区块链的“健康”, 即避免分叉。为了体现这一点,我们将为设计者设定一个成本:当模拟器被迫 请求宽松账本功能进行分叉时,该成本大于其可能获得的最大收益。这产生了 与设计者效用相关的以下事件。

  1. 对于每一对 (q, r), ∈ N²定义 WΠ q,r如下:诚实方作为一个集合,在轮次 r中 进行 q次挖矿查询。19
  2. 对于每一对 (b, r), ∈ N²定义 IbΠ,r如下:诚实方在轮 次 r共同向账本状态插入b个区块;即,模拟器在轮次 r向账本状态插入b个区 块,使得对于这些区块中的每一个,上述定义中指定的两个性质中至少有一个 不成立。20
  3. 对于每个 r ∈N,定义 Kr如下:模拟器在轮次 r使用 fork命令。

设计者的效用的定义类似于攻击者的效用,我们用SA表示将对手的实际效 用分配给对手的模拟器类(参见公式1):

uB D(Π, A)= inf Z∈Z{ sup SA∈SA{ ∑ (b,r)∈N 2 b · CR ·(breward· Pr[I Π b,r] −2polylog(κ) · Pr[Kr]) −∑ (q,r)∈N 2 q · mcost · Pr[W Π q,r]}}.

19请注意,尽管在 [2],的理想模型中没有随机预言机,但每当矿工在比特币协议中发出 此类查询时,相应的虚拟参与方会向账本功能发送一个特殊的 maintain-ledger命令, 使我们能够在理想世界中也统计挖矿查询的次数。20根据定义,这两个属性共同指定了 何时应将对手视为奖励的接收者。

但为什么它有效? 55

乍一看, 2polylog(κ) 的选择似乎有些随意。然而,它的存在是为了确保:如 果账本状态发生分叉(回想一下,这反映了对共同前缀性质的违反)且其概率 是显著的,那么随着 κ 的增长,设计者将受到超多项式高惩罚,从而使其期望 收益为负。另一方面,如果此类分叉的概率足够小(例如,处于 2−Ω(κ) 的量级), 则效用损失将变得可忽略。这一点,结合我们的稳定性概念会使得效用上的可 忽略损失无关紧要这一事实,将允许设计者有自由度提供略微不完美的协议, 即那些共同前缀性质以足够小的概率发生违反的协议。

我们将用 MB表示比特币攻击模型,该模型以 GlBedger为目标,〈GlBedger〉 为宽松功能,并通过评分函数分别为攻击者和设计者诱导出效用uAB和 uDB。

3.3 攻击‐收益安全性与激励相容

设计者和攻击者的效用定义完成了攻击博弈的规范。接下来,我们定义与比特 币相关的适当的安全性和稳定性概念,并讨论其含义。

我们从攻击收益安全[11],开始,正如前面提到的,它描述了对手没有动机 使协议偏离实现理想规范的协议(即偏离实现理想的[非宽松]账本功能的协议), 并且该概念在论证协议抵抗激励驱动攻击的能力时非常有用。然而,在比特币 分析的背景下,人们可能希望实现一种更强的激励驱动安全性概念,该概念不 是限制对手采用与理想账本 GlBedger相比[2]同样收益的策略,而是限制其以协 调但被动地方式参与,即遵循比特币协议规定的挖矿过程,包括在找到每个区 块后立即广播该区块,同时确保任意两个恶意参与者不会尝试求解同一个难题 (即使用相同的随机数)。

人们可以将上述策略视为对应于运行标准比特币协议的合作挖矿池。然而, 由于对手能够控制消息延迟,他可以确保每当自己与另一参与方在同一轮次找 到新区块时,自己的区块会首先被传播21,,因此会被添加到区块链中。需要注 意的是,诚实矿工并不具备类似的保证,因为在发生碰撞的情况下——即两名 矿工在同一轮次都解出了难题——发生碰撞的矿工无法保证哪个区块会被接受。

我们将这种遵守比特币挖矿过程但确保自身区块优先传播的对手称为 抢先交易。

定义2(抢先交易,被动挖矿对手)

抢先交易的对手策略 Afr规定如下:在轮次 中被激活时

这可以被视为针对网络延迟的一种“抢占”策略。

56 C. 巴德特舍尔 等

r> 0, Afr以轮询方式激活其所有(被动地)被攻破的参与方,例如 p1,…, pt。 当参与方 pi生成了需要通过网络发送的新消息时, Afr立即向所有接收者传 递 m该消息。22此外,在任何一次激活时,由诚实方提交到网络的任何消息都 将被最大程度地延迟。

注意,可能存在多种抢先交易的被动挖矿策略,具体取决于哪些参与方被攻破, 以及(对于自适应对手而言)被攻破的时间。我们将所有此类对手策略的集合记为 Afr。现在我们可以给出比特币的(强)攻击收益安全性的定义。该定义使用了博弈 论中标准的negl-best-response概念:考虑一个双人博弈,其效用分别为 u1和 u2。 对于 m1的一个策略 p1,如果对所有可能的策略 m′ 1, u1(m′ 1, m2),都有 ≤ u1(m1, m2)+negl(κ),则称该策略是相对于 p2的策略 m2的最佳响应。为了简洁起见, 在后续内容中我们将negl‐best‐response简称为最佳响应策略。

定义3

一个协议 Π在攻击模型MB下是 强攻击收益安全的,如果存在某个 A ∈ Afr,使得攻击者采用策略 A是设计者采用策略 Π的最佳响应(negl-最佳响应)。

备注3

值得注意的是,对于如此弱的一类对手,通常的区块链属性能够以非 常好的参数成立23:首先,公共前缀属性除了以可忽略的概率外均被满足(因 为没有人会故意引发分叉)。其次,在某个区间内(例如 k个区块)诚实方生 成的区块所占比例大约为 α α+β p<<1 ≈ (1−ρ)np 1−ρ ()np+ρnp =(1 − ρ),因此,期望 值上链质量对应于诚实方的相对算力。最后,由于对手也将其算力贡献给主链, 因此链增长 k个区块所需的轮数期望值为 k α+β p<<1 ≈ k np 。

因此,安全性意味着如果诚实方遵守协议,则对手没有偏离协议的动机。 然而,与[11],中的零和博弈不同,在非零和情况下,这并不意味着设计者 有 动机遵守协议。这意味着该定义可用于回答以下问题:假设网络继续挖矿,部 分矿工是否有动机偏离协议,但它并未解决为何诚实矿工 会持续挖矿的问题。 为了解决这个问题,我们采用激励兼容性 (IC)的概念。

非正式地说,一个协议具有激励相容性意味着攻击者和设计者都愿意遵守该协议。换句 话说,它是强攻击收益安全的——即如果诚实方遵守该协议,对手也会运行该协议——且 如果对手被动地参与(并进行抢先交易),那么诚实矿工将有动力遵循协议—— 即该协议是设计者对被动抢先交易对手的最优回应。我们注意到,要求比特币 在整个可能协议类别下满足激励兼容性,意味着需要证明比特币不仅是一个矿 工愿意遵守的协议,而且不存在其他他们更愿意参与的协议。这一要求显然过 于严格,尤其考虑到已有研究结果[13,28]指出存在其他“更公平”的区块链协 议能够提高矿工的预期收入。因此,我们只能希望对可能协议的一个子类做出 此类声明,从而设计出一种激励兼容性定义,该定义以所有可接受的偏离(即 替代协议)集合为参数˝。为了具有充分的一般性,我们还将其相对于可接受对 手的类别进行参数化A,但强调本文中的所有结论均针对所有(PPT)对手的类 别。

为了给出激励兼容性(IC)的正式定义,我们首先对均衡(在本例中为子 博弈精炼均衡)在策略子集上的限制进行直接描述。

定义4

设 ˝和A分别为设计者和攻击者的可能策略集合。我们称策略对(Π, A) ∈(˝,A)在由模型 M定义的攻击博弈中是一个( ˝,A)‐子博弈精炼均衡,如 果它是在受限攻击博弈上的(negl(κ)-)子博弈精炼均衡,其中设计者(相应地, 攻击者)所有可能偏离策略的集合为 ˝(相应地,A)。

参数化激励兼容性(IC)的正式定义如下:

定义5

设 Π为一个协议, ˝为一组可访问与 Π相同混合系统的多项式时间协议。 我们称 Π在攻击模型 M下是 ˝‐激励兼容的(简称为˝-IC),当且仅当存在某个 A ∈ Afr,使得(Π, A)在由 M定义的攻击博弈中构成一个(˝,ITM)-子博弈精炼均衡。

4 无交易费用的比特币分析

在本节中,我们将针对前一节定义的具体激励结构,对比特币进行RPD分析。 需要注意的是,该激励结构并未体现来自交易费用的奖励,因此每块奖励是恒 定的。首先,在第4.1节中,我们证明比特币具有强攻击收益安全——即如果设 计者遵循协议,攻击者也最好同样遵守协议(但以抢先交易的方式)。该结果 独立于诚实矿工与对抗性矿工之间计算能力的分布,且独立于兑换率以及 breward和mcost的取值。

随后,在第4.2节中,我们研究了挖矿成本、兑换率与区块奖励在存在由激 励驱动的协调联盟(例如,效用最大化的矿池)的情况下对比特币稳定性(即 激励兼容性)的影响。我们提出了这些值的条件,使得诚实方的效用为负—— 从而使得遵循比特币协议成为次优选择

58 C. 巴德特舍尔 等

协议设计者最优在所有与比特币网络兼容的、仍可能偏离标准协议的操作中 (即生成有效的区块链);结合第4.1节的结果,我们推断,在该参数范围内, 比特币是激励相容的。

4.1 比特币的攻击‐收益安全性(无手续费)

比特币在无手续费情况下的攻击收益安全性在以下定理中陈述。

定理2

比特币协议在攻击模型 MB中是强攻击收益安全的。

证明。该定理是以下一般引理的直接推论 .

引理2

对于任意对手策略,均存在一种抢先交易的半诚实挖矿对手 A ,其能 够实现更高的效用。特别是,该对手策略 A在每轮中进行的随机预言查询次数 达到现实限制所允许的最大值,而使其效用最大化的环境Z是在每轮中首先激 活 A作为第一个ITM,直到 A停止运行。

证明思路。 该引理的证明包含三个步骤。首先,我们分析现实世界中的[11, 定理 6],所提出的子程序替换定理,使我们能够进入一个混合世界,在其中可 以轻松计算相关值,例如对手在给定轮次区间内能够挖到的区块数量(该混合 世界即所谓的[2]的状态交换混合世界)。其次,我们通过通用论证表明,这种 对现实世界的分析足以计算攻击者在理想世界交互记录上定义的收益。最后但 同样重要的是,我们分情况讨论:对手的期望效用是否小于零(此时他不会腐 蚀任何参与方,也不参与网络),或者挖矿对比特币攻击者而言是否有利可图。 在这两种情况下,我们都证明了对于任意攻击者 A,我们可以构造出一个具有 更高效用的抢先交易且半诚实的挖矿对手。该引理的形式化证明见完整版本[1]。

4.2 比特币的激励兼容性(无手续费)

我们通过研究比特币的激励兼容性(IC)如何依赖于奖励与兑换率之间的关系 来展开分析。具体来说,我们描述了一个IC的充分条件(定理4)以及一个使其 不满足IC的条件(定理3)。我们首先介绍负面结果,非正式地说,如果相对于 预期奖励而言预期成本过高,则比特币不满足IC(尽管如前所述它具有强攻击 收益安全性)。与之前一样,我们用 p表示使用一次随机预言机查询(或等价 地,一次对状态交换功能的查询)成功解决工作量证明(从而成为扩展账本状 态的候选者)的概率。

为什么它有效? 59

定理3

对于 n> 0和 breward· CR< mcost p ,比特币协议不是激励相容的。

该证明是对设计者每轮次效用的直接计算。在上述条件下,该期望值小于 0,因为他们花费在查询上的成本(平均而言)超过了奖励所补偿的部分。因此, 最佳响应将是一个不采取任何行动的协议。

尽管上述条件表明,对于所有奖励、成本和兑换率的选择,比特币协议并 非都是稳定解,但我们接下来将提供一些条件,在这些条件下,标准的比特币 协议在攻击博弈中实际上是一个稳定解。为此,我们需要将其与为比特币网络 生成有效区块的任意替代策略进行比较。非正式地说,我们对激励兼容性的条 件要求兑换率和breward明显高于成本。

定理4

考虑由随机预言机功能 FRO、扩散网络 FN-MC以及时钟 Gclock构成的 现实世界,并设 Wflat(·)为形式化平坦模型限制的包装器。24考虑一类协议 ˝isvalidchainH,d(·),这些协议定义于Π针对 Wflat(Gclock, FRO, FN-MC)-混合世 界的协议,并且与比特币网络兼容,即满足以下两个限制:

  1. 以概率1,现实世界记录(即 Π、任何环境和对手的现实世界UC执行)不包 含满足 isvalidchainH,d(C)= 0 的链 C ,且该链是由运行 Π 的未被破坏的 协议实例向网络输出的。
  2. 当向协议实例输入(read,sid)时,返回值为(read,sid st T)(对于某个整数 T), 其中 st T表示该协议实例接收到的最长有效链 C中编码的状态 st的前缀。

关于类˝isvalidchainH,d(·),如果比特币是有利可图的,如引理3所述,即如果 我们处于区域 breward· CR> n·mcost p ,并且如果

breward· CR> mcost p ·(1 −p)n−1 . (4)

备注4

公式 4比单纯的挖矿应有利可图这一条件(我们在引理3中为完整性单 独讨论)提出了更强的要求。该定理表明,一个固定矿工唯一成功的概率与挖 矿成本和区块奖励之间存在合理的关系,以实现稳定解。尽管在breward ·CR > n·mcost p 的情况下,比特币已能为协议设计者带来正效用,但对于较大的 n, mcost p · n ≤ mcost p ·( 1 1−p )n−1(对于 p ∈(0, 1))。

24回顾[2] ,我们通过使用功能包装器来建模限制。上述实现的限制对应于所谓的比特币 扁平模型,在该模型中,每个参与方每轮次对随机预言机有一次查询,并且每轮可以发 送和接收一个消息向量。

60 C. 巴德特舍尔 等

证明思路。 该证明通过一系列声明来展示比特币协议(即我们对其的抽象)在 定理条件下选择的实际方案是最优的。这包括证明所假设的资源无法以一种为 协议设计者带来更高收益的方式被利用。直观上,如果协议必须与比特币网络 兼容(即,它必须以概率1生成有效链),并且需要投入其资源,在已知自己正 与运行比特币的抢先交易对手(例如矿池)对抗的情况下,实现最优的奖励与 查询比率。根据协议可能每轮次独立运行这一事实推导出几个有用的性质,并 通过计算(并最大化)可能的查询与奖励比率的分布,可得出在定理条件下的 最优性。形式化证明见完整版本 [1]。

我们注意到上述条件不一定具有紧致性。因此,人们可能会好奇我们是否 能够证明或反驳其紧致性,在后者情况下则需探究使这些命题成立的紧致条件。 本节最后给出如下引理,作为研究这一差距的初步部分尝试。该引理表明,即 使对于落在上述定理之间间隙中的参数值,仍有可能证明(部分)激励兼容性。 我们将从稳定性角度对该间隙进行彻底研究作为未来的研究方向。

引理3

如果 breward· CR> n·mcost p那么比特币协议在存在抢先交易对手的情况下, 以压倒性概率为协议设计者产生正效用

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值