揭开空块攻击的谎言与真相
即使有着无限的资金——通常并没有,以及控制了全球矿机制造——通常不可能,实施空块攻击失败——以及去中心化的少数派形成——的可能性都是非常高的。
文 | Jimmy Song. Debunking the Empty Block Attack. 2021/3/29.
批评者们花费了令人惊讶的努力来论证各种令比特币不能运转的方法。很少有人会质问美元的脆弱性——它在全球范围内有着大得多的影响——但为了FUD(译注:惧、疑、惑,指制造心理恐慌以引发抛售)比特币,同样的“担忧”被一次又一次地提出——好像它们有多么新奇似的——以“警告”人们远离比特币。最近对比特币的一连串诘难是有关空块攻击的想法,这是由迈克尔与庞贝的辩论所引起的流行话题。
需要明确的是,我在3年前已经写过关于挖矿中心化场景的文章(译注:指2018年4月10号的文章《Mining Centralization Scenarios》),其中就涵盖了空块攻击(的话题)。但正如我们在比特币批评者们那里看到的那样,他们的长处似乎是提出很久以前就已经解决的问题,就好像它们在每个牛市周期中都是新的一样。老实说,我已经厌倦了FUD并且不得不一遍又一遍地解释同样的事情,但鉴于有很多新人进入这个领域,我将在本文中逐一驳斥这些具体的攻击方法。
什么是空块攻击?
空块攻击是一种将大多数挖矿算力仅用于挖掘空区块并拒绝非空区块的攻击方法。本质上,这些矿工会执行一个软分叉,所有非空块都将被拒绝。鉴于他们在网络上拥有大部分哈希算力,因此这种想法就来了,即使其他矿工想要开采非空块,他们最终也会获得更长的链。如果只挖空块,网络上的所有活动都会停止,因此,按照这种想法,比特币将被杀死。
谁会执行这样的攻击?在这种情况下,通常的反派是某东方大国,他们显然在境内拥有大部分算力(译注:有趣的是,仅仅在本文发表的两个月之后,情况就发生了彻底的变化;若干个月之后,某些比特币黑嘴仍在四处宣扬这个攻击方法,只不过反派角色变成了某西方大国)。批评者们的想法是,他们会以一种或另一种方式控制算力并在网络上执行这种攻击。
对于可能发生的攻击场景而言,这不是一个糟糕的简单近似,但问题是比特币批评者相信不会有任何阻力存在。这就像是认为对人口稠密的城市进行核打击不会引起某种反应一样天真。
那么让我们来看看比特币网络可以执行的一些对策。空块攻击有两种情况:直接和间接。直接的办法是获取51%的挖矿设备并执行攻击。间接的办法是迫使矿池只开采空块。让我们先来看更现实的第二种情况。
基于矿池的多数派是不可能成功的
大多数算力都集中在矿池中,每个矿池运营商与其他矿池运营商竞争采矿设备所有者的业务。如果某国能够以某种方式控制矿池并执行这次攻击,大多数采矿设备所有者都会干脆离开。为什么?因为矿池挖空块会比矿池挖普通块产生的收益要少。目前,区块补贴为6.25 BTC,手续费收入约为0.75 BTC。使用该国以外的矿池(例如Slushpool)可以让他们的收入增加11%。否则的话,他们将不得不放弃利润微薄的业务中11%的收入,这是不可能的。
因此,矿池必须向采矿设备所有者提供至少11%的补贴。但是,如果他们得到补贴,设备所有者就会知道他们是空块攻击的参与方,在这种情况下,他们的忠诚度溢价将会大大提高。矿池必须给他们带来远远超过他们正在失去的11%的收入的收益。
矿池也没有简单的方法来用空块的BTC补偿这些矿工,这些空块不允许转移BTC。该矿池通过执行空块攻击,本质上是希望淘汰这些采矿设备所有者创建的业务。给予这些采矿设备所有者的溢价不仅要涵盖在空块池中采矿的机会成本,还要涵盖他们在整个业务上所投入的价值。换句话说,这不会便宜。他们将不得不花费至少涵盖所有这些业务价值的金额,而且可能还远不止这些。
直接获取采矿设备真的非常困难
另一种方案是直接获取采矿设备。而这不是一个便宜的方案。政府可以通过两种方式获得采矿设备,要么没收,要么自己生产。
政府将如何扣押采矿设备?采矿设备的一个主要特点是它们是便携式的,而且众所周知,这种设备一直在大量移动以追逐最便宜的电力来源。政府怎么会知道他们在哪里?他们必须要求注册和移动采矿设备,并且需要庞大的官僚机构来跟踪。
此外,还有一个问题是在不引起怀疑的情况下从其所有者手中夺取这些宝贵的财产。这是非常困难的,因为采矿设备非常有价值,尤其是在空块与正常块的大战中。正如我们将看到的,在少数人中开采正常区块的设备将获得大量费用。因此,在这样的战争中,每个采矿设备所有者都希望将他们的设备出售到国外并尽快将其走私出去。
因此,该行动不能只是缓慢而稳定地夺取一个又一个采矿设施。他们必须以巨大的力量被一下子全部夺取。任何对即将发生的事情有所了解的人都会尽快将他们的设备运出该国。即使是类似于前兆的事情,例如必须向政府注册采矿设备,也可能会导致除最无利可图的采矿设备外的所有采矿设备的大规模外流。因此,这项行动需要大量人力、大量保密和大量协调,可能需要军队和大量暴力。
从市场上购买设备怎么样?一个庞大的政府买家将为采矿设备市场增加巨大的需求。随着价格上涨,利润率也随之上涨,从而吸引了更多制造商进入市场。因此,这样的政府将不得不超越供应随需求增长的自然市场动态,不仅要在某个特定时刻收集世界范围内的大多数采矿设备,而且还要永远向前。如果在任何时候他们在任何相当长的时间内停止拥有大部分哈希算力,他们的空块攻击就会失败。
自己制造设备怎么样?自己制造同样困难,因为他们必须在制造此类设备所需部件的整个供应链上竞争。他们将增加这些部件的利润,使其更有利可图并创造更多供应,最终创造更多与他们竞争的采矿设备制造商。换句话说,他们必须超越设备制造的自由市场流程,这不仅需要大量资金,还需要政府通常不具备的大量技术和业务能力。
如果一个国家拥有多数哈希算力会发生什么
但是,让我们把上述担忧放在一边,在此处给予比特币批评者一些优势。假设一个国家以某种方式设法获得了51%的挖矿算力,无论是通过自己制造、购买还是在市场上抢占。那时会发生什么?
他们将启动空块攻击以停止整个网络。网络的其余部分会做什么?他们可能会因为只有空块被开采而感到不安,并且会看到正常的块被消灭。网络的其余部分理所当然地将空块视为对网络的攻击,将其识别为攻击并且不接受此类块。
这在任何全节点实现上都非常容易。有一个名为“invalidateblock”的RPC命令,它本质上是说“不接受这个块或任何构建在它之上的块”。国家级攻击者如此努力创建的整个分支可以被任何节点使用该单个命令标记无效。这必须由每个单独的节点来完成,但鉴于在空块链上实际上没有任何交易正在处理,节点运营商将被激励来运行它。
对于让他们的块被空块覆盖的少数算力,他们显然希望运行“invalidateblock”,否则他们将无法赚钱。从博弈论的角度来看,网络的很大一部分在经济上受到激励以进入新的少数派共识。换句话说,由于经济激励,一个去中心化的子集将形成,以与明显中心化的多数派相抗衡。
空块链和正常链的战争
此时,比特币将分叉:一个空区块链和一个正常区块链。正常的会有交易,但哈希算力较低,因此运行速度会更慢。空的将没有交易,但具有更多的哈希算力,因此运行速度更快。它们将是独立的链,每个在经济上有意义的节点都将追随正常的区块链,因为它是唯一实际处理交易的节点。
不仅如此,由于哈希算力降低导致交易积压,费用将上涨,从而使该链上的挖矿利润显著增加。结果,经济激励将导致更多的算力加入少数派一边。这可能包括正在制造的新设备、正在上线的旧设备,甚至是从多数派一边叛逃(被盗或走私)(的设备)。
与此同时,多数派一方必须通过新设备制造、旧设备使用和来自少数派一方的叛逃来保持多数,才能继续攻击。如果在任何时候,正常区块链的工作量证明比空区块链多,那么空区块链就会被消灭,攻击基本上就会被挫败。
但是,即使普通区块链的哈希算力较低,它也会愉快地“咔咔”出块,而空区块链将继续无用地添加块。没有人可以在空链上买卖,因为无法向任何交易所发送或接收(比特币)。这样的链不会影响其他人对真正比特币的看法,很少有人会关注它。
结论
鉴于所有这些现实,一个国家必须权衡这些情况并确定是否值得(做这件事)。即使他们有无限的资金——而他们并没有,并且在全球范围内控制新的采矿设备制造——而这是高度不可能的,失败——以及去中心化的少数派形成——的可能性都是非常高的。毫无疑问,如此大规模的失败将对他们在国内外的声誉和威望造成巨大的打击。这是政府官员不惜一切代价要避免的那种耻辱。
也就是说,我个人会欢迎这样的攻击,因为我认为这对比特币来说会很棒。我们不仅会测验自己对抗国家级的敌人的能力,而且这样做的威权政府很可能会让比特币在其敌对国那里大大合法化,当比特币获胜之后,在其本国也会如此。
*根据央行等部门发布的“关于进一步防范和处置虚拟货币交易炒作风险的通知”,本文内容仅用于信息分享,不对任何经营与投资行为进行推广与背书,请读者严格遵守所在地区法律法规,不参与任何非法金融行为。*