区块链/等级 III · 网络/3.3 共识与治理/课程 2
51%攻击
权力的边界:多数方能改写什么,又无法触碰什么
材料用于查看比特币黄金或以太坊经典被重组区块的区块浏览器来自挖矿统计网站(如 Blockchain.com 或 CoinWarz)的历史算力图表白皮书《比特币:一种点对点的电子现金系统》,尤其是第11节
好奇
- 如果某个实体控制了超过一半的计算工作量,哪些交易会变得可修改?
- 为何在币的转账历史被逆转后,持有其私钥依然安全?
- 当某条链的算力出现剧烈波动时,交易所如何调整其确认要求?
探索
- 中本聪共识遵循累积工作量证明最多的有效链。控制全球50%以上算力的攻击者能够比网络其余部分更快地挖出区块,从而构建一条私有链,并最终超越公开链。当这条更长的链被广播后,节点会因其包含更多工作量而转向它。这一机制使得撤销近期交易以及将其他交易排除在账本之外成为可能。
- 最主要的经济威胁是双花。攻击者将币发送给商家或交易对手,在公开链上等待一次确认,然后公布其隐藏的平行链,而在这条链上,同样的币已被花到了别处。由于隐藏链此时拥有更多区块,它便成为公认的历史。原先的付款从有效账本中消失。只有当所获商品的价值超过超越诚实矿工所需的电力和硬件成本时,这种攻击才有利可图。
- 关键在于,掌握多数算力的攻击者无法窃取属于他人的币。比特币中的所有权基于密码学,而非基于共识。要花费别人的聪,攻击者需要对方的私钥,而私钥受secp256k1椭圆曲线密码学保护。挖矿算力决定交易的顺序和区块的有效性,但并不能让人获取其他用户的资金。攻击者可以使诚实矿工的区块成为孤块,或审查特定交易,但无法在固定的发行计划之外创造货币,也无法更改底层的共识规则。
- 由于总算力较低,规模较小的工作量证明网络更频繁地面临这一威胁。租用的挖矿硬件使得在短时间内获得多数控制权成为可能。2018年5月,比特币黄金遭受了一次成功的攻击,攻击者通过暂时控制该网络的算力,逆转了价值数百万美元的交易。以太坊经典在2019年1月以及2020年8月多次遭遇类似攻击。在每起事件中,交易所的应对措施都是在为存款入账前要求多得多的确认数。
- 比特币本身从未遭受过成功的多数攻击。不过在2014年6月,GHash.io的算力一度超过全网算力的一半,引发了担忧;一个月后,它承诺将算力保持在40%以下。攻击比特币的经济成本高得令人望而却步,因为攻击者必须在与全球高效矿工竞争的同时承担高昂的电费。攻击者还需要将多数算力维持足够长的时间才能完成攻击,而一旦失败,只会留下成本。
- 共识控制与密码学所有权之间的区别决定了安全模型。共识保护事件的顺序——谁在何时向谁付款——而密码学保护价值的归属——谁拥有什么。51%攻击者可以操纵前者,但仍受后者约束。这种分离确保了即使在历史被改写的最坏情况下,个人钱包的安全依然完好,除非私钥通过恶意软件或社会工程学等其他途径泄露。
关键事实
- 掌握多数算力者可以撤销自己近期的付款,并将交易排除在链外。
- 无论挖矿算力多强,攻击者都无法花费自己不持有私钥的币。
- 2018年5月,比特币黄金遭受了一次成功的双花攻击,给交易所造成约1800万美元的损失。
- 以太坊经典在2019年1月和2020年8月遭受了多次多数攻击。
- 2014年6月,GHash.io的算力一度达到比特币总算力的约一半,随后其承诺将自身算力维持在40%以下。
- 易受攻击的链上,交易所会提高确认要求,以保护用户免受重组影响。
练习 九、六、三、一
9收集列出9起与工作量证明网络相关的不同事件或威胁,包括成功的攻击和险些得逞的情况。注明链的名称、日期、涉及的算力占比(如已知)以及结果。
6归类根据攻击者的主要目的,将这9起事件分为6类:双花自己的币、审查特定交易、使其他矿工的区块成为孤块、创建无效区块,或其他动机。
3提炼将这6组归纳为3个根本原因,说明某个实体为何会投入资源来控制多数算力。
1凝结用一句话解释,共识权力能够改变的内容与密码学所有权所保护的内容之间的确切界限。
事实核查
日期、数字及数据均依据下方列出的已发表资料进行核实。
- S. Nakamoto, 'Bitcoin: A Peer-to-Peer Electronic Cash System' (2008), Section 11
- E. Budish, 'The Economic Limits of Bitcoin and the Blockchain' (NBER Working Paper, 2018)
- Bitcoin Gold team statements on the May 2018 double-spend attack
- Public analyses of the Ethereum Classic 51% attacks (2019, 2020)