如果一个应用程序或协议在充满对抗性的环境中能够实现目标,那它就是安全的。就 BTC 而言,其目标是建立一个任何人都可以参与的支付系统,只有合法所有者才能花费代币,所有有效交易最终都将存入分布式账本。 在它存在的头十年中,BTC 成功地拥有了这些安全属性。但是与此同时,学术界在很大程度上未能在其研究模型中复制 BTC 的稳固性,由此产生了“BTC 只有在实践中是安全的,但在理论上不安全”之类的论调。本文旨在通过介绍 BTC 安全模型,来弥合理论与实践之间的鸿沟。 我们认为,BTC 目前可以承受很高的攻击,从而使矿工动机与系统利益保持长期一致。挖矿需要大量的前期投资,其价值与网络的健康状况息息相关。通常情况下,矿工相当于提前购买他们在未来两年内预期要开采的所有代币的一半。在矿工收到这些代币之前,任何损害代币价值的行为都极具破坏性,这说明了为什么学者们担心的许多攻击在实践中都行不通。 另一方面,相比于外部攻击者,BTC 安全性的最大威胁更多地体现在协议本身。BTC 的区块奖励减半机制将导致该网络与矿工的利益捆绑性降低。如果没有蓬勃发展的区块空间市场,区块奖励的下降会对未来构成重大威胁。用户无法仅通过等待更多的区块确认来弥补这一点。 最后,我们提供了新的思路,包括一些可供社区讨论的改进建议。 本文于今年 10 月正式发布,为 Hasu、James Prestwich 和 Brandon Curtis 的共同作品,在创作过程中借鉴了 Nick Szabo、Emin Gun Sirer 等人的既有研究成果。加密谷编译此文,供专业投资人和技术爱好者参考。由于全文篇幅较长(接近 16000 字),分为三期刊出,此为第二篇。上篇请见: 《深度 | 区块奖励即将减半,BTC 还安全吗?(上)》
*挖矿攻击*
接下来,我们想探究,在已知模型下对 BTC 系统的最主要的攻击手段是如何进行的。 在很大程度上,BTC 网络上可能发生的攻击取决于攻击者拥有的算力多寡。理论上讲,矿工只需要 30%的总算力就可以从事自私挖矿或顽固挖矿。他们通过挖出区块后不广播到全网,而是直接对下个区块进行预挖,以达到浪费竞争者算力的目的,从而赚取到超过公平挖矿的收益。 但据我们所知,截至目前,这些策略尚未在 BTC 网络中出现。这是因为,我们的模型表明,矿工不大可能采取使公众降低对 BTC 信任度的策略,因为即使是价格的小幅下跌也会破坏矿工自身的利益,远超过他们希望获得的 MEV。 研究数据可以支持这一理论。2014 年,GHash.io 矿池算力一直在全网算力的 50%左右波动,他们通过零矿池手续费等政策吸引了大量矿工。甚至涉嫌以虚高价格收购热门的博彩网站 BetCoin Dice。随着矿池集中化的新闻通过 BTC 社区传播,人们对该系统的信心被动摇了。几个重要人物公开出售了部分 BTC。随后,矿工开始大量逃离矿池,以保护他们的投资。 自此之后,没有任何一个矿池敢于再次达到这种算力水平。矿工似乎已经意识到,任何形式的市场恐慌都会对其底线产生极大的负面影响。 在这里,我们可以看到拜占庭模型与理性模型之间的差异:在拜占庭模型下,一旦矿工的算力 > 50%,BTC 就是不安全的。然而在复杂的现实世界中,状态稳定的 BTC 很可能存在算力垄断者。也许目前已经存在垄断者,但我们无法印证。分析参与者的动机可以发现,在多数挖矿者的存在的前提下,BTC 不会自动失败。 当矿工拥有超过 50%的算力时,他可以确定自己提出的任何链都将成为中本聪共识中的规范链。这是对 BTC 用户进行更严重攻击的前提。这些攻击可分为两类:双花和破坏。 3.1 双花 在双花攻击中,攻击者重写了一条链,将此前用 BTC 进行了消费的链替换为一条仍拥有商品但未付款的链。 我们的模型表明,BTC 价格的小幅下跌使得即便是大规模的双花攻击也不可行,因为 MEV 的收益必须高于矿工捆绑利益的损失。此外,矿工还必须考虑到一个因素:用户完全可以中止中本聪共识,从而间接地造成自己的收益受损。 双花的攻击者希望最大程度地降低网络感知其攻击意图的可能性,以免触发惩罚机制。他可以使其重新组织的区块一直维持在少于 100 个,由此原链上的 token 奖励才行得通。 大规模的重写影响的不再是单个用户,而会在事实上摧毁代币体系,并产生连锁反应,使得更多的交易无效。 攻击者会尽可能地还原原链上的所有交易,仅更改双花交易的记录,以隐藏攻击意图。 考虑到以上限制,单纯的双花攻击不太可能在短期内成为矿工的理性选择。 3.2 破坏 与单纯的双重支出攻击不同,破坏攻击者无意在 BTC 系统内赚钱。他根本不关心可能的用户惩罚。与之相反,破坏攻击者试图通过各种手段造成 BTC 价格崩溃 , 使用户对网络失去信心。 对于做空 BTC 价格的人来说,破坏性攻击行为是合理的。也有可能,他们的目的是为了捍卫被 BTC 威胁到的现有收入。类似的收入来源可能是法币体系的铸币税,也可能是人们通过数字资产隐藏财产逃避的税收。 这种攻击动机有点类似《007》系列电影中,大反派计划通过对诺克斯堡(美国国库黄金储备基地)的储备黄金进行污染,以使自己手上的黄金变得更稀缺、更有价值,因此也被称为“金手指攻击”。 为了最大程度地削弱用户对系统的信任,攻击者聚焦于 BTC 的三个原初设计目标:安全性(safety)、活跃性(liveness)和无许可访问(permissionlessaccess)。他们打算使这些特性逐一失效。 实现这一目标的其中一种方法是建立算力垄断,并完全停止处理任何交易。如果愿意,任何掌握大算力的矿工都可以通过直接忽略小算力矿工挖出的区块来建立垄断。因为他占据优势,所以小算力矿工创建的区块最终会被重写。 达到算力垄断的矿工可以拒绝打包任何交易,也可以通过设置最低交易额来勒索用户的交易费,或者干脆建立自己的交易处理规则。例如,他可以忽略所有未通过其个人 KYC / AML 检查的交易。用户可以通过三种基本方法来防御此类审查攻击。
我们应该确定,审查制度造成的损害等于被审查用户从系统中退出的成本。BTC 存在的同类竞品越多,退出成本就越低,而率先审查 BTC 用户的动机就越低。类似的逻辑适用于 on-ramps 和 off-ramps,例如去中心化交易。这里有一个有趣的悖论:BTC 上强大的 KYC / AML 层使盗窃行为的吸引力降低(黑客攻击 Bitfinex 获得的代币被列入黑名单),但它也使系统更容易受到审查攻击。另一方面,一个没有任何身份认证的系统会存在更多的盗窃动机,但减少了审查攻击的动机。
当交易开始被审查时,攻击者处理的交易会减少,被审查的用户可以增加其未确认交易的交易费。这会导致 MR (诚实挖矿)和 MR (攻击挖矿)之间形成一个收益差。被审查的用户此时可以有效地 free-rolling (进行任何操作都只增加正向收益,不会影响到现有的收益格局),并且可以不断提高交易费,直到他们消耗掉所有的余额为止。这种收益差可以吸引其他大算力矿工挑战现有的算力垄断格局。
最后,用户可以协调,通过以暂停中本聪共识、修改规则的方式对垄断性矿工进行惩罚。比如可以将工作量证明算法从 SHA256 更改为其他算法。当然,垄断矿工也可以不断重写原链,而不是用无效区块来扩展原链。但是其效果是相同的。
不断下降的区块奖励
通过模型预测未来时,我们必须考虑哪些参数将会发生变化,以及,发生这种变化的原因。 通过上述分析,我们已经得出如下结论:BTC 的安全性很大程度上来自意外的少数因素:矿工的利益捆绑,MEV 和用户的价格敏感性。暂停中本聪共识的协调能力可以解决问题,但这不能成为安全本身的基础。因为,如果已经存在一种比中本聪共识更便宜的协调机制,那我们就不需要挖矿了。 如今,BTC 的波动性要求矿工具有更高的风险承受能力。如果价格持续攀升,达到顶峰,BTC 维持稳定,挖矿行业将开始变得类似于传统的商品市场,届时就可以为生产者提供低波动性,当然,收益也会随之降低。这是一个动态均衡的过程。 较低的波动性使得矿工可以利用较高的杠杆,那时候,即使是很小的价格变动也更容易被察觉。 如果 BTC 严重地威胁到主权国家的法币地位和政府的税收能力,那么,政府就会加大审查力度。深度衍生品市场的存在还可以使人们更容易对 BTC 的价格进行大规模做空,这进一步增加了可能的 MEV。 BTC 最大的安全威胁根植于协议本身,而不是任何形式的外部攻击者。这一系统中最大的变量已被编码进入协议。所有矿工收入都是其利益捆绑强度的决定性因素,来自于区块奖励,这其中包括:固定的区块奖励和交易费用。 固定区块奖励占全部区块奖励的 99%,目前正在根据 BTC 的固定发行时间表逐步减少。2020 年,BTC 的年发行量将降至 1.8%。到 2028 年,该数字将减半至 0.5%。 这最终会导致,最重要的矿工收入来源(固定区块奖励)将不得不被新的收入来源所取代。 到目前为止,BTC 已经从其本身价值中获得了安全性。展望未来,它将从尚待发展的二级市场中获得安全性。 这种收入来源过渡能否成功,在很大程度上决定了 BTC 的未来。如今,交易费的目的是对区块空间的供应优先级进行判定。为了创造足够多的矿工收入,对区块空间的需求必须要超过区块空间的供应。价格,是维持这一体系顺畅运行的重要因素。 虽然未来对区块空间的需求可能会很高,波动性很小,但还是存在某些情况下,市场发现 BTC 很有用,而交易费用仍然维持低位。如果大多数人只是持有 BTC,大多数交易都发生在中心化交易所或各种链下解决方案,就会发生这样的情况。 4.1 区块确认对安全性的影响 坊间认为,固定区块奖励的下降不会带来重大风险,因为用户可以通过等待多个区块确认来弥补。我们的模型表明,安全性和区块确认数量之间的关系要复杂得多。 首先,我们考虑额外的区块确认对矿工捆绑利益的影响。如前所述,矿工已经提前投入了未来两年内他们期望挖到的代币的 50%。他们的总捆绑利益为 658,800 BTC,也就是平均每区块 6.25 BTC。在每个区块中,矿工将 6.25 BTC 的运营成本与 6.25 BTC 的捆绑利益成本合并为每区块 12.5 的总 MC,等于区块奖励。 如果用户认为 6 个区块之后才能最终确认一笔交易,则双花攻击者的最小攻击周期就是 7 个区块。为了挖出这 7 个区块,攻击者只需额外再花费 7 * 6.25 BTC = 43.75 BTC。 在持续的 7 个区块攻击中,他需要冒巨大的风险(相当于 658,800 BTC),这还没有计入运营成本中的 43.75 BTC。 如果将计划通过攻击获得的区块奖励变更为 70 个和 700 个,那么,上述周期和成本将分别为:12 个小时,658,800 BTC 加 437.5 BTC;5 天,658,800 BTC 和 4,375 BTC。 我们可以看到,如果用户愿意等待一周,那么矿工的总捆绑利益风险只增加了不到 1%。所以,等待更多的区块确认数并没有实质性地增加矿工所承担的风险,并且也不会有人进行一笔需要等待数月以上才能最终确认的交易。如果将来区块奖励减半,则此逻辑同样适用。而区块确认数的增加会更多的影响 MR 这部分矿工利益捆绑。每增加一个区块确认,会增加相当于当前区块奖励的 50%的额外成本。随着 MR 的减小,每个额外成本也将同步减小。 在低区块确认数下,这一逻辑会有很大变化。虽然持续时间较长的攻击者会被认为需要更多的算力,因此承担较大的风险,但持续时间较短的攻击者并不需要拥有大额算力。具有 10%总算力的矿工成功重写两个区块的几率为 17%,而他成功重写 6 个区块的几率只有 1%。 如果矿工的利益捆绑成本低,而 MEV 很高,则在这个概率下攻击是有利可图的。因此,等待前几个区块确认并不是针对大额算力攻击者的有效防御手段,而仅仅对小额算力矿工奏效。 虽然等待 6 个区块确认和 60 个区块确认之间可能并没有显著差异,但是在等待超过 100 个区块确认数后,安全性收益会再次开始累加。如前所述,这是区块奖励可支配的阈值,超出此深度的区块重写对网络的破坏性更大。用户受到的干扰越大,则他们通过抛售代币或中止中本聪共识进行反击的协调成本就越低。 因此,当在没有协议外追索权的情况下收到款项时,一个可能比较合理的规则是:对于巨额交易,要等待 > 100 个区块确认;而对于其他任何交易,则要等待 6 个区块确认。我们发现,在 6 到 100 个区块确认数之间,矿工的攻击成本几乎没有增加。(未完待续)
Hasu、James Prestwich、Brandon Curtis 作者 *Harry Zhang *翻译
Sonny Sun 编辑
Roy **排版******
内容仅供参考 不作为投资建议 风险自担
版权所有 未经允许 严禁转载
☟☟☟
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:分享区块链领域专业、前沿、有趣的内容
评论0条