万字长文 | BTC安全性模型与不断下降的区块补贴

[复制链接]
7460 |0
发表于 2019-11-15 09:18:10 | 显示全部楼层 |阅读模式
Hasu、James Prestwich、 Brandon Curtis 文
本文由币信研究院原创编译,原文链接:
https://uncommoncore.co/wp-content/uploads/2019/10/A-model-for-BitDavincis-security-and-the-declining-block-subsidy-v1.02.pdf
本文版权归原作者所有,仅代表作者本人观点,不代表币信或币信研究院的观点或立场。
本文约17000字,阅读全文需约40分钟。

随着区块奖励的不断降低,BTC在未来的安全性是否能得到足够的保障一直是我们关注的一个重点。
上个月,Hasu、James Prestwich和Brandon Curtis对这个问题进行了全面的论述。鉴于这个问题的重要性,我们对该论文进行了细致的全文翻译。全文如下:
我们感谢 Anthony Towns、Arjun Balaji、Brian Venturo、David Vorick、Joe Kendzicky、Lucas Nuzzi、Matthew Hammond、Nic Carter、Philip Daian、Steve Lee、Su Zhu、Tarun Chitra 和 Yassine Elmandjra 的编辑和很多有价值的想法。本论文进一步受到了 Andrew Miller、Arvind Narayanan、Ed Felten、Elaine Ou、Emin Gun Sirer、Eric Budish、Eric Lombrozo、Eric Voskuil、Fernando Nieto、Ittay Eyal、Joseph Bonneau、LaurentMT、Nick Szabo、Paul Sztorc 和 Raphael Auer 的优秀论文、博文和推文的启发。如果一个应用或一个协议在对抗性环境中实现了它的目标,包括抵御那些愿意花费大量资源来损害系统的行动者,我们就将其称之为“安全” 。不幸的是,没有一种系统可以抵御万能的攻击者。因此,务实的安全性方法是最大化根据协议采取行动的动机,同时最小化针对协议采取行动的动机。BTC的目标是建立这样一种支付系统:
1)任何人都可以参与(无需许可的访问),
2)只有合法拥有者才能花掉币(安全),并且
3)所有有效交易最终都将进入账本(活性)
这些属性现在已经存在了10多年,表明BTC在实践上是安全的。另一方面,在理论上,BTC通常无法产生相同的保证。这导致学者们称其为“不完整的(broken)1 ” 和“ 注定失败的(doomed)2 ”,等等。
在本文中,我们希望通过引入我们的BTC安全模型来弥合理论与实践之间的鸿沟。我们证明了BTC目前可以承受非常高的攻击激励,这是少数出人意料的因素的作用。我们进一步证明了为什么学者们提出的许多攻击对矿工来说是不理性的。
在下半部分,我们证明了,相比任何外部攻击者,对BTC安全性的最大威胁更多在于协议本身。作为BTC固定发行计划的一部分,区块补贴计划的不断降低,将导致矿工的可预见收入降低。如果没有发展出一个健壮的区块空间市场,我们解释了为什么区块奖励的下降将对未来构成重大的风险。与普遍的看法相反,用户无法仅通过等待更多确认来弥补这一点。
最后,我们提供了思考该问题的一些一般方法,包括一些可供社区讨论的改进建议。

1. 为什么BTC需要挖矿

在过去的支付系统中,需要一台或一组受信任的中央服务器来处理交易。事实证明,这是一个重要的故障点,因为中央验证者通常会失效,或被迫排除某些人群或某些类型的交易。因此,一个旨在提供无需许可的访问的系统不能使用中心的一方。中本聪看到了这样一个解决方案,用扁平的点对点模型——该模型已经在诸如 BitTorrent 之类的极具弹性的分布式网络中证明了其价值——来代替流行的客户端-服务器模型。
借助公钥加密技术,我们已经可以证明和验证消息的所有权。在BTC中,一个币的所有者可以用他的私钥签名一条消息。然后,网络中的其他节点可以使用发送人的哈希公钥来验证消息,以证明消息确实有效。这满足了BTC系统中的“安全性”要求。但是,当节点收到两条分别有效但彼此不能同时有效的冲突消息时(例如,当某人尝试两次花同一枚币时),公钥加密几乎没有帮助。
BTC通过用一组计算能力的签名(节点可以遵循这些签名来在单条链上进行协调)来替换受信任的服务器的签名,从而优雅地解决了这个问题。节点可以高度信任此签名,因为它的生产成本很高,并且此成本很容易被验证。当节点从矿工那里收到两个相互冲突的签名时,他们会通过偏向价格更高的签名来区分它们。这种“分叉选择规则”现在被称为中本聪共识(Nakamoto consensus)。
贝克(Back)、科拉罗(Corallo)等人首先提出了将BTC挖矿视为动态多方成员身份签名(dynamic multiparty-membership signature,DMMS)的想法。3 DMMS 是由一群可变的匿名签名者——他们可以随时加入和离开——组成的签名。他们对BTC网络的算力份额加权了他们对签名的贡献。这些签名是累积性的,因为每个块都引用前一个块,从而创建了区块链。
计算签名的创建过程如下:首先,矿工通过生成随机输出来执行负载计算。当这些输出落入特定范围时,其他节点可以以此为依据,证明虚拟骰子必然已经被掷出了一定的平均次数(类似于必须将一个 1000 面的骰子平均掷出 100 次才会产生一个介于 1 到 10 之间的数字。4)接下来,一个矿工将其区块(包括工作量证明)发布给网络的其余部分。如果满足共识规则,则其他节点会将其添加到其区块链中,并以区块奖励和该区块中的所有交易费来补偿获胜的矿工。
1.1 密码学的局限性
虽然矿工在构建自己的区块上有一定的自由度,但他们不能给自己多发币,不能在同一条链上窃取别人的币,甚至无法追溯性地改变区块的收益。矿工必须像其他任何节点一样遵循BTC协议,并且节点会自动拒绝任何破坏协议的尝试。
但是,协议在一些重要方面无法通过密码学强制执行。一个节点不知道两笔互相冲突的交易里哪一笔是有效的,或者两条互相竞争的链里该支持哪一条,因此用户依赖于分叉选择规则在单条链上进行协调。虽然分叉选择规则是BTC保持共识所必需的,但它也赋予了矿工相当大的权力,而该权力不受协议本身的管控(且不可管控!)。
最著名的“激励失败”是双花攻击,多数矿工首先用BTC在原链上购买非BTC商品或服务。一旦他不可逆转地得到了商品或服务,他便产生一条更长的链,在这条链上该交易从未发生过,最终他钱货双收。勤奋地遵循最昂贵签名的节点会自动切换到新链,即使它包含了链下盗窃或其他恶意行为。
由此可见,诸如加密签名之类的“硬”协议规则不能完全确保交易排序的安全——它也依赖于对矿工的“软”经济激励来发布服务于BTC用户的更新。

2. 为BTC的安全性建立模型

如果用户不能信任协议来强制执行“正确的”交易历史,他们如何才能知道一笔交易是不可更改的(final)还是将来会被矿工撤消?在传统的金融系统中,交易是不可更改的,因为法律禁止将其撤消。在BTC中,法律无法覆盖矿工,矿工可以是匿名的,可以在世界任何地方运营,并可以随时加入和退出网络。
如果这对矿工们有利可图,那么我们就该认为他们会一直撤消交易,包括为此付费的其他人的交易。因此,用户不应将一笔付款视为不可更改的,除非撤消它无利可图。民间智慧已将这个问题表示为“一个人必须等多少次确认才能让一笔付款变成不可更改的”。我们证明了为什么额外的确认对BTC的安全性没有多大意义。相反,安全性主要是两个简单因素的结果。
2.1 安全假设
我们首先要设立一个基本的支付系统,该系统有 12.5 比特币 的区块补贴且没有交易费。挖矿所需的所有硬件和算力都可以按需租用,因此矿工对BTC网络没有长期的承诺。他们的行为不会影响BTC的交易价格,也没有用户会忽略中本聪共识选出的最昂贵的链。所有模型均使用BTC作为基础货币。
我们把遵循协议(或“诚实挖矿”)的BTC价值定义为 EV(诚实挖矿)
比如,在一个持续 10 个区块的例子里,矿工收入(MR)将是 125 比特币。假定矿工之间免费进入挖矿并完全竞争,我们可以认为整个矿工会花 125 比特币的开采成本(MC) 来赢得这个奖励。
等式 1挖矿收入(MR) - 挖矿成本(MC) = 0

等式 2EV(诚实挖矿) = MR - MC

因此,诚实采矿的 EV 被确定为 0 比特币的基线。
矿工可提取价值(Miner-extractable value,MEV)描述了一个矿工希望从他的攻击中赢得多少比特币。这一概念是达扬(Daian)、高德菲尔德(Goldfeder)等发明来描述矿工从智能合约中可提取的价值的5,但我们将其扩展到涵盖矿工通过操纵共识或交易订单可提取的任何价值。
重要的是,MEV 并不描述单个用户可以在一个区块中安全地交换多少,因为攻击者可以一次双花许多不同的用户。它甚至并不描述所有用户可以安全地在一个区块里交换多少,因为攻击者可能跨连续多个区块双花。MEV 描述的是攻击者的全部价值,对于等待六次确认的用户来说,攻击者的最低攻击持续时间为七个区块。因此,仅根据自己的个人交易来计算 MEV 的用户将低估矿工实际激励的数量级。
攻击挖矿的最终 EV(例如,双花)可以被建模为:
等式 3EV(攻击挖矿) = MEV + MR - MC

只要 EV(诚实挖矿) > EV(攻击采矿),一个理性的矿工就将遵循协议而非攻击它。
因此,我们可以推导出,EV(诚实挖矿) > EV(攻击挖矿) 是BTC确保对理性攻击者安全的必要条件
由此推论,EV(诚实挖矿)和 EV(攻击挖矿)之间的区别描述了BTC对非理性(“拜占庭”)攻击者——他们不关心利润,但会出于任意原因攻击BTC——的耐受性值得注意的是,这种耐受性不必包括攻击者直接从攻击中获取的价值,例如,对BTC价格下重注而获得的价值。MEV 已经捕获了任何此类价值。
在这个简单的模型中,我们甚至不需要谈论拜占庭式攻击者。该系统已经无法抵御一个理性攻击者了,因为任何 MEV > 0 就足以让攻击比诚实挖矿更具吸引力。假设一名矿工可以从一次持续 10 个区块的攻击中提取 100 MEV,我们可以看到
示例1:EV(攻击挖矿) = MEV + MR - MC = 100 + 10 - 10 = 100; 100 > 0,因此BTC不安全
这一发现与直觉相吻合,因为攻击链对攻击者来说并没有实际成本。它的预算要求仅为 10 比特币。在攻击成功之后,他花在攻击上的所有资源都回本了。这里有三个值得注意的警告:
1)如果攻击者必须使他自己的某些区块无效,那么攻击将开始具有实际成本,因为他的有效 MR(攻击)下降,而 MC 保持不变。
2)如果少数矿工(“防御者”)继续挖原链,他可以增加攻击的持续时间。但是,只要攻击者最终赶上来,这不会降低其 EV;它只会提高预算要求。防御者的资源将被浪费。
3)在此模型中,我们假定攻击者具有多数算力,或者几个较小的攻击者之间的协调没有成本。在现实世界中,协调是有成本的,如果矿工对 MEV 的价值或需要的攻击持续时间意见不一,则协调的成本可能会增加。
2.2 市场治理
俗话说,作为经济行动者,我们一直在投票——通过在某些事而非其他事上花钱。区块链也是市场,因此,当用户(消费者)买卖BTC时,他们不断投票支持矿工(生产者或服务提供商)以某种方式行动。当用户对矿工提供的服务不满意时,对支付系统的信心可能会下降,与攻击前相比,BTC的交易价格可能会下降。
我们定义 p(攻击后价格)为攻击后的相对 比特币USD 价格,例如,95% 的攻击后价格表示的价格在攻击中下降了 5%。
等式 4EV(攻击挖矿) = p(攻击后价格) * (MEV + MR) - MC

在更新的等式中,由于BTC价格因攻击而下降,MR(区块奖励 + 交易费)和 MEV 都变小了,而 MC(攻击挖矿)保持不变。虽然在这里使用BTC而非法币作为基本单位可能并不常见,但我们发现推理起来更容易。实际上,在攻击后矿工的名义BTC并没有减少,但是由于它们损失了 5% 的购买力,因此他只能将其换成 95% 的攻击前BTC。
由于引入了市场治理,因此,只要 MR(诚实挖矿)大于 p(攻击后价格) * (MEV + MR(攻击挖矿)) ,则 EV(攻击挖矿)现在将无利可图。
等式 5EV(攻击挖矿) < 0,如果MR > p(攻击后价格) * (MEV + MR)

由此,我们可以得出系统安全的三种方式:
1)MEV 可以低,例如,因为很少有人在用BTC交易,或者用户在没有额外保证比如知道买家身份的情况下,不考虑最终支付。
2)p(攻击后价格)可以低,这意味着用户需要对BTC应该是做什么的非常敏感,并且,需要愿意转换到竞争对手,如果矿工停止做他们的工作。这有点像一个“站队”的参数,因为如果让BTC的价格崩溃很容易,其他形式的攻击(例如破坏活动)将变得更具吸引力,从而增加了 MEV。6
3)MR 可以高,因此,p(攻击后价格)对 MR 的影响开始超过来自 MEV 的潜在增益。
2.3 矿工承诺
到现在为止,我们做出了不切实际的假设,即挖矿所需的所有东西都可以按需租用(该观点主导了关于BTC安全性的学术评论。)实际上,挖矿并非如此。在一个激烈竞争的模型中,矿工们都在跑步机上奔跑。如果一个矿工加快速度,并以相同的成本并增加其收入,那么其他矿工就必须跟上步伐,否则就有可能完全破产。挖矿几乎没有可持续的护城河。结果,矿业的工业化速度可能超过历史上任何其他行业。
随着矿业的工业化,寻找一个区块的单位成本变得越来越重要。有几种降低企业单位成本的方法:
1)如果生产设施的运营低于产能,则企业可以卖更多产品,用更多的商品来分摊其经营费用。在挖矿中,每份算力都有BTC网络作为自动买家,因此这里没有什么要优化的。
2)该业务可以减少生产的日常材料成本。挖矿的等效目标是不断寻找更便宜的能源,更好地散热或冷却以及制造优化。
3)企业可以通过使其生产设施专业化来降低经营费用。在BTC挖矿中,这导致硬件针对一项工作进行了越来越多的优化:哈希 SHA-256。此硬件无法再挖BTC的那一刻,它实际上一文不值。值得注意的是,这甚至适用于ETH等大型显卡(GPU)挖矿网络。即使可以使用通用硬件来挖ETH,对 显卡 的需求也不足以使供应突然骤然饱和。如果ETH的价格崩溃,ETH矿工的承诺也将失去其大部分价值。
4)矿工还可以通过签订越来越长的购电协议(PPA)来降低单位能源成本。
因此,为了降低单位成本来开始竞争性的挖矿,一名理性的矿工需要高度专业化的硬件,并且需要对网络采取长期的看法。矿工的专业化程度越高,其资产和支出就越不能改变用途。从等式 1 中,我们知道 MR + MC = 0。这意味着,我们可以从挖矿总收入中得出采矿总成本,这仅仅是所有区块奖励的总和。
矿工必须预先承担多少费用?在与BTC矿工和专家交谈之后,我们得出了一个粗略的估计,即普通矿工,乃至整个采矿业,其总成本中约有 50% 属于此类不可改变用途的资产。此外,我们了解到,这些资产平均会在 24 个月内折旧。
如果我们以此假设运行,那么整个矿业将获得一整年的区块奖励(两年* 50%),承诺在未来两年内挖BTC。在 12.5 比特币的区块奖励下,等于 658800  比特币。
换句话说,在矿工们开始挖矿前,他们不得不*预先*购买他们期望在两年时间内挖出的所有币的50%
在这些币到手之前,任何有损于其价值的事都极具破坏力。
因此,我们可以说,矿工们都在坚定地致力于以最大化BTC价值和网络效用的方式挖BTC
等式 6EV(攻击挖矿) = p(攻击后价格) * (MEV + MR) - MC - [1 - p(攻击后价格)] * 承诺

在第一个例子里,算力仍然可以是租来的,95% 的 p(攻击后价格),对 MR 的影响只是持续 10 个区块的攻击。一旦矿工承诺了BTC,同样的价格下降影响整整一年的收入——52704块!5%的价格下降,在所有矿工来说现在将消灭相当于攻击前的 32940 比特币。
值得注意的是,攻击者无需拥有 100% 的算力即可使攻击成功。如果他用 60% 的算力进行攻击,那么他自己的承诺将仅占总承诺的 60%,即 395280 比特币。
示例2:EV(具有60%算力和100 MEV的10个区块的攻击) = 95% * (100 比特币 + 10 * 12.5 比特币) - (100 * 12.5 比特币) - 5% * 395280 比特币 = -19.675 比特币
对于一个具有 60% 算力的攻击者而言,MEV 大约为 21000 比特币,即按今天的价格计算为 1.87 亿美元,才能使攻击有利可图7。对 MEV 的高耐受性表明,今天的BTC网络确实安全。这些研究结果可以推广到所有使用 PoW 的加密货币,并说明矿工支出不可改变用途对安全来说是多么的重要。
2.4 暂停中本聪共识
我们已经证明,BTC网络今天可以耐受大量的 MEV,这为攻击获利制造了巨大的障碍。但是,为了完善我们的BTC安全模型,我们需要更新剩下的最后一个假设,也就是BTC用户永远不会质疑中本聪共识。
用户正在市场上寻求最小化信任的信号,该信号使他们可以在单条链上进行协调。他们为这些信号花费大量金钱,因为这样做比协调任何其他方式(例如,通过直接相互交谈直到出现类似的共识)都便宜。
但是,这并不意味着即使大多数用户对矿工不满意,用户也一定会遵循矿工产生的信号。BTC历史上有很多先例,用户忽略了中本聪的共识,因为由此产生的链条不再代表他们已签署的社会契约。
2010 年,区块 74638 中的整数溢出错误导致创建了高达 1840 亿个 比特币,比应该存在的 2100 万大得多。在三个小时内,中本聪发布了一个没有错误的新BTC客户端,“回滚”了这条超通胀的链。8
第二个例子是 2013 年的 0.7/0.8 共识错误,该错误让区块链在几个小时的时间里一分为二。当时最受欢迎的BTC实现 BitDavincid 新近发布了 0.8 更新。开发者并不知道的是,新软件还对共识规则进行了微小的改动,这导致区块 225430 与较旧的客户端不兼容。在BTC开发者和矿池们决定暂时中止分叉选择规则后,分叉得到了解决。他们手动支持了 0.7 分支并放弃了 0.8 链,这要求矿工们放弃 0.8 链中的任何区块奖励,以最大化网络的整体效用。9
最后,最著名的例子可能是2017年的用户激活软分叉(UASF)运动。代码发布一整年后,大多数矿工仍拒绝采用隔离见证(Segregated Witness)更新——可能是因为它破坏了 ASICBoost,一种提高挖矿硬件效率的专利技术10。为了无论如何也能推动这一改变,一些BTC用户安装了一个客户端,该客户端再次有了中止中本聪共识的威胁,因为它忽略了在某个日期之后拒绝 SegWit 的矿工的区块。如果矿工们任其发生,那将导致主网上的有争议分叉。BTC的效用和价值受到的威胁严重触及了矿工的底线,他们最终放弃了对 SegWit 更新的抵制。
这些示例表明,最终,用户将领导矿工。当他们不同意哪种治理决策将最大程度地利用整个网络效用时,用户可以运行自定义代码(例如 invalidateblock 参数)来暂时中止中本聪共识,从而“剥夺”矿工的权力。
即使满足协议规则,攻击者也必须考虑用户拒绝其链的风险。
我们将 p(遵循中本聪共识)定义为用户协调链下中止中本聪共识的概率。从攻击者的角度来看,这进一步降低了潜在报酬,而他的成本保持不变。
等式7EV(攻击挖矿) = p(遵循中本聪共识) * p(攻击后价格) - MC - [1 - p(攻击后价格)] * 承诺

由于中止中本聪共识在攻击持续时间内仅影响 MR 和 MEV ,而对矿工承诺则没有影响,因此,中本聪共识中止所带来的安全性少于市场治理。但是,从理论上讲,用户不仅可以改变交易历史,还可以改变核心协议规则。如果有共识将挖矿算法从 SHA256 变为其他算法,则即使BTC价格不跌至零,用户也可能立即使整个矿工承诺无效。这使得社会干预成为抵御主动尝试降低BTC价格或破坏网络的攻击者的非常有用的防御手段。
2.5 总结
通过构建此模型并用真实数据填充它,我们可以获得一些关键的见解。
1)为了获得高度的安全性,在用户视为不可更改的任何持续时间内,诚实挖矿必须比攻击挖矿更有利可图。
2)如果用户希望能够进行大笔交易,则必须允许 MEV 高。
3)系统耐受高 MEV 的能力取决于矿工从恶意行为中受到惩罚的规模。用户可以通过两种主要方式惩罚矿工:
a)首先,他们可以出售部分或全部BTC。当 比特币USD 的交易价格下跌 10% 时,矿工损失以攻击前BTC计的承诺价值的 10%。
b)其次,用户可以链下协调来暂时中止中本聪共识。
4)为了让惩罚潜力变大,矿工的承诺必须很大,并且用户卖币的意愿必须很高。
5 )矿工承诺的规模是一个关于矿工收入(MR),承诺成本占总成本的比例,及其折旧时间表的函数。
6)如果我们保持承诺成本、折旧时间表和卖币的意愿不变,则 MR 是 MEV 耐受度的决定因素,并因此是网络可以支持多少用户活动的决定因素。
我们邀请任何人根据自己的条件下载并试用我们的模型。11

3. 挖矿攻击

接下来,我们想知道,根据我们的模型,对BTC系统的最主要攻击将如何进行。
BTC网络上可能发生的攻击在很大程度上取决于攻击者拥有多少算力。从理论上讲,一名矿工只需拥有 30% 的算力,就可以进行自私挖矿(selfish mining)或固执挖矿(stubborn mining)之类的操作,用战略性的隐瞒区块来赚取超过矿工收入公平份额的收入(译者注:自私矿池挖出新块之后, 暂不发布这个区块, 而是继续挖下一区块, 当发现网络上别人也挖出新区块时再发布这个区块, 以获得更高的收益)。据我们所知,到目前为止,在BTC中尚未发现这些策略。我们的模型表明,矿工采取可能降低公众对BTC信任度的策略确实是非理性的,因为即使价格小幅下跌也会破坏其承诺的价值,这会大于他们希望获得的 MEV。
至少有一个数据点支持这一理论。2014年,GHash.io 矿池(通过零手续费政策吸引矿工来)反复试探 >50% 的算力,甚至涉嫌参与双花热门的博彩网站 BetMaximine Dice12。随着有关矿池中心化的消息在BTC社区传开,人们对该系统的信任开始动摇。几个重要人物公开出售了部分BTC13。
之后,个体矿工大量逃离矿池来保护他们的投资。在那之后,没有任何一个矿池敢于再次接近这种算力水平。矿工似乎已经意识到,任何形式的市场恐慌都会对他们的底线产生极大的不利影响。
在这里,我们可以看到拜占庭模型与理性模型之间的差异:在拜占庭模型下,一旦矿工的算力 > 50%,BTC就变得不安全。但是,在复杂的世界中,BTC的稳定状态很可能是算力垄断。目前可能存在垄断,我们无法反驳。查看所有参与者的动机可以表明,BTC不会因为存在多数矿工(majority miner)而自动失败。用户仍然可以通过该矿工的激励来构建自己想要的区块。
当一名矿工拥有超过 50% 的算力时,他就可以确定,他提出的任何链最终都将成为中本聪共识中的标准链。这种确定性是对BTC用户进行更严重攻击的前提。这些攻击可分为两类:双花攻击和破坏攻击。

3.1 双花攻击
在双花攻击中,攻击者把一条他用BTC做过大量购买的链,重组替换为他仍拥有商品但从未付款的版本。
我们的模型表明,BTC价格的小幅下降可以让即使是大规模的双花攻击也变得不可行,因为 MEV 的收益必须高于对矿工承诺的损害。此外,该矿工还必须考虑,用户会中止中本聪共识,从而完全否定他的奖励。
随之而来的是,双花攻击者希望最大程度地减少网络中可感知的和实际的中断,以免触发任何上述惩罚措施。他可以通过将重组保持少于 100 个区块来开始,在这里原链的 Davincibase 奖励可被用于花费。如此深入的重组将不再仅仅影响个体用户,而是实际上摧毁了币及其后代,可能让多于预期的交易无效。一名外科手术式的攻击者会尽可能地重放每一笔交易(包括 DACbase 输出在内)来重新创建完全相同的历史记录,只有双花交易不同。
考虑到所有这些限制,孤立的双花攻击在近期极不可能成为理性矿工的选择。

3.2 破坏攻击
与孤立的双花攻击不同,破坏攻击者无意在BTC系统内赚钱。结果,他根本不考虑用户的惩罚。相反,一名破坏攻击者可能试图让价格崩溃并让用户对BTC失去信心。对于做空BTC价格的人,或者为了捍卫受到BTC存在威胁的现有收入流的人来说,破坏攻击可能是理性的。这样的收入流可能是法币系统的铸币税,也可能是国家收税的能力,而BTC允许用户对地方政府隐藏资金。这种方案也恰当地被称为“金手指进攻”,以詹姆斯·邦德里的恶棍命名,他计划玷污诺克斯堡的所有货币来让自己的黄金更有价值14。
为了最大程度地削弱用户对系统的信任,攻击者应专注于逐一废除我们为BTC建立的设计目标:安全性、活性和无需许可的访问。
实现这一目标的一种方法是建立挖矿垄断,并完全停止处理任何交易。如果愿意,任何多数矿工都可以通过简单地忽略少数矿工所挖的区块来建立垄断。因为他肯定最终会领先,所以少数矿工暂时添加的区块将在以后重组。相比不处理任何交易,垄断矿工也可以通过设置一个最低手续费来勒索用户,或建立自己的规则来决定处理哪些交易。例如,他可以忽略所有未通过他私人 KYC/AML 检查的交易。用户可以通过三种基本方法来防御这种审查攻击。
1)我们应该确立,来自审查的损害等于被审查用户在系统里的退出成本。BTC存在的替代品越多,退出成本就越低,而首先审查BTC用户的动机就越低。类似的逻辑适用于出入口匝道,就像去中心化交易所一样。这里有一个有趣的难题:尽管BTC上强大的 KYC/AML 层使盗窃的吸引力降低(来自 Bitfinex 黑客的币被列入了黑名单),但它也使系统更容易受到审查。另一方面,一个没有任何身份概念的系统会增加盗窃的动机,但减少了审查的动机。
2)当交易被审查时,攻击者处理的交易减少,被审查用户开始增加未处理付款的交易费。结果,在 MR(诚实挖掘)和 MR(攻击挖掘)之间开始形成传播。被审查用户此时可以有效地自由滚动,并且可以随着时间的流逝提高交易费,直到他们消耗掉几乎所有余额为止。这些交易费的差额可以转化为对诚实多数挑战现有挖矿垄断并可能将其推翻的丰厚奖励。
3)最后,用户可以协调以暂停中本聪共识并进行规则修改来惩罚垄断矿工。一种作为最后手段的改法就是将工作量证明算法从 SHA256 改为一种尚未被攻击者支配的算法。垄断矿工也可以重复重组该链,而不是用无用的区块来扩展工作量最大的链,但是其效果和处理方法在很大程度上是相同的。

4. 不断降低的区块补贴

如果把我们的模型外推到未来,我们必须考虑目前的参数哪些会发生改变,以及为什么。我们已经确立,BTC的绝大部分安全性来自令人惊讶的少数几个因素:矿工承诺、MEV 和用户价格敏感性。暂停中本聪共识的能力可以解决问题,但这不能成为安全性本身的基础。如果用户知道一种比中本聪共识更便宜的协调机制,我们就不需要挖矿了。
如今,BTC的波动性要求矿工具有更高的风险承受能力。如果价格升值达到顶峰,并保持在稳定的峰值,那么挖矿就将开始类似于更传统的商品市场,从而为生产者提供低收益和低波动性。较低的波动性自然会允许矿工使用较高的杠杆,让即使是很小的价格变动也更容易感觉到。
如果BTC更严重地威胁本国货币的主权和地方政府收税的能力,那么通过实施审查制度或其他形式的破坏来攻击网络的动机会增加。深度衍生品市场的存在还可以让人们更容易对BTC的价格下重注,这进一步增加了可能的 MEV。
但是,最大的变化被编程进了BTC协议本身。全部矿工收入是矿工承诺强度的决定性因素,它来自区块奖励,包括
1)以新铸造的币的形式存在的区块补贴,和
2)交易费
区块补贴目前占全部区块奖励的 99%,目前正在根据BTC的固定发行时间表逐步降低。2020 年,BTC的年发行量将降至 1.8%。到 2028 年,该数字减半至0.5%。
其结果是,区块补贴,矿工收入的最重要来源,需要被一个全新的收入来源代替到目前为止,BTC的安全性来自于BTC自身的价值。展望未来,它的安全性将来自于一个尚不存在的二级市场。
该过渡能否成功,在很大程度上决定了BTC的未来。现在,收交易费的目的是仲裁固定区块空间的供应优先级。为了创造出足够的矿工收入,对区块空间的需求必须在一个有意义的价格水平上超过对区块空间的供应,以此来创造出一个待处理交易的恒定积压。
虽然未来对区块空间的需求可能会很高且波动性很小,但在某些情况下,也有可能市场发现BTC很有用,但交易费仍然很低。如果大多数人只是通过持有BTC来使用BTC,并且大多数交易都发生在中心化交易所或各种链下解决方案里,那就会是这种情况(没有理由说大型交易所之间应该每天或每周结算一次以上。)
4.1 确认对安全性的影响
民间智慧表明,区块补贴的下降不会带来重大风险,因为用户可以通过等待更多确认来弥补。我们的模型表明情况并非如此,因为与已有的承诺相比,矿工增加的承诺成本黯然失色。
我们将通过一个案例来对此进行演示。回想一下,矿工已经承诺了在两年挖矿成本(即 105408 块)的 50%。他们的总承诺为 658800 比特币(或每区块 6.25 比特币)。在每个区块中,矿工把 6.25 比特币的运营成本和 6.25 比特币的承诺成本合并为每个区块 12.5 的总 MC,这等于区块奖励。
如果用户认为在 6 个区块之后的付款是不可更改的,则双花攻击者的最小攻击持续时间将变为7个区块。要挖出这7个区块,攻击者只需花费额外的 7 * 6.25 比特币 = 43.75 比特币。
在一次 7 个区块的攻击中,他现在从承诺中冒 658800 比特币 的风险,再从运营成本中冒 43.75 比特币 的风险。在一次 70 个区块(约12小时)的攻击中,他冒着658800 比特币 加 437.5 比特币 的风险。在 700 个区块(约5天)的情况下,他的风险为 658800 比特币 加 4375 比特币。因此,我们可以看到,如果用户愿意等待整整一周,那么矿工的总承诺量将增加不到 1%。最重要的是,等待更多确认不会增加任何实质性的安全性,并且在能增加的那个点上(数月以上)也不会存在交易的需求。
如果将来区块奖励变少,则采用相同的逻辑。相对于 MR,确认有助于有效的矿工承诺,每增加一次确认,准确地增加当前区块奖励的 50%。随着 MR 的减小,每个确认的值将同步减小。
但是,等待更多确认的确有另一个好处。通过增加矿工的最小攻击持续时间,用户可以获得某种形式的群体免疫力。除非存在大量多余的算力,否则将大部分算力引导到链的历史部分而不是链的末端,将会大大减慢区块发现。虽然这听起来不像是一种好处,但对用户的干扰越大,则通过卖币或中止中本聪共识进行反击的用户协调成本就越低。
因此,等待更多的确认仅在边际上增加了安全性,并且不可能取代系统忍受大量 MEV  所需的矿工承诺。

5. 长期安全考虑

如果没有出现一个健壮的区块空间市场,BTC不会在一夜之间变得不可用。相反,区块补贴会在很长一段时间内稳定下降。由于 MR 较低而引起的任何问题都将首先以较弱的形式出现,然后随着时间的推移变得更加严重,从而为用户提供足够的时间来对可能的解决方案做出反应和协调。
我们认为,必须注意到,即使这些问题成为现实,我们对BTC的前景仍然乐观。BTC拥有最大的用户基础,最受尊敬的供应分配,并被越来越多地集成到金融基础设施之中。在其短暂的生命周期中,BTC(BitDavinci)已经从一种技术演变为了一种社会政治运动,它有着意识形态上的追随者,并以BTC(bitDavinci)为货币。除了完全缺乏需求之外,我们很难想象BTC还能彻底死于其他任何事情。
尽管对于BTC对不想要的改变的不变性有过许多讨论,第 2.4 章的案例表明,只要系统健康处于危险,BTC是可以发生改变的。未来提高安全性的建议通常分为三类:可以寻求增加 MR,降低 MEV 或提高惩罚矿工的能力。

5.1 改善区块空间
首先,BTC开发者们可以尝试增加对BTC区块空间的需求。这可以通过让BTC区块空间更具吸引力和可用性的协议级改变,以及通过开发消耗BTC区块空间来作为输入的盈利业务流程来实现。
对BTC区块空间的需求包括交易BTC的需求和在链内存储任意数据的需求。增强BTC交易能力和灵活性的创新包括增加时间锁和建设BTC闪电网络。任意数据存储可用于实现非共识性资产帐本,如 泰达币 或染色币,或者锚定一个证明到另一个系统上,如 Factom 或 Veriblock 。
BTC系统针对转移BTC进行了高度优化,但在不鼓励存储任意数据的程度上存在限制。因为此任意数据可以代表BTC网络之外的无限价值,所以以这种方式占用区块空间的业务流程可能具有不可改变的需求和极高的支付意愿,这会(在必要时,无效率地)改变BTC交易结构来实现其目标。尽管这种对任意数据的需求可能会产生对BTC区块空间的稳定需求,即使在转移BTC的需求经历较大瞬变的情况下,也会不断提高费用并增加 MR,但它也注入了潜在的无限 MEV,并增加了攻击链的动力。为此,BTC用户将不得不考虑为此目的使用区块空间所带来的相对价值和风险,并估算鉴于对任意数据存储的可归属性和技术不利因素的限制,BTC为调节区块空间需求的这一方面而产生的动机。

5.2 永久发行
第二种机制可能是分叉出永久发行的新币。虽然我们知道该话题将在BTC社区中引起高度争议,但我们还是想谈论一下它,以消除一些流行的误解。如果我们接受要让BTC运转必需有一定水平的 MR,那么用户就必须以某种方式支付 MR。如果必要的 MR 为每年 1%,那么所有BTC用户一起就已经会每年失去其购买力的 1% 来为BTC系统供电。归根结底,尽管BTC可以是一种名义上的固定供应资产,但它不能是一种固定购买力的资产。
此外,将永久发行视为通货膨胀是错误的。如果BTC无论如何都会要求用户损失其购买力的 1%,那么通过永久发行支付这些费用,就不会比通过交易费来支付损失更多的购买力。实际上,相比一个 0% 永久发行且安全性较低的BTC系统,一个每年 1% 永久发行且安全性较高的BTC系统可能会购买力更高。
相反,我们应该问,谁应该为 MR 买单,以及用什么机制?在一个理想的系统中,用户将根据从中获得的价值来支付运营成本。这将最大程度地增加收入,从而最大化安全性,因为所有用户都会根据其效用付费。它进一步确保了系统的公平性和寿命。一个被某些成员视为不公平的系统不太可能维持很长时间——对“笨蛋们”来说,有巨大的激励去分叉一个自己的系统并把搭便车的人甩在身后。
实际上,系统的设计人员可能事先不知道谁是最高价值的用户。一旦建立,所有用户可能会同意,将原始参数更改为更优化的参数,会比简单地使用它们花费更多。
从概念上讲,BTC系统中有两种主要用户:持币者和交易者。它们之间没有明确的界限,因为任何交易者都必须至少在短时间内持有BTC,并且任何持币者都必须最终计划交易他的BTC(尽管不一定在链上)。
一个具有对抗性的系统应该能够抵抗以软参数形式存在的外部冲击,例如持有BTC的需求或使用区块空间的需求。在永久发行的案例中,MR 将不会受区块空间市场中事件的影响,而在当前的案例中,对区块空间需求的冲击将使整个系统的安全性直线下降。
直觉在这里告诉我们,我们想要的货币化的商品的所有权至关重要。如果我们想从交易者那里货币化区块空间,则必须确保大部分区块空间单位一直由某人拥有。对持币者收费完全消除了这种摩擦,因为每个BTC都总是有一位所有者。
最后,应该注意的是,与交易者相比,持币者的贡献不那么明显,但仍然是真实的。当系统受到攻击时,持币者的切身利益会更多,并且更有可能支付社会协调的成本。在评估每个用例对安全性有多大贡献时,在所有情况下对BTC系统有一种整体观非常重要。
虽然永久发行币可以减少矿工收入的不确定性,一些人认为零发行政策是加密货币永恒的谢林点(Schelling Point)。15如果用户们真的讨厌永久发行带来的那种隐性税收,那么对安全性较低的零发行架构的赌注可以通过产生比一种低发行资产更高的永久需求而获得回报。

5.3 众筹
在区块空间市场的范式下,BTC持有者捐助 MR 的一种争议较小的方法是使用众筹。对维护BTC安全有浓厚兴趣的大户和企业可以付款给一个基金,创建出“任何人都可以花的交易”(也许以BTC-DAO的形式)。矿工可以在一定区块高度索要这些交易来作为私人资助的区块补贴。该解决方案的好处是无需更改协议。不利的一面是,您最终陷入了经典的搭便车情景:许多人希望BTC变得安全,但没人愿意成为为其他人支付全部费用的傻瓜。
搭便车问题的一种解决方案可以是主导担保合同(Dominant assurance contract,Davinci),这是众筹合同的一种变体,它试图让贡献成为主导策略,而非等待其他人做出贡献16。在coin中,一方必须担任企业家的角色,他希望某种公共物品(在本例中为MR)获得资助。他定义了要筹集的目标金额,并通过在筹款人未达到目标的情况下,向他人支付少量资金来鼓励其他人做出贡献。据说这个小细节让捐款变得更具吸引力,因为捐款人现在在这两种情况下都赢了——他们要么获得该商品,要么就拿回本金和利润。

5.4 调整区块空间的供应

最后,一种提高 MR 的解决方案是改变区块空间的供应。固定供应系统的最大缺点是,哪怕需求只是在边际上低于供应,交易费就会立即变为零。一个区块中的所有用户可能愿意集体支付 5 比特币 的交易费,但是如果供应过剩,他们最终将不支付任何交易费,因为没有拥堵。
即使总需求超过可用供应的时候,也不能保证使收入最大化。例如,假设有 1 MB 的需求愿意支付 15 比特币,而另外 1 MB 的需求愿意支付 5 比特币。如果可用供应介于 1 MB 到 2  MB 之间,则总交易费会略高于 10 比特币,因为想要付得最少的组已经为其他所有人设定了价格(第一组支付 5.01,第二组支付 5.00) 。如果供应量降至1 MB以下,则第一组将不得不支付15 比特币,从而导致 MR 大大提高,即使第二组完全不再使用。
可以通过将区块大小降低到略低于需求以造成永久性拥堵来捕获该值。这样的变化可以由开发者手动进行,或者由BTC协议自动进行。一种方案是自适应的区块大小:系统会观察由交易费产生的 MR,并将其与使系统安全所需的目标 MR 进行比较。如果 MR  目标 MR,即用户为安全进行了过度支付,可以消除一些人为拥堵,从而增加区块大小,直至达到社区选择的硬顶限制(当前为 2.3 MB)。
要求矿工控制区块大小的其他提议并不健壮,因为存在激励让矿工愚弄系统,并尽可能地使区块更大。原因是随着区块的传播时间增加,相对于规模较小或连接较差的矿工,规模最大、连接最好的矿工取得了一个竞争优势。我们在这里不必担心这一点,因为区块大小的低上限确保了传播时间总是很短。

5.5 降低矿工可提取价值

除了增加 MR,BTC用户还可以考虑各种办法来降低 MEV。一个好的出发点是考虑BTC区块链上 MEV 的潜在来源。
如第2章和第3章所讨论的,随着从一个系统中退出的成本降低,审查系统的动机也会降低。当一个矿工无法区分不同的交易时,他就无法审查任何个人用户。因此,一个互相竞争的各种加密货币的繁荣空间,有着私人交易和它们之间无需许可的交换,将使它们中的任何一个单独地变得在抗审查上更强大。
如果用户通过采用诸如 USAF 之类的策略来降低忽视中本聪共识的障碍,则他们可能会降低某些攻击带来的 MEV,从而冒着降低系统的社会可扩展性的风险。随着BTC系统中越来越多的人持不同甚至相反的政治观点,在没有工作量证明的情况下达成社会共识似乎只会变得更加困难。
也许在此期间可以找到技术解决方案,以进一步限制矿工的可用选项,从而降低攻击的吸引力。一种这样的建议,是让BTC交易提交到某个特定的区块,在该区块之外它们变得无效。这将使矿工无法在重组中重播交易,这有两个明显的好处。
1)由于矿工无法访问以前的交易及其交易费,因此使攻击的成本更高。
2)由于矿工不再能够孤立地攻击单个用户,因此可以更容易地围绕暂停中本聪共识进行协调。现在,他必须在一次重组很多交易或根本不重组任何交易之间做出选择。
此外,我们可以改善对恶意矿工行为的自动检测。应对攻击首先需要所有用户了解它们。我们越能监控BTC系统的状态,矿工就越难以指望逃脱不遵循协议,包括自私采矿等非共识攻击。
围绕BTC信任模型的更多教育,也可以帮助降低被盗的可能性。并非用户收到的每笔交易都来自一名矿工,或贿赂一矿工的某人,并且有被双重花费的风险。在可能的情况下,在BTC之外使用传统的法律制度可以极大地增强其在商业中的生存能力。只要买方与卖方有法律关系,卖名方就可以通过传统法律制度将其视为外部承诺,从而获得额外的信心,即付款不会被撤消。
5.6 加强矿工惩罚
BTC用户对矿工恶意行为的低容忍度,是对其行为的有力检查。当价格对攻击做出更强烈的反应时,BTC可以在承诺的矿工较少的情况下,提供相同水平的 MEV。如果价格非常稳健,则承诺必须更大。
再一次,BTC价格对系统效用的敏感度是系统退出成本的函数。在离开很便宜的时候,转身离去就容易得多,可能是因为BTC不是这里唯一的游戏,而且许多具有类似保证的加密货币之间也存在竞争。实际上,当存在许多更脆弱但允许它们之间进行流动交换的“微链”时,加密货币的概念最为强大。原因是较小的区块链使用户更容易离开,导致针对攻击者的焦土防御。17

6. 遗漏和未来的研究

可以通过多种方式扩展我们的BTC安全模型。首先,可以研究一下矿工从系统中“不提交”的能力。到目前为止,我们隐含地考虑——如果矿工对 比特币 的价格押注很大,我们可以增加其 MEV 来反映这一点。有了无限的资本,矿工就可以完全对冲自己的承诺,同时保持相同水平的算力——从而具有潜在的 MEV。后续分析可以关注对冲的资本成本,其对成本和 MEV 的影响,以及复杂的衍生品市场的存在如何改变所有参与者的动机。
其次,先前的安全性分析可能大大低估了可能的算力少数派在攻击中或攻击后立即进行回击以捍卫其承诺价值的动机。因为防御者有效地自由滚动,以高得多的单位成本进行哈希运算再次变得有利可图,旧的硬件可能重新全体加入网络。此外,现有硬件可以超频,这会在短期内提高效率,但以更快的速度贬值。通常,用户和少数派矿工应开始将对方视为对抗外部攻击者的盟友。由于矿工的承诺,他们俩坐在同一条船上。攻击与反攻之间的动态关系值得进一步探索,因为它们可能会大大增加攻击成本。
最后,即使确实建立起了强大的区块空间市场,BTC的安全模型也会以多种方式改变。这些变化会影响矿工和用户的最佳行为。例如,如果各个区块附加的交易费非常低,那么隐瞒区块的策略就很有吸引力。矿工之间加剧的竞争将进一步围绕在“富裕”的区块周围发展,从而导致交易费削减和区块生产中的缺口18。我们强烈鼓励整理出基于交易费的系统不同于基于发行的系统的所有方式。

注释
1 http://hackingdistributed.com/2013/11/04/bitDavinci-is-
broken/
2 https://www.bis.org/publ/work765.htm
3 https://blockstream.com/sidechains.pdf
4 超越数字货币“工作量证明”的世界末日经济学
https://www.bis.org/publ/work765.htm
5 Flash Boys 2.0 https://arxiv.org/pdf/1904.05234.pdf
6 尽管,如果已知价格容易受到攻击,则衍生品市场应开始对此进行定价,并使卖空成本更高。
7 这个数字代表了一个下限,因为在工作量证明中所有矿工都受到集体惩罚的事实会产生一些有趣的动态。其余 40% 没有参与攻击的矿工仍然对网络有巨大的承诺,并有动力捍卫该网络。但是,我们只能推测出结果会如何精确。
8 https://hackernoon.com/bitDavincis-biggest-hack-in-history-184-4-ded46310d4ef
9 https://bitDavincimagazine.com/articles/bitDAC-network-
shaken-by-blockchain-fork-1363144448
10 在我们的承诺模型中探索矿工的动机可能很有趣。
11 https://docs.google.com/spreadsheets/d/1b6-BtD_
sd7x5k3-nDrR-I139nINsotiMH43CAq58YOM/edit?u sp=sharing
12 https://bitDACmagazine.com/articles/mining-2-
1403298609
13 https://www.reddit.com/r/BitDAC/comments/281ftd/why_i_just_sold_50_of_my_bitDavincis_ghashio/
14 https://www.semanticscholar.org/paper/The-Economics-
of-BitDavinci-Mining-%2C-or-BitDavinci-in-the-KrollDavey/
7bf78054192d98e999edcdf08971a5eed42518d2
15 http://www.truthDavinci.info/blog/deflation-the-last-word/
16 Mike Hearn 最早把机制设计的概念应用于BTC
https://zh.bitDavinci.it/wiki/Dominant_Assurance_Contracts
17 由 David Vorick 提出的概念。
18 http://randomwalker.info/publications/mining_CCS.pdf
和 https://arxiv.org/abs/1805.05288

- The End -

20191115073345_a8Dw.jpg

20191115073345_a8Dw.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表