乐观 Rollup 的再构想:第一部分

本文探讨了以太坊面临的可扩展性挑战,重点介绍了乐观 Rollup技术及其动态挑战期模型的提出。通过分析挑战期长度对系统安全性和效率的影响,文章建议将挑战期减少至23小时,以增强用户体验而不牺牲安全性。讨论了潜在攻击向量并通过模型评估了恶意排序器在拒绝服务攻击中的行为。

"Optimistic Rollups Reimagined: Part I - Three Sigma" banner

摘要

《重新想象的挑战时段系列》考察了以太坊面临的可扩展性挑战,以及如何使用第二层扩展解决方案,例如 optimistic rollups,来解决这些挑战。重点关注挑战时段和使用中心化顺序器这两个与 optimistic rollups 相关的重要挑战。第一部分提出了一种动态挑战时段模型,该模型考虑了涉及的交易风险,将其减少到最少为 23 小时。本文侧重于动态挑战时段模型背后的理由,以及如何获得将批次价值与 L1 网络过载用户所需成本相平衡的时间。

引言

截至撰写本文时,以太坊是全球市场资本化第二大区块链,仅次于比特币。然而,众所周知,以太坊的潜力远大于比特币协议,主要是因为其在执行任意复杂代码方面的多样性,几乎具有图灵完备的特性。因此,预计以太坊将在未来超越比特币,成为全球领先的区块链。然而,在成为最受欢迎的区块链解决方案之前,以太坊社区仍需应对和解决各种挑战。

目前的首要任务是解决以太坊在过去几年中面临的可扩展性挑战。这主要是由于在以太坊网络上构建的大量应用程序。由于以太坊中的区块容量有限,每 12 秒新增一个区块,这导致网络严重拥堵,影响以太坊处理交易的能力。由此产生的不良影响是交易费用上升,使以太坊协议在大众采用方面变得不那么具有吸引力。

第二层扩展解决方案,例如 optimistic rollupszero-knowledge (ZK) rollups,是解决以太坊可扩展性挑战的主要解决方案。目前的研究专注于 Optimistic Rollups。它们通过批量交易聚合提供了一种简单且相对便宜的解决方案,这些批处理由顺序器在链外处理,然后提交到以太坊的主网。然而,optimistic rollups 也有其自身的一系列挑战,即挑战时段和使用中心化顺序器。

optimistic rollup 的挑战时段是用户可以争议任何包含在顺序器处理的批中的不正确交易的时间窗口。在此期间,用户有机会审查并争议任何他们认为不正确或欺诈的交易。这是通过提交欺诈证明来实现的,欺诈证明是证明特定交易或交易批次无效的机制。为了激励诚实的行为并威慑欺诈,顺序器和争议者在参与挑战时段时均需提交保证金或押金。如果提交的欺诈证明被发现有效,则顺序器的保证金将被斩首,作为提交无效数据的处罚(部分将支付给争议者,部分将被烧毁)。如果欺诈证明被发现无效,则争议者的保证金将被没收。

挑战时段的长度是一个至关重要的设计决策,影响系统的安全性和效率。更短的挑战时段可以提供更快的交易速度,并减少最终确定批次所需的时间。然而,这也可能增加欺诈或不正确交易的风险,因为用户审查批次并提出异议的时间更少。相比之下,较长的挑战时段可以为用户提供更多时间来识别和争议不正确的交易,从而提高系统的安全性和准确性。然而,这也意味着等待批次最终确定的时间更长。

在中心化和去中心化顺序器之间的选择也具有重要性。中心化顺序器可以提供更高的效率和更快的交易处理时间,因为它是批处理的单一协调点。然而,它也提供了一个潜在的故障点,可能会导致中心化和控制的担忧。如果中心化顺序器遭到破坏,整个系统可能面临风险。相反,去中心化顺序器提供了更高的安全性,因为不存在单一的控制点。这种方法可以提供一个更加无信任和透明的系统,因为用户对交易的处理有更大的可视性和控制力。然而,去中心化顺序器的速度可能比中心化的要慢,并且效率较低,因为它依赖于分布式的验证者网络来处理和验证交易。

这些主题将在两部分系列文章中讨论。

如何解决这些问题?

首先,必须以整体的方式来处理这种情况,考虑到网络中的所有代理 - 用户、第二层 (L2) 的顺序器,以及第一层 (L1) 的 PoS 验证者。已经确定了两条潜在的攻击路径。

一方面,有恶意验证者可能选择不包含某些交易或分叉链以重新组织包含特定交易的区块的审查。在这方面发生审查攻击的可能性。虽然它不被视为主要攻击路径,但 L1 的安全性和共识机制仍能解决这些问题。然而,Ed Felten 最近的一篇关于 "在 rollups 中减少挑战时间" 的文章建议了一个潜在的解决办法,涉及在智能合约中实施一个审查 oracle。

另一方面,更让人关注的是,顺序器有可能通过引入或允许恶意交易来为自己谋取利益。顺序器有两种选择来执行这样的攻击:等待挑战时段结束,希望没有人来挑战他(这不太可能,除非挑战时段太短),或者通过在 L1 链上以高 gas 费交易进行 DoS 攻击,阻止提议者在区块中包含任何欺诈证明。

考虑到这些,大多数当前的 optimistic rollup 解决方案目前将 7 天视为标准,这被认为是一个好的参考。这段时间足够长,使验证者能够提交欺诈证明,并抑制网络过载等不诚实行为,因为这个过程是非常昂贵的。

尽管进行了研究,尚未找到使用如此挑战期间值的强有力的理由。经验上的 后验 结果可能已经证明了它的有效性。尽管这段时间值可能确实增强了协议的安全性,但它可能不是惠及整个生态系统的最佳选择。例如,提款目前需要较长时间,降低了用户在 L2 的体验。

因此,提出一些关于当前 现状 的问题尤为重要。所有类型的交易都具有相同的挑战时段是否有意义?可以假设,在一批低价值交易中,没有恶意顺序器在行动。然而,这可能是顺序器故意采取的一种策略 - 将欺诈交易分解成小的交易以避免被检测。此外,在去中心化顺序器的情况下,信任顺序器的方式是否一致(即,具有相同的挑战时段),即便一些顺序器拥有良好的诚实历史,而其他则刚开始,甚至是有新地址的不诚实顺序器?

这些引出一个根本问题:

是否有必要设定一个无条件的固定挑战时段?

明确且公正的问题,使得划定该研究目标变得简单:

  1. 根据涉及交易的风险和顺序器的诚实历史,减少挑战时段。
    • 改进用户体验,主要是通过减少交易最终确认的等待时间。
    • 同时不妥协安全性。
  2. 从当前中心化顺序器的 现状 转向去中心化的顺序器网络(提供经济激励),不妥协安全性,并理想上不增加 L2 成本。

项目 1 主要将在本系列的第一部分讨论,而项目 2 将基本上在第二部分中解决。这两个项目是互为补充,共同构建动态挑战时段模型。

动态挑战时段模型的原理

如前所述,当前的 7 天挑战时段被认为足够长,以至于对于恶意顺序器来说,在主网提交无效交易批次,从而阻止整个 L1 网络通过欺诈证明进行挑战,将是极其昂贵的。挑战时段不应仅仅是“极其昂贵”,而是应该设置一个长度,以至于恶意顺序器无法有利可图地通过将其在攻击中花费的与他从交易批中可能赚取的金额相同或更高的成本进行即服务拒绝(DoS)攻击。

2018 年,赢得 Fomo3D 游戏的参与者演示了一种高效且经济合理的 DoS 攻击方式。当游戏时段快要结束,并且攻击者是最后一个注册的潜在获胜者时,他根据当时区块 gas 限制的 gas 对智能合约进行调用。由于断言条件失败,消耗了整个 gas,当然,整个区块被填满了。为了确保交易被包含在区块中,攻击者支付了高额交易费用。这一行为被重复进行了几个 consecutive block,直到游戏周期结束,阻止其他玩家参与并使攻击者成为最终赢家。关键点在于,攻击者必须支付高交易费用以确保该攻击的成功。

恶意顺序器必须从提交批次到 L1 的那一刻起,直到挑战时段结束都要执行此策略。因此,为了防止这样的攻击,恶意顺序器支付的总交易费用应该足够超过他们可以从该批中获得的最大潜在利润。这个最大潜在利润被认为等同于批次的聚合值。显然,这意味着具有高价值交易的批次将拥有更长的挑战时段。考虑到这一点,应该考虑的最大挑战时段是 7 天,无论批次值如何,因为在目前的实施中已经证明这是足够的。

此外,在为批次确定挑战时段时,也值得考虑顺序器的声誉,可以根据其在 L1 上成功验证批次的历史,以及所拥有的协议治理代币的数量进行评估。与协议承诺的顺序器相比,拥有诚实行为良好历史的顺序器更不可能涉及恶意活动,特别是当存在保持诚实的经济激励时。为此,可以实施治理调整时间因子,特定于每个顺序器,随着顺序器声誉的不断提升,挑战时段也可以不断减少。以此方式,即使高价值交易的用户也能受益于更短的等待时间。

此外,尽管这种方法很有吸引力,挑战时段不能完全依赖于聚合批值,因为可能也会提交无效的小额交易,并且需要一些时间来允许提交欺诈证明。因此,还应强制执行某些最小挑战时段。

因此,上述所有考虑可以转化为批次的以下挑战时间:

其中:

提交给定批次的欺诈证明所需的最小挑战时段;

一个函数,给出恶意顺序器在 DoS 攻击中花费与他潜在赚取的聚合值相匹配所需的时间;

基于顺序器声誉的治理调整时间因子(介于最小阈值和 1 之间)。

所有这些元素的建模将在后续中提出。

在状态依赖虚拟机(如以太坊)中,与区块链的状态进行交互,通过读取和写入数据到区块链的全局状态。这意味着任何最终确定的批次都暗含着先前批次的最终性。因此,给定批次的挑战时段必须在同一时间或在先前批次之后结束。下文通过两个可能的案例进行说明,其中一个批次在时间点 t1 提交,同时提交了一定挑战时段的批次 b1,因此在时间点 t0 提交,并因此具有过期时间 t_exp1 提交欺诈证明。

在第一种情况下,t1 表示新批次将在以前的一个批次之前最终确定。因此,其挑战时段 t_chal1 被设置,使得其过期时间与前一个批次相同: t_exp1 。这实际上意味着新批次的挑战时段将大于其对应的 t_chal1

在第二种情况下, t2 表示新批次将在以前的一个批次之后最终确定。因此,其挑战时段 t_chal2 等于 t_chal1 , 这导致过期时间为 t_exp2 。该过期时间将是下一个批次的参考。

最后,考虑到所有这些,人们可以得到给定批次的挑战时段的表达式:

值得注意的是,随着时间的推移,顺序器声誉的获取和时间折扣因子的应用,批次时间和过期时间将减少,导致挑战时段收敛到更短的时间。然而,待定顺序器有意不适用任何时间折扣因子并提交高价值批次的情况。从时间折扣因子和提交高价值批次的来看,这些批次将被迫在过期之后,可能导致大多数情况下的挑战时段没有显著减少。然而,这种情况高度不可能,因为顺序器有经济激励来应用时间折扣因子,以促进用户的协议使用。因此,挑战时段在事实上应该随着时间的推移而减少。

接下来,介绍上述元素的原理和建模。

最小挑战时段

关于挑战时段可以多短的讨论早在 2020 年就被提出,当时以太坊的共识机制仍为工作量证明,得出最低为 4.5 小时,假设 15 秒的区块时间。然而,正如维塔利克·布特林所指出的, “以太坊实际上经历的共识失败的持续时间都超过了这个时间”。实际上,2016 年发生了一次持续了大约一个月的共识失败,最终导致以太坊和以太坊经典的创建。显然,这是一种非常独特的情况,会扰乱任何以太坊区块链协议,包括具有固定 7 天挑战时段的 optimistic rollup 实现。然而,还有其他一些案例可以作为定义最小挑战时段的参考。

在当前的模型中,考虑到了以太坊区块链的第一次共识失败,该事件 持续了约 21 小时,直到解决。最小挑战时段不能短于这个时间范围。如果短于此时间,恶意顺序器可能会利用网络的不稳定,增加在主网上成功提交欺诈批次的可能性。人们要确定共识失败问题解决后,几个人能够确保当前区块链状态并提交欺诈证明时,挑战时段就已过期,攻击者就将成功。

为确定最小挑战时段 t_min,采用了与得出前述 4.5 小时期的方法相似的方法。假设恶意顺序器成功进行 L1 网络的 DoS 攻击的概率会随着提交区块数 n 的增加呈指数下降,如下所示:

实际上,在一个阻塞的网络中,交易成本和怀疑恶意活动的可能性伴随着每个区块上升的情况是合理的。由于网络活动监测日益增强,永远会使其难以持续攻击。

如果攻击在仅一个区块 n 上成功,即这是最低可能值,那么可以认为这是一种几乎可确定的攻击: P。将其替换入上述方程中,得出的结果为:

相反,如果假设攻击的可能性为 1−P ,那么执行攻击必须持续 T。考虑到 12 秒的区块时间(在撰写时),其等价值时期为 23 小时。考虑到这超过了前述 21 小时共识失败的解决方案,当前模型中的最小挑战时段将为:

理解平衡批次值与在 L1 网络上进行过载攻击所需的时间

本部分的目标是提出前述值得的原理,即顺序器在执行 DoS 攻击主网的过程中,所需要花费的时间来使得所花费的金额和来自无效批次的最大收益相平衡。如前所述,恶意顺序器旨在提交在区块顶部优先获取的交易,并且消耗整个区块可用的 gas。为了实现这一目标,顺序器必须通过支付更高的交易费用,来与其他诚实的 L1 网络交易进行竞争(其中可以包含欺诈证明)。

当然,这种情况会创造一个对抗环境,恶意顺序器不断试图在待处理交易池中出价更高,因此 gas 价格会上升。这阻止他们将交易(包括欺诈证明)发布到区块链上。

对抗环境的模拟,例如套利中的抢先交易,已经表明 gas 价格可以在短期内呈现指数递增。如下面的图表所示。

在当前情况下,对抗环境预计将持续更长的时间,假设总会存在诚实代理尝试提交欺诈证明的激励(保证金奖励)。然而,随着时间的推移,愿意支付高额费用的代理会减少,从而导致竞争减少,随之减缓 gas 价格的攀升。因此,长期来看,gas 价格的演变被视为对数模型。因此,DoS 攻击开始时,关于恶意顺序器和其他交易者的交易费用 C(t) 的演变可以建模为:

其中 C0 是常数,代表恶意顺序器在启动 DoS 攻击时引入的交易成本,而 C 是一个模型对数演变的常数。添加常数 C1 以确保在 DoS 攻击的开始时具有有效的交易成本值。

为了建模 C ,需要考虑 gas 价格 P(t) 和区块的 gas 使用率 U(t)

因此,常数 C 的计算为:

理论上,任何区块提议者都可以将区块填满多达 3000 万 gas,这是以太坊的区块 gas 限制。然而, 基础费用会在每当新完整区块被添加到链上时增加 1.125 倍。因此,尽管对验证者而言,填满每个区块以获取更多收入是经济上合理的,但随着基础费用的增长,会有越来越少的用户愿意为其交易计入。这种网络活动的即时下降也会短期内降低验证者的利润。因此,在提高基础费用以及通过交易费用最大化收益之间必须权衡。

以太坊的目标是每个区块 1500 万 gas,占 3000 万的 gas 限制的一半。因此预计,在很拥堵的时间段,区块的使用率将变化在这些范围之间。然而,准确建模这种变化的确切演变是非常困难的,尤其是在考虑 DoS 攻击的情况下。因此,本工作提出了两种可能的交易成本模型:一种是代表下限值,假设 DoS 攻击中每个区块已填满达到约 1500 万 gas,而第二种模型是代表上限,假设 DoS 攻击中的每个区块填满 3000 万 gas。

常数 C0 的值更难获得,因为它模型中 gas 价格的长期演变。为了探讨这个概念,研究了一个可比的场景 - 2020/2021 年的 DeFi 赛季,该赛季遇到 L1 网络的不平衡。此期间期间区块利用率以对数的方式不断增加,最终达到 100%,从70%左右。

在出现 DoS 攻击的情况下,网络拥堵也会很高,区块利用率预计会达到最大容量。由于 gas 价格与网络活动有关 - 即,网络越拥堵,gas 价格越高 - 因此可以在该期间记录下的区块利用率和相应的 gas 价格演变之间画出联络。

因此,基于上述分析,决定使用该曲线作为基准,对交易成本演化函数 C(t) (gas 价格隐含的)进行建模。通过将数据拟合为形式为 *C = C0 + C1 ln(t)** 的对数函数,如下图所示,获得了参数 C0,值为 32.365。

总而言之,交易成本演变的函数,在 DoS 攻击期间经过如下建模:

通过对交易成本函数进行时间积分,导出了一个总成本函数。该函数表示恶意顺序器在不断增加的区块数量中,对网路的攻击所需支付的费用。该函数为:

其中 C 是一个常数,使得顺序器的初始垃圾发送成本等于

因此,

再次展示图表以 CC0

最后,通过利用这些函数,可以确定 k 的值,该值是计算挑战时期必要的。在每次批次提交通过程,都会获得来自 oracle 的当前 gas 价格,并通过公式 C(t) = k 解出 t。要获得相当数量的区块,可以将结果除以 12 秒的区块时间。

用于确定挑战时段的方程不是一个简单的代数方程,需要一种数值方法,例如牛顿-拉夫森法来解。由于该计算在 gas 费用方面可能会很昂贵,建议在链外进行计算,并将结果输入到智能合约功能中。由于该方程是公共的,任何人都可以求解并验证输入时间的正确性,从而提供一种无信任的服务。

实际用途案例

考虑一个聚合交易总值为 $ 100,000 的批次向 L1 进行提交。在此时,gas 价格约为 50.9 Gwei,换算成美元为 $ 0.00248。

通过应用牛顿-拉夫逊法求解该函数,将得出 t = 23小时,进行 计算此时间为 77209.65。

这意味着,在该 gas 价格和区块 gas 使用情况下,每个聚合值小于 1.04 亿的批量将具有 t_chal ≈ 23小时 的挑战时段。由于任何没有时间折扣 (即没有使用任何的符合 104 万的时间值的批)将会拥有相关挑战时段值短于 23小时,而前述所设定为最小。与此相反,超过 7.67 亿 USD 的 L2 TVL 的批次 将面临

通常,为了同样的 gas 价格,聚合值小于 1.97 亿 L2 TVL 的批次将拥有 t_chal 事件中。任何超出 14.6 亿 USD 的实际 L2 TVL 的批次将拥有

上述案列注文于实际的常采用,在连续的打压中 需考虑 to be 不切实际的问题。因此, gas 使用情况的 30 万的点是不可接受继续此事为长时间。

因此,在所有有效区块都使用 15 万 gas 可称作理性的意思,也恰如所有块都将确解释。

低价值交易可能造成多大的损害?

前述的理由是基于恶意顺序器在给定批中的高利润潜力与同样长的挑战时段平衡的假设。然而,顺序器可以采用一种策略,即提交一笔无效的低值交易,以此在 L1 解锁大量资金。如果对应的批次时间及其后来的挑战阈限设置为 23 小时,例如,这对于顺序器而言,充值策略将无拘无束---过遍的网络不会受到影响。

在这种情况下,必须假设验证者最终会怀有社会责任感,而不是单纯依靠经济激励。随着挑战时间的推进,越来越多的与我社会交易而他的决策,将使得诚实的买家打击而非被获利者预测是否阐明已方威胁到大多数 L1 网络清除的问题(即时间上的各种)。而这种方式不是理想方案,不过在挑战点随时受到表的存在。

由于其几乎好的图灵完备性,很难准确预测时间的 EVM 计算输出的后果。 所以对任何给定智能合约执行的后果无法做出确切的预测---因为它在理论上可能复杂无比。此特性是 EVM 固有的,无法得以规避,因此模型未能特别集中。

此外,为了促使顺序器诚实地做出行为,必须提供经济激励。这些激励将在第二部分中详细说明。

总结

第一部分介绍了 optimistic rollups 中挑战时段的概念,用户可以在此期间争议不正确的交易。此时期的长度影响系统的安全性和效率。所提出的动态模型根据交易风险(以及顺序器诚实性,详见第二部分)来减少挑战时段,提高了用户体验,同时未妨碍安全性。潜在攻击路径也被解决,并推荐一个 23 小时的最小挑战时段。最后,该模型估算了恶意顺序器在 DoS 攻击期间,平衡批次价值与对 L1 网络的成本所需的时间。

请参阅 Twitter 讨论 https://twitter.com/threesigma_xyz/status/1635676314609889282

致谢

特别感谢 Three Sigma 的合作者: Afonso Oliveira, Tiago Barbosa, Tiago Fernandes,以及整个经济建模部门,感谢他们的巨大动力和反馈。他们的贡献对于实现本文的最终结果至关重要。


参考文献

https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/

https://ethereum.org/en/developers/docs/scaling/zk-rollups/

https://ethresear.ch/t/reducing-challenge-times-in-rollups/14997

https://kelvinfichter.com/pages/thoughts/challenge-periods/

https://medium.com/coinmonks/how-the-winner-got-fomo3d-prize-a-detailed-explanation-b30a69b7813f

https://learnblockchain.cn/article/12805

https://blog.ethereum.org/2015/08/20/security-alert-consensus-issue

https://arxiv.org/pdf/1904.05234.pdf

https://arxiv.org/pdf/2009.14021.pdf

https://notes.ethereum.org/@vbuterin/eip-1559-faq

https://etherscan.io/chart/networkutilization

https://l2beat.com/scaling/tvl

  • 原文链接: threesigma.xyz/blog/opti...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Three Sigma
Three Sigma
Three Sigma is a blockchain engineering and auditing firm focused on improving Web3 by working closely with projects in the space.