摘要:我们评估比特币现金 ABC 的新滚动 10 个区块检查点系统。新系统确实可以抵御“深层”的恶意重组;然而,它增加了共识链分裂的风险,并为潜在矿工提供了攻击系统的机会。另一个权衡是,这种变化会增加了有敌意的矿工对网络可能造成的伤害,但同时它也降低了此类行为的潜在回报。目前尚不清楚这种变化是否利大于弊。由于这对系统的改变是根本性的,因此在网络采用该技术之前花费更多时间评估可能带来的后果会更好。
概述
比特币现金 ABC 在软件版本 ABC 0.18.5 中添加了一个新的滚动检查点系统,该系统发布于 2018 年 11 月 21 日。基本上,新机制在收到 10 个确认后才会锁定一个区块,这可以防止大区块链接重组。因此,即使替代的那条区块链具有更多的工作证明,如果它与检查点冲突,节点也不会切换到那条拥有更多工作证明的区块链。
此功能可能已被添加作为对潜在攻击者的防御系统。潜在攻击者包括来自竞争对手比特币现金 SV 区块链的支持者,不排除他们攻击比特币现金 ABC 的可能。
新检验点机制的安全性分析
新的滚动检查点机制包括妥协:
- 深度重组的风险降低了。
- 共识链破裂的风险增加了。
新检查站系统的网络风险分析
延迟问题 | 攻击场景 | |
重组风险 | 没变
延迟问题不太可能导致节点在 10 个区块时仍然不同步。因此,在我们看来,这不是个问题。因此,新的检查点系统 在这点上不大可能引起问题。虽然在区块大小高达 32MB 的情况下,可能有少数情况会出现一些延迟问题,并且可能有出现 10 个区块节点仍然不同步。 检查点似乎没有解决任何与延迟有关的问题。如果延迟问题导致 10 区块重组,则用户可能希望使用最大工作量的区块链。因此,我们认为这里没有任何优势。 |
风险降低
深度恶意重组的风险现在减少或限制在10个区块内。 |
共识分叉 | 引入新的小风险
在小概率情况下,不良的网络连接导致节点在 10 个区块以上产生不同步,冲突的检查点可能导致共识分裂,从而产生两个或更多个代币。 |
引入新风险
虽然现在重组风险降低了,但有敌意的矿工现在有一个新的攻击目标。攻击者可以尝试秘密挖掘 10 个以上的区块,然后在网络上的检查点会导致分歧的时间点发布该链条,从而导致区块链分叉。 |
有敌意的矿工:重组的另一种选择
如上所述,如果一个有敌意的矿工正在制造一条影子链,一旦这条影子链与原先“诚实”的链条偏离了 10 个区块后,它就基本上没用了,因为即使它有更多的工作,它也无法改变“诚实”的链条。 因此,攻击者也可以放弃并停止扩展影子链。
然而,这也意味着,一旦自“分裂”后产生到第 10 个区块,攻击者就会在此时发布影子链,取决攻击者的目标。 (即一旦攻击者收到下图中指示的红色区块,就释放影子链)。当一些节点首先接收到红色块,一些节点首先接收影子链时可能导致共识链分裂,结果造成检查站出现冲突。
(资料来源: BitMEX 研究)
这种攻击可能导致共识链分裂,这可能与继续进行恶意重组一样将对网络造成严重破坏。由于有敌意的矿工可以提前停止攻击,因此也比继续进行深层重组划算。因此,我们不清楚这种新的检查点防御有任何实质性的帮助。尽管本节中提到的风险可能是小概率事件(并且可能要求攻击者拥有大部分哈希值),但它们似乎就是新检查点系统试图规避的问题。
检查点系统的优点
- 虽然新的检查点机制可能对 10 个区块内的安全性帮助不大,但从当前区块链更深入地回顾时,在更长的时间范围内安全性可能会增加。这对某些交易所或商家非常有用,他们现在可以在记录用户账户或转账之前先等待超过 10 个区块,以确保更高的安全性。然而,比特币现金的一个关键优势是提高交易速度,因此这比特币现金社区可能不是一个显著的好处。
- 虽然通过这种机制开辟了一个新的攻击渠道,为有敌意矿工提供了一种新的攻击方法,如上所述,造成共识分裂,但这种做法能带来的回报不如“正常”深度重组攻击那么明显。正常的重组攻击可以就交易所的双重花费进行攻击,从而获利。虽然攻击者也有可能使用这种新的链分裂渠道进行双重花费攻击,但结果是不太明确的,因为不确定哪一方(如果有的话)将成为胜利者及交易所最后会遵循的哪条链。 因此,虽然这种攻击在网络上可能更具破坏性,但对它所能带来的收益却不那么明显。 我们认为这是一个重要的好处。
其他问题
中心化和更多开发人员
对检查点的另一个常见批评是它为开发人员提供了更多的功能并强化了系统中心化,因为开发人员通常在发布新版本的软件时手动插入检查点(比如比特币曾经有过)。 但是在我们看来,这不适用于这种情况,因为检查点是由节点软件自动生成的,而不是由开发团队手动生成的。因此这不是个问题。
远程攻击和初始同步
正如埃里克沃尔( Eric Wall )在推特上解释的那样,新的检查点机制使得 sybil 攻击可用于 最新区块以外区块。 例如,仍处于初始同步中的节点或与暂时关闭数天的用户节点。 攻击者需要在过去的任何时刻启动自己的中继节点并生成新的 10 个区块的长链。
然后可以将这条 工作量较低的链条广播到节点(包括不在当前链条尖端的节点), 导致这些节点在备用链条上过早地执行检查。这不仅会将这些节点留在不同的链上,而且这个链也在攻击者的控制之下。这似乎是检查点系统的一个重要缺陷。
中本聪的 “原始愿景” 似乎暗示能够验证节点被关闭后发生了什么很重要:
节点可以随意离开并重新加入网络,接受工作量证明链条作为他们离开时发生的事情的依据。
(资料来源:比特币白皮书)
在某种程度上,比特币现金 ABC 升级放弃了这种理念,并要求节点全天候在线。
结论
新的比特币现金 ABC 检查点系统是对核心网络和共识动态的根本性改变,其中有利也有弊。这些利弊可能在升级之前尚未经过充分的探讨。虽然我们认为这种改变不太可能立马造成重大危机,但似乎它也无法有效避免这种危机在未来发生。
检查点系统影响总体概述
好处:
- 减少恶意矿工攻击链条的动机
- 就超过 10 个区块确认的交易向商家和交易所提供了更多的保证
弊端:
- 增加矿工造成对网络产生破坏性攻击的能力
- 在与主链同步的节点上引入新的攻击渠道
欢迎转载,请注明文章来自
BitMEX (www.bitmex.com)