• 0

  • 4

  • 收藏

为什么选择 Optimistic Rollup?

Unitimes_Peter

Unitimes+Ethereum,😜

1年前

作者:John Adler

为什么Optimistic Rollup具有它的属性?为什么它安全且去中心化的?为什么它是当今扩展以太坊的最有希望的途径?

如果您正在阅读这篇文章,您肯定会听说过Optimistic Rollup [1],这是一种很有前途的新扩展技术,是今年 DevCon 的热门话题。关于这种技术是如何运行的,已经有一些研究人员解释过了,但是他们没有解释它有效的原因。这导致许多团队现在尝试以自己的方式实Optimistic Rollup,这通常会损害整个系统的加密经济安全性。

这篇文章的目的是首次专注于后一个主题:解释为什么 Optimistic Rollup 能够在保持去中心化的同时实现可持续、安全地扩展

什么是 Optimistic Rollup

我在6月写了首个针对 Optimistic rollup 的最小可行的规范[2]。该规范为我较早之前发表的论文《构建可扩展的去中心化支付系统》[3](与Mikerah共同撰写)中介绍的更为普遍的想法提供了参数化的高级规范。该规范的目标是在区块链上首次实现无需许可的、信任最小化的可扩展侧链。

Optimistic Rollup 的运作如下:任何人都可以无需许可地向侧链提交区块,将整个区块发布到链上,作为要验证(Merkleized)的呼叫数据和 bond。一个新的侧链区块只能延伸侧链的尖端,链上合约要跟踪该尖端(简单地说,该合约运行侧链的一个轻客户端,将侧链区块头的哈希保留在存储中)。侧链区块在长时间延迟(一个系统参数,但应该相当长,例如一两周)后完成,这将返回 bond。提款在侧链上启动,并且可以通过针对最终侧链区块的非交互式包含证明来完成。如果侧链区块无效且最终未确定,则可以通过提交非交互式欺诈证明 [4],回滚链的末端并销毁一半的 bond 并将另一半奖励给欺诈证明者来孤立它及其所有后续区块。总之,这是允许最小化信任的双向资金桥梁。

是的,就是这么简单。 那么为什么以前没有实现呢?

我将进一步阐释:为什么选择Optimistic Rollup

事实证明,Optimistic Rollup 和先前的扩展提议之间存在许多细微的差异,这使前者成为短期到中期内最有希望的扩展解决方案,而后者则大部分被归类为历史。本节介绍了这些关键差异背后的联系。

合并共识

Optimistic Rollup的关键独特的特征之一是合并共识 (merged consensus),这是一种可在链上验证的共识协议(保存用于实际的区块验证,这是通过欺诈证明隐式完成的)。但什么是去中心化共识协议?

去中心化共识协议包含一些独特功能:

分叉选择规则(如何在其它两个有效链之间进行选择)

区块有效性函数(状态转换函数)

领导者选择算法(允许其通过用新的区块扩展其尖端来尝试改进链)

Sybil抵抗机制(工作量证明,权益证明等)

它们一起提供了区块链的经济安全:操纵历史的成本 (请注意,为简洁起见,我在这里忽略了一些事情,例如,一些去中心化的共识协议是无领导的 [5])。

Optimistic Rollup 的情况下,侧链在结构上是不分叉的,因此不需要重要的分叉选择规则。区块有效性是在链下执行的,可以通过欺诈证明在链上被证明是不正确的。这给我们留下了领导者的选择和对 Sybil 的抵抗。

该规范提出了一种先到先得的方案,只需简单地接受扩展侧链的第一笔交易即可。领导者的选择是隐含的和事后的,而Sybil的抵制是由主链本身提供的(即交易费用和区块大小/gas限额)。为什么领导者选择这样的简单选择能够行之有效?

因为以太坊链已经提供了安全性。孤立侧链区块的唯一方法是,是否它是无效的或以无效区块为基础,或者是否以太坊链已重组。因此,有效区块具有与以太坊本身相同的终结性和安全性保证! 因此,我们不需要复杂的领导者选择算法或昂贵的Sybil抵抗机制来提供安全性;安全是免费提供的,因此我们可以尽可能简单地对系统进行参数设置。

好的,但是如果我们想事先知道领导者怎么办?一个建议是,您可以在链上运行PoS + RANDAO 来选择领导者。不需要单独的代币,实际上这不利于整个过程。从比特币设计文件[6]中:

如果一个贪婪的攻击者能够集合比所有诚实节点更多的CPU能力,他将必须选择要么使用它来欺骗他人并盗回自己的付款(也即双花攻击),要么使用它来铸造更多的新代币 他应该发现,遵守这些规则比从其他任何人那里获得的钱要多得多,这些规则比其他任何人加起来都更有利于他,而不是破坏制度和自己财富的有效性。

正如中本聪所描述的那样,原生币/代币的全部目的是激励诚实的多数人以保护系统。 Optimistic Rollup中没有诚实的多数,也没有单独的安全性概念,因此原生代币是完全不必要的,只会在使用 ETH 时增加摩擦。

请注意,实际上任何领导者选择方案可以使用在整个链上运行,而不仅仅是我在这里建议的方案。例如,可以使用销毁证明进行拍卖[7]

合并共识的想法是Optimistic Rollup与有着大量相似性的提案(例如延迟状态执行[8]或影子链[9])之间的关键区别。Optimistic Rollup 的共识协议在智能合约中完全在链上运行;因此,它不会影响或不需要主链共识规则的支持。相比之下,延迟状态执行和影子链会在链上自动应用状态转换,这需要主链共识规则的明确支持以及协议内的激励和惩罚。

可持续扩展

既然我们知道了如何以及为什么Optimistic Rollup可以通过合并共识来实现无需许可 (permissionless)那为什么它具有可持续的可扩展性?

在撰写本文时,未压缩的以太坊状态(用户余额和合约存储)的大小约为45GB。与历史记录(交易和区块)不同,状态不能被全节点削减,全节点必须完整保存状态才能验证(即执行)新区块中的新交易。更糟糕的是,为了验证交易,必须执行许多对状态的随机访问,这要求将状态保存在 RAM(对于大多数消费类硬件而言是不可能的)或快速 NVMe SSD 中。状态增长是以太坊最大的扩展瓶颈

虽然当然可以对状态的规模设置硬性限制[10],而不必担心状态增长的方式,但真正解决此问题的方法是状态租金[11]的一种形式,收取使用状态的持续费用。然而,将这种变化部署到以太坊是复杂的,超出了想象,并且被无限期地推迟了[12]

一种实用的解决方案将区块链用作数据可用性层[13],该解决方案将状态增长减轻到不再是一个问题的程度。这些方案最先被zk rollup[14]所普及,这些方案将侧链交易数据作为呼叫数据 (calldata) 发布在主链上,然后使用有效性证明或欺诈证明[15]来确保正确性。

事实证明,历史记录比状态便宜得多(例如,便宜几个数量级)。然后,主链可以负责确保数据可用性,跟踪rollup的区块头,处理抵押和取款以及检查有效性/欺诈证明,这些都没有特别使用状态。通过避免状态,以这种方式进行扩展可以长期持续。Vitalik 提供了关于利用链上数据可用性进行zk rollupOptimistic Rollup的出色总结[16]

请注意,尽管有人觉得影子链[17]Optimistic Rollup完全相同,但这显然是不正确的。

现在,该想法是创建一个完整的影子链,其中计算在链外进行,但状态转换在100个区块后提交回主链。 Oracle可以将新区块添加到链的尾部,其中一个区块由交易列表和由这些交易引起的状态转换列表组成。 如果一个区块未受100个区块的挑战,状态转换将自动应用于主链。

影子链的概念除了被低估外,其想法是在链上自动应用状态转换,这完全无助于状态增长。 Optimistic Rollup不会应用任何状态转换,除非用户明确为其支付了费用(如提款)。 

非交互式FTW

Optimistic Rollup非常重视非交互式欺诈证明。 为什么?

这种迷恋实际上源于想要避免Plasma Cash的缺点之一,即无效历史记录的交互式退出挑战。 这种交互式、多步骤的挑战使Plasma Cash特别容易遭受链拥塞攻击,攻击者通过向主链提交大量的退出 (exit) 请求来试图从 Plasma 合约中盗取资金 (尽管如此,它比 Plasma MVP 更能抵抗这些攻击) 仅需要一个非交互式欺诈证明就可以孤立任何数量的无效Optimistic Rollup块(每个侧链),从而使系统能够应对链拥塞。 注意事项:由于Optimistic Rollup使用欺诈证据,因此如果主链不具有抗审查性,资金仍可能被盗[18]

提款也以非交互方式通过 Optimistic Rollup 进行处理,在侧链上启动,并通过针对主链上最终区块的非交互包含证明来完成。但是,这需要侧链是无需许可的,因此需要合并共识,而不是单个Plasma运算符。

与交互式验证游戏[19]相比,使用非交互式欺诈证明也有好处。交互式验证游戏需要长时间玩。考虑到 Optimistic Rollup 是免费的,攻击者可以通过生成无效的区块并​​在验证游戏期间暂停侧链来对系统进行DoS攻击。使用非交互式欺诈证明,欺诈行为可以立即得到证明(尽管需要注意的是,与交互式验证游戏相比,欺诈证明所能证明的可能受到更大的限制该限制是否对区块链应用真正有意义尚有待商榷)

揭秘交易延迟索赔

Optimistic Rollup不会减少交易延迟。每个侧链区块都需要提交给主链,因此区块时间不会比主链短。除非使用完全抵押的渠道,否则没有已知的安全且不信任的方式来减少此延迟。

但是,不必等到侧链区块完成才能接受其交易。由于Optimistic Rollup是免费的,因此可以保证最终链上接受的是有效区块,并且所有数据都可用(因为所有有效区块都发布在链上),用户可以执行客户端验证以立即接受交易。

乍一看,提款延迟似乎是另一个问题,但实际上并非如此。在通常情况下,用户无需等到提款完成。实际上,该功能主要用于加密经济安全性,在正常情况下永远不应该使用该功能。即时取款的简单方法资助了主链或另一条链上的流动性提供者(或其他想要存入rollup链的用户)进行原子交换[20][请参阅快速取款:Liquidity Providers]

数据可用性挑战

原始论文[21]提出了(隐式和显式)解决数据可用性问题的三种方法:

始终将所有数据发布在链上

使用数据可用性挑战仅在需要时发布数据

使用数据可用性证明

第二种情况是数据可用性挑战,这似乎是一个很好的简单解决方案。不幸的是,如果防御者为挑战支付了费用,那么他们可能会感到悲伤,并且如果攻击者为挑战支付了费用,系统就会退化为仅在链上始终发布所有数据。因此,在设计规范时,选择了始终发布所有数据,而专注于使其更便宜,更高效。后来,使用数据可用性证明进行Optimistic Rollup变得可行[22]

进一步改进

我在原始最低要求[23]的基础上进行了许多性能改进,总结如下。 请注意,重点主要放在基于UTXO的付款和谓词上,而不是一般的智能合约执行上。

1条上的多线程数据可用性-身份验证(即Merkleizing)数据和其他预处理步骤是纯函数,因为它们根本不涉及任何状态。 因此,它们可以并行化。 以这种方式使用以太坊将大大减少状态使用和增长,并且如果以4核计算机为目标,则将数据可用性吞吐量提高4倍。 计划通过几个EIP来实现的第一个是EIP-2242:交易后数据[24]

没有中间状态序列化的UTXO链的紧凑欺诈证明-以太坊式智能合约的通用欺诈证明价格是昂贵的。在UTXO数据模型中,UTXO最多创建一次并使用一次,每个交易完全描述其状态转换。区块生产者可以将元数据附加到每个输入,声明生成它的特定输出。如果该声明是错误的,则可以非交互地证明。独立重新发现BIP-141中描述的欺诈证据方案。

不使用Merkle累加器(无状态查询的客户端)进行无状态查询的实用并行交易验证-状态查询很昂贵。无状态客户端通过消除状态来消除此成本。更简单:只需要​​消除状态查询即可。证人不会立即过时,但可以在几个区块内有效。必须将它们与最近区块的状态转换进行比较,这些状态转换可以在UTXO数据模型中计算为无状态。

链上非交互式数据可用性证明-始终将所有数据发布在链上非常昂贵,并且将Optimistic Rollup限制为线性可扩展性(与Plasma等完全脱链技术相比,这不是渐近问题,因为Plasma Cash检查点也是线性)。相反,我们可以将共识节点进行数据可用性检查的能力作为FFI[25]函数(例如通过预编译)公开,这使我们无需分片即可实现二次可扩展性。 这是LazyLedger[26]之类的系统的核心思想,该系统有望以低成本显着提高数据可用性吞吐量。 但是,与LazyLedger不同,在以太坊上实施此操作不会提供前者的横向扩展属性。

带有侧链的无需信任双向桥,通过停止操作具有使用欺诈证明的双向桥的侧链的永久在线需求可能对用户造成麻烦。 与不适合watchtowers[27]Plasma Cash不同,watchtowers可以用于Optimistic Rollup 但是,我们可以做得更好:在预定的时间后完全永久地停止侧链,然后为用户提供一个巨大的窗口(月)以提交欺诈证明以确定有效的头部,在该窗口中在线的用户必须是:1)已知的;2)有限的。 仅在此期限到期后才允许提款; 想要提早提取资金的用户可以通过与流动性提供者进行原子互换来实现。

团队建设Optimistic Rollup

自从几个月前编写第一个最小化Optimistic Rollup规范以来,我很高兴地发现,许多开发人员团队已经开始构建具有各种曲折和修改的Optimistic Rollup的实现。以下是我们到目前为止公开看到的内容的非详尽列表(顺序,包含或排除不应被视为背书或批评):

Fuel [28]——UTXO数据模型侧重于稳定币支付。可以进行任意的ERC-20令牌和以太坊转移以及原子交换,将来还会做谓词脚本。接近长期存在的公共测试网络版本。

Plasma Group [29]OVM中,类似于EVM的通用智能合约。与Uniswap合作在DevCon 5上演示了Unipig[30]

Arbitrum [31]交互式验证游戏,而不是非交互式欺诈证明,通用智能合约。除此之外,新的Arbitrum Rollup设计与Optimistic Rollup基本相同。

SKALE [32]具有BLS签名聚合[33]Optimistic Rollup

NutBerry [34] ——交互式验证游戏,而不是非交互式欺诈证明,是类似于EVM的通用智能合约。

IDEX[35]——优化的Optimistic Rollup”进行交换。

结论

明年,随着实施Optimistic Rollup的项目上线,以太坊将改变游戏规则,这将大大提高以太坊的吞吐量,并推动可扩展,可持续数据可用性方面的进一步创新。

如果您对与 zk rollup 的比较感到好奇(我在本文中没有介绍),可以查看 Alex Gluchowski [36]的优秀文章[37]

 

原文链接:

https://medium.com/@adlerjohn/the-why-s-of-optimistic-rollup-7c6a22cbb61a

 

正文中涉及的链接:

[1]:https://medium.com/plasma-group/ethereum-smart-contracts-in-l2-optimistic-rollup-2c1cef2ec537

[2]:https://ethresear.ch/t/minimal-viable-merged-consensus/5617

[3]:https://arxiv.org/abs/1904.06441

[4]:https://ethresear.ch/t/data-availability-proof-friendly-state-tree-transitions/1453

[5]:https://arxiv.org/abs/1906.08936

[6]:https://bitcoin.org/bitcoin.pdf

[7]:https://ethresear.ch/t/spam-resistant-block-creator-selection-via-burn-auction/5851

[8]:https://ethresear.ch/t/delayed-state-execution-in-practice/1041

[9]:https://blog.ethereum.org/2014/09/17/scalability-part-1-building-top

[10]:https://www.nervos.org/ckb/

[11]:https://ethresear.ch/t/ethereum-state-rent-for-eth-1-x-pre-eip-document/4378

[12]:https://medium.com/@akhounov/on-the-state-rent-and-pivot-to-stateless-ethereum-ab4d967ff630

[13]:https://medium.com/@trenton.v/transcript-scalable-blockchains-as-data-layers-vitalik-buterin-11aa18b37e07

[14]:https://ethresear.ch/t/on-chain-scaling-to-potentially-500-tx-sec-through-mass-tx-validation/3477

[15]:https://blog.ethereum.org/2014/09/17/scalability-part-1-building-top

[16]:https://vitalik.ca/general/2019/08/28/hybrid_layer_2.html

[17]:https://blog.ethereum.org/2014/09/17/scalability-part-1-building-top

[18]:https://ethresear.ch/t/nearly-zero-cost-attack-scenario-on-optimistic-rollup/6336

[19]:https://offchainlabs.com/Arbitrum-USENIX.pdf

[20]:https://ethresear.ch/t/trustless-two-way-bridges-with-side-chains-by-halting/5728

[21]:https://arxiv.org/abs/1904.06441

[22]:https://twitter.com/jadler0/status/1148021909205991434

[23]:https://ethresear.ch/t/minimal-viable-merged-consensus/5617

[24]:https://eips.ethereum.org/EIPS/eip-2242

[25]:https://en.wikipedia.org/wiki/Foreign_function_interface

[26]:https://medium.com/lazyledger/lazyledger-a-scalable-general-purpose-data-availability-layer-for-trust-minimized-sidechains-and-82d901963de9

[27]:https://ethresear.ch/t/watchtowers-may-not-work-in-plasma-cash/1968

[28]:https://medium.com/@fuellabs/fuel-scaling-stablecoin-payments-10x-today-50x-in-the-near-future-961e3113b39b

[29]:https://medium.com/plasma-group/ethereum-smart-contracts-in-l2-optimistic-rollup-2c1cef2ec537

[30]:https://twitter.com/uniswapexchange/status/1181470960836202496

[31]:https://offchainlabs.com/Arbitrum-USENIX.pdf

[32]:https://twitter.com/Stan_Kladko/status/1188911141008752640

[33]:https://ethresear.ch/t/the-optimal-snark-less-on-chain-scaling-solution/4790

[34]:https://ethresear.ch/t/nutberry-smart-contracts-on-layer-2/6126

[35]:https://blog.idex.io/all-posts/o2-rollup-overview

[36]:https://medium.com/u/8b3a673b9ad5

[37]:https://medium.com/matter-labs/optimistic-vs-zk-rollup-deep-dive-ea141e71e075

 

【本文不代表Unitimes 立场,且不构成投资建议,发布文章仅为传播更有价值的信息,合作或授权联系请发邮件至editor@unitimes.io 或添加微信unitimes2018

4

相关文章推荐

未登录头像

暂无评论