Paradigm丨以太坊2.0合并后,重组问题如何解决?

Paradigm丨以太坊2.0合并后,重组问题如何解决?


作者 | Georgios Konstantopoulos, Vitalik Buterin


摘 要:最近一直在讨论矿工采用假设的修改过的以太坊客户端的可能性,该客户端允许他们接受贿赂以对链进行短暂的重组(进行这种贿赂的主要用例是为了攻击DeFi协议)。


在这篇文章中,我们解释了这种攻击矢量在ETH2合并后将更难执行。


什么是分叉选择规则,为什么它很重要?


分叉选择规则是一个由客户端评估的函数,它把已经看到的区块和其他信息的集合作为输入,并向客户端输出 "经典链"。分叉选择规则是必要的,因为可能有多个有效的链可以选择(例如,如果两个具有相同父本的竞争区块同时被发布)。


重分叉是一个事件,在这个事件中,曾经是经典链的一部分的区块不再是经典链的一部分,因为一个竞争区块击败了它。最终性是指分叉选择规则对某一区块非常有利,以至于该区块在数学上不可能被重置(或至少在经济上不可行)的情况。


在一些分叉选择规则中(例如Tendermint),重合是不可能发生的;分叉选择规则只是通过添加任何已经通过BFT共识最终确定的区块来扩展现有的链。在其他分叉选择规则中,重合是非常频繁的。


Paradigm丨以太坊2.0合并后,重组问题如何解决?


以太坊的现状是什么?


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


为了这个例子,假设区块的难度可以是100或110,想象一下下面的情况。


Paradigm丨以太坊2.0合并后,重组问题如何解决?


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


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


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


2b和3c区块到达,每个区块的难度都是110,创造了一个总难度为320的新叉子!这意味着叉子选择的难度是320。这意味着分叉选择规则现在将使用2b而不是2a,3c而不是3b,这些都是上一个经典链中的块。这是一个2个图块的重分叉。


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


链重组的影响


由于延迟的原因,短暂的重分叉一直在发生。矿工A和矿工B可能同时找到一个有效的区块,但由于区块在p2p网络中的传播方式,网络的一部分会首先看到A的区块,另一部分会看到B的区块。如果这两个区块的难度相同,就会出现平局,客户要么随机选择,要么选择较早看到的区块。通常情况下,当第三个矿工C在A的区块或B的区块上建造一个区块时,平局最终被打破,而另一个区块则被遗忘。偶尔,运气不好也会导致2-5个区块的重合。超过这个时间的重分叉,几乎都是由于极端的网络故障、客户端错误或恶意攻击造成的。


短暂的重分叉不是致命的,但它们仍然对网络有一些重要的不利后果。






可能发生的最坏情况


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


在这些情况下,有很大的动机试图通过竞争而不是延长经典链的顶端来 "偷 "费用或MEV。在下面的例子中,区块1的后置状态是异常有利可图的,区块2a已经被开采。然而,不是1个而是3个区块生产者选择在区块1而不是区块2a上挖矿(以便要求在区块1之后暴露的任何MEV),这可以扩展到任意数量的方向。


Paradigm丨以太坊2.0合并后,重组问题如何解决?


很明显,这样的模式为恶意的51%攻击打开了一扇大门。我们把从事这种重组挖矿战术的矿工称为 "近视理性",因为这样做的决定在短期内可能是理性的。然而,他们在ETH上有明确的(造币商)或隐含的(矿工)多头头寸(因为费用和区块奖励是以ETH计价的),这意味着任何此类减少用户对以太坊信任的攻击都是违背他们的最佳利益的,因此从长期来看是不理性的。


合并后的以太坊与股权证明


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


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


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


参与者:一组验证者投票决定他们认为哪个区块是经典链的头。鉴定人的投票被称为 "证明",他们为区块赋予 "权重"。控制鉴定人意味着控制分叉选择规则。


每12秒有一个 "槽",它代表了一个提出区块的机会。对于每个时段,一个洗牌算法伪随机地选择一个由所有验证者的~1/32组成的委员会,其中每个委员会中的一个验证者是提议者,其余的是赞成者。审定者对他们认为是经典链的一部分的区块进行平行投票。由于委员会是伪随机抽样的,攻击者没有办法将他们的验证者集中到一个单一的位置。


今天,信标链有~196k个验证器,这意味着每个槽都有一个大小为~6125的委员会。因此,即使是单一区块的重构也是非常困难的,因为一个只控制了少数验证者的攻击者没有办法击败成千上万的诚实的大多数参与者。


为了获得一些关于为什么会这样的直觉,让我们看一个有2个插槽和24个验证者的例子,其中9个是恶意的。验证者被分成两个委员会,由于随机洗牌,对手不太可能控制他们被分配到的任何一个小组的50%以上,并导致重分叉。


Paradigm丨以太坊2.0合并后,重组问题如何解决?


更正式地说,拥有p%股权的恶意行为者控制N个验证人规模的委员会的50%以上的概率遵循二项分布(其中k=N/2)。


Paradigm丨以太坊2.0合并后,重组问题如何解决?


计算不同赌注值的概率,我们得到以下表格:


Paradigm丨以太坊2.0合并后,重组问题如何解决?


我们现在明白,直接进行重分叉需要攻击者控制接近50%的验证者。


如果攻击者拥有~25-49%的验证者,还有更微妙的攻击是可能的(见这篇论文,或者这里有一个快速总结)。然而,这些攻击有已知的修复方法,可以不引人注意地实施,增加安全性,接近无条件的50%。


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


重组战略采用的博弈论


既然我们已经看到了重合策略在不同的分叉选择规则中是如何运作的,那么就值得通过一个简单的博弈论例子来了解矿工或验证者何时运行执行重合策略的软件来获利是合理的。


我们可以用一个回报矩阵来非正式地描述每种情况,其中 "缺陷 "意味着 "下载并使用执行反欺诈的软件"。报酬是 "短视 "的,没有考虑到长期后果。


中本聪PoW


在最长链PoW中,短距离重排可以用验证器集的哪怕一小部分进行概率性的重排。偶尔总会有一些区块具有异常有利可图的后置状态,以至于即使是1-10%的成功率也值得尝试与该区块的现有子块竞争。


矿工可以是一个中等规模的矿池,依靠他们连续找到下一个2-3个区块的可能性,或者他们可以将他们收入的一部分送入一个任何人都可以索取的合同,以贿赂其他运行相同软件的人在他们的链上建立并帮助它克服现有的经典链。


因此,一些矿工可能会被诱惑去运行重分叉客户端。


Paradigm丨以太坊2.0合并后,重组问题如何解决?


Gasper


在Gasper中,1-64个槽位的重排是可能的,但需要攻击者控制整个验证者集合的很大一部分(因为他们不能把赌注集中在某个特定的槽位上,所以他们需要有足够大的赌注在他们想要攻击的槽位范围内随机选择)。除非有非常多的其他验证者也同时采用,否则采用重新挖矿软件是没有用的。


因此,如果51%的验证者有哪怕是最轻微的利他主义或懒惰,那么运行重分叉挖矿软件不可能是稳定的均衡状态。


Paradigm丨以太坊2.0合并后,重组问题如何解决?


Tendermint


在Tendermint中,情况更加明朗:重组是不可能直接进行的,任何违反单槽最终性的行为都需要1/3以上的验证者被砍掉。与Gasper的情况类似,这也意味运行重分叉挖矿软件并不稳定。


Paradigm丨以太坊2.0合并后,重组问题如何解决?


从上面我们可以看出,虽然采用 "重分叉geth "在所有情况下都是可能的,但基于某种平行证明概念的分叉选择规则具有诚实的均衡,比中本聪分叉选择中的均衡更稳定。


经验之谈


在以太坊的背景下,最有效的预防措施是进一步加快合并的工作,特别是迅速实现可信的能力,进行 "紧急合并",将链子过渡到PoS。急于合并会有很高的风险,可能会破坏基础设施,但如果许多矿工开始重新攻击链子,一个可信的承诺还是要做的,这将对这种行为起到激励作用。


接近合并的时间是风险最大的时间,因为矿工仍然是系统的负责人,但他们的时间跨度减少了。然而,有两个因素缓解了这种风险:




合并后,重新分组验证将成为一个更小的问题,因为单个验证者或小群验证者不能单独地重新分组一个块。重组攻击的成功需要解决困难的协调问题,让很大一部分验证者同时上岗。然而,一些小的风险仍然存在。如果希望进一步提高安全性,那么以太坊可以进一步调整分叉选择规则,将重合攻击的要求提高到50%的理论最大值,或者找到一种方法,直接转向单槽确定的共识。


原文链接:https://www.paradigm.xyz/2021/07/ethereum-reorgs-after-the-merge/



Paradigm丨以太坊2.0合并后,重组问题如何解决?

Georgios Konstantopoulos, Vitalik Buterin 作者

Mike Jin 翻译

Vivian 编辑


内容仅供参考 不作为投资建议 风险自担

版权所有 未经允许 严禁转载


Paradigm丨以太坊2.0合并后,重组问题如何解决?

Paradigm丨以太坊2.0合并后,重组问题如何解决?

展开阅读全文

页面更新:2024-03-14

标签:以太   可能会   有利可图   攻击者   区块   矿工   客户端   难度   规则   风险   竞争   委员会   情况   时间   经典   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top