主页 > imtoken限制中国用户该咋办 > 详解以太坊合并后的重组攻击

详解以太坊合并后的重组攻击

最近,已经讨论了矿工采用据称经过修改的以太坊客户端的可能性,该客户端允许他们接受贿赂并在选定的区块中排队交易。 (进行这种贿赂的主要用例是攻击 DeFi 协议)。

在这篇文章中,我们将解释为什么这种攻击模式在以太坊 2.0 合并后会更难执行。

1. 什么是分叉选择规则,为什么重要?

分叉选择规则是客户端评估的一个函数,它将它看到的区块集和其他消息作为输入,并向客户端输出什么是“典型链”。 分叉选择规则是必要的,因为可能有多个有效链可供选择(例如,如果同时发布了两个具有相同父块的竞争块)。

重组是一种特殊事件,其中曾经是规范链一部分的区块不再是规范链的一部分,因为竞争区块击败了它。 Finality 是指分叉选择规则对一个区块如此有利以至于该区块在数学上不可能(或至少在经济上不可行)重合的情况。

在某些分叉选择规则中(如 Tendermint),重组是不可能的; 分叉选择规则只是扩展现有链。 在其他分叉选择规则中,重组非常频繁。

2、以太坊目前的状况如何?

在像以太坊这样的工作量证明 (PoW) 区块链中,我们通常会看到“最长链规则”(或更准确地说,“最高总难度链规则”)。 这意味着当客户端发现 2 个区块链时,它会选择总难度最高的一个(即该链中所有区块的难度总和)。

例如,假设一个区块的难度可以是 100 或 110,想象一下以下场景。

1. 我们从难度为 100 的区块 1 开始同步。

合并后的以太坊还值钱吗_以太坊联盟和以太坊的关系_以太坊是无限的为什么还值钱

2. 区块 2a 和 3a 各到达难度 100,我们将它们插入我们的链中,形成一个总难度为 300 的分叉。

3. 难度为 110 的区块 3b 到达,宣布 2a 为它的父区块,形成一个总难度为 310 的分叉。分叉选择规则会注意到“最重”的链现在是第二个分叉,并将切换到它. 这是 1 个块的重组,因为只有块 3a 发生了变化。 请注意,这些区块并没有完全被丢弃,因为可能会有新的区块到来,导致分叉选择切换回第一个分叉。

4. 区块2b和3c到达,每个区块的难度均为110,创建一个总难度为320的新分叉! 这意味着分叉选择的难度为320。按照分叉选择规则,现在将使用2b而不是2a,3c而不是3b,这是以前经典链的块。 这是 2 个块的重组。

你可以看到这里会发生什么。 如果一个新块 4a 到达并宣布 3a 为其父块,则分叉选择规则将切换回第一个分叉,依此类推。

3.连锁重组的影响

由于延误,短期重组一直在发生。 矿工 A 和矿工 B 可能同时找到一个有效的区块,但是由于区块在 p2p 网络中传播的方式,一部分网络会先看到 A 的区块,另一部分会先看到 B 的区块。 如果两个区块的难度相同,就会出现平局,客户端要么随机选择,要么选择之前看到的区块。 通常,当第三个矿工 C 在 A 的区块或 B 的区块上构建区块时合并后的以太坊还值钱吗,平局最终被打破,另一个区块被遗忘。 偶尔,运气不好会导致 2-5 个区块的重组。 比这更长的重组几乎总是由于极端的网络故障、客户端错误或恶意攻击。

短暂的重组并不是致命的,但它们仍然会对网络产生这些严重的后果。

节点成本:当重组发生时,由于必须切换到新的分叉,可能会回滚交易或修改区块链状态,因此会出现一些存储问题。

用户体验下降:重新分叉的可能性意味着用户等待涉及他们的交易被安全地“确认”的时间更长。 一个重要的子案例是交易所等企业在接受存款之前等待更长时间。

以太坊是无限的为什么还值钱_合并后的以太坊还值钱吗_以太坊联盟和以太坊的关系

交易上下文的不确定性:当用户发送交易时,他们对该交易执行的上下文不太确定(例如,最后 N 个块是否会被还原?值得注意的是,这增加了这消除了 DeFi 交易对意外失败的可能性,差于预期的交易结果,或有害的 MEV 提款。

增加 51% 算力攻击的可能性:在最长链规则驱动的系统中,如果链上的矿工从 B1 重新排序到 B2,那么 B1 的难度不再有助于保护链。 攻击者不再需要打败所有的诚实矿工,他们只需要打败那部分没有重组的诚实矿工。 如果经常进行重组,这会大大简化攻击者的工作。

最坏的情况是

在最坏的情况下,频繁的重组可以使区块链的结算保证完全失效并阻止它们继续进行。 通常,区块生产者的“激励兼容”策略应该是延长最长的链。 但是如果一个区块的后状态是有利可图的(例如,有非常高的费用或 MEV 只能通过在该区块之后直接构建一个区块来提取)会发生什么? 这个问题过去是在没有区块奖励和自私挖矿的比特币背景下探讨的,今天是在以太坊生态系统中与 DeFi 相关的 MEV 背景下探讨的。

在这些情况下,有强烈的动机试图通过竞争而不是扩展经典链的顶部来“窃取”费用或 MEV。 在下面的示例中,区块 1 的后期状态是有利可图的,区块 2a 已经被开采。 然而,不是 1 个而是 3 个区块生产者选择在区块 1 而不是区块 2a 上进行开采(以索取在区块 1 之后暴露的任何 MEV),这可以扩展到任意数量的参与方。

出于显而易见的原因,这种模型为恶意 51% 攻击打开了大门。 我们将从事这种重组挖矿策略的矿工称为“近视理性”,因为这样做的决定在短期内可能是理性的。 然而,他们在 ETH 中有明确的(铸币者)或隐含的(矿工)多头头寸(因为费用和区块奖励以 ETH 计价),这意味着任何此类用户对 ETH 兴趣的减少对信任的攻击都违背了他们的最终利益,因此是不合理的长期来说。

4.合并以太坊和权益证明

在 Nakamoto PoW 中,区块在分叉选择中被“串行”固化。 首先,开采一个区块,此时竞争区块可能会重组它。 如果该区块作为经典链的一部分存活下来,(平均)13 秒后,其他矿工会在其上构建第二个区块。 在这一点上,需要一个由两个竞争块组成的链来重组它。 随着越来越多的区块建立在它之上,重置组织链的难度继续增加,但速度很慢。

以太坊的信标链实现了一个名为 Gasper 的 PoS 协议,具有一个名为 LMD-GHOST 的分叉选择规则。 与中本聪 PoW 相反,在出块过程中,有 2 个角色。

以太坊是无限的为什么还值钱_合并后的以太坊还值钱吗_以太坊联盟和以太坊的关系

提议者:验证者的任务是提议一个区块。

参与者:一组验证者,他们投票选出他们认为哪个区块是经典链的头部。 验证者的投票称为“证明”,它们为区块赋予“权重”。 控制验证者就是控制分叉选择规则。

每 12 秒有一个“时隙”,代表一个提议区块的机会。 对于每个 epoch,洗牌算法伪随机选择一个由所有验证者的 1/32 组成的委员会,其中每个委员会中的一个验证者是提议者,其余是同意者。 验证者对他们认为属于经典链的区块进行并行投票。 由于委员会是伪随机抽样的,因此攻击者无法将他们的验证者集中到一个位置。

今天,信标链有 196,000 个验证者,这意味着每个插槽有一个 6125 人的委员会。因此,即使是单个区块的重建也非常困难,因为仅控制少数验证者的攻击者无法击败大多数诚实的验证者。数以万计的参与者。

为了直观地了解为什么会出现这种情况,让我们看一个有 2 个槽和 24 个验证器的示例,其中 9 个是恶意的。 验证者被分成两个委员会,由于随机改组,对手不太可能控制他们被分配到的任何一个组的 50% 以上并导致重组。

更正式地说,拥有 p% 股份的恶意行为者控制超过 50% 的委员会的概率服从二项分布(其中 k = N/2)。

计算不同情况的概率,我们得到下表:

我们现在了解到,直接进行重组需要攻击者控制接近 50% 的验证者。

如果攻击者拥有 25-49% 的验证者,则可能会进行更微妙的攻击。 然而,这些攻击已经有了已知的修复并且可以不引人注意地进行,从而无条件地将安全性提高近 50%。

合并后的以太坊还值钱吗_以太坊联盟和以太坊的关系_以太坊是无限的为什么还值钱

最后,长时间的恢复是不可能的,因为所有深入过去 2 个纪元的区块都被认为是“最终确定的”,即不可能恢复过去。 如果攻击者导致两个冲突的区块被最终确定(例如通过控制 67% 的股份),系统将需要回退到社会干预来恢复。

重组战略采用的博弈论

现在我们已经了解了重组策略如何在不同的分叉选择规则中发挥作用,值得通过一个简单的博弈论示例来了解矿工或验证者何时可以通过使用实施重组策略的软件获利。

我们可以通过奖励矩阵通俗地描述每种情况,其中“缺陷”的意思是“下载并使用执行反欺诈的软件”。 补偿是“短视”的,没有考虑长期后果。

中本聪工作证明

在最长链的 PoW 中,短距离重组甚至可以通过验证者集的一小部分进行概率重组。 偶尔总会有一些区块具有如此有利可图的后状态,即使是 1-10% 的成功率也值得尝试与该区块的现有子区块竞争。

矿工可以是一个中等规模的矿池,这取决于他们连续找到接下来的 2-3 个区块的概率,或者他们可以将他们收入的一部分发送到一个合同中,任何人都可以声称贿赂其他运行相同软件构建的人在他们的链上并帮助它对抗现有的经典链。

因此合并后的以太坊还值钱吗,一些矿工可能会想运行重组客户端。

加斯帕

以太坊是无限的为什么还值钱_以太坊联盟和以太坊的关系_合并后的以太坊还值钱吗

在 Gasper 中,重组 1-64 个 slot 是可能的,但需要攻击者控制整个验证者集的很大一部分(因为他们不能专注于特定的 slot,他们需要有足够大的筹码在 slot 范围内随机选择他们想攻击)。 除非有非常多的其他验证者同时采用重组挖矿软件,否则采用重组挖矿软件是没有用的。

因此,如果 51% 的验证者有哪怕是最轻微的利他主义,那么它就是一个稳定的平衡状态,没有人在运行重组软件。

薄荷糖

在 Tendermint 中,事情甚至更干净:重组是不可能的,任何违反单时隙最终性的行为都需要削减 1/3 以上的验证者。 与 Gasper 案例类似,这也意味着没有人运行重组软件是一种稳定的平衡。

从上面我们可以看出,虽然在所有情况下都可以采用“reorg geth”,但是基于并行证明概念的分叉选择规则具有诚实的均衡状态,并且会比中本聪的分叉选择中的均衡更加稳定。 稳定。

5. 经验之谈

在以太坊的背景下,最有效的预防措施是进一步加快合并工作,尤其是能够快速实现可信、“紧急合并”,将链过渡到 PoS。 急于合并会带来高风险,并可能破坏基础设施,但如果许多矿工开始重新攻击链条,可信的承诺将抵消这种情况。

接近合并的时间风险最大,因为矿工仍然负责系统,但他们的时间跨度缩短了。 但是,有两个因素可以减轻这种风险。

以太坊矿工通常也是 (i) 其他区块链的矿工,和/或 (ii) 以太坊社区中其他身份的成员,因此他们仍然有动力表现良好。

随着合并的临近,进行紧急合并的难度、成本和风险都会降低。 紧急合并将在合并预定日期前几个月具有高度破坏性。 在预定的合并日期前两周,将是一个参数设置,供客户验证运营商是否已完成下载。

合并后,重组验证器成为一个小得多的问题,因为单个验证器或一小群验证器无法单独重组。 重组攻击要想成功,就必须解决让大多数验证者同时离线的极其困难的协调问题。 但是,一些小风险仍然存在。 如果想进一步提高安全性,那么以太坊可以进一步调整分叉选择规则,将重组攻击的要求提高到理论最大值的50%,或者想办法直接走向单时隙inality的共识。