3

多维度比较ZK Rollup和Optimistic Rollup:以太坊扩容的现在和未来

 2 years ago
source link: https://www.chainfor.pro/news/show/136361.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
多维度比较ZK Rollup和Optimistic Rollup:以太坊扩容的现在和未来_区块链资讯_链向财经
多维度比较ZK Rollup和Optimistic Rollup:以太坊扩容的现在和未来
多维度比较ZK Rollup和Optimistic Rollup:以太坊扩容的现在和未来

我们听到很多关于ZK rollup如何被认为是通用智能合约系统的未来的讨论。它借鉴了我们从运行具有数百个dapp、数十万用户和数百万笔交易的开放、安全、与EVM兼容的L2链中学到的实践经验教训。

我们将Arbitrum构建为Optimistic Rollup(OR),因为我们相信Optimistic Rollup是满足用户对安全、去信任、与EVM兼容的L2的现实需求的最佳方式。我们选择了Optimistic Rollup而不是ZK rollup,因为Optimistic系统具有固有的可扩展性和成本优势;我们今天仍然会做出同样的选择。要了解原因,请继续阅读。

内容概要:

  • 人们想要一条能够提供安全性、有保证的进度、可见性和快速确定性的无需信任区块链——他们希望它以低成本和与现有工具兼容。
  • 与ZK Rollup相比,我们深入研究了如何使用Optimistic Rollup提供这些属性的细节。
  • Optimistic可以以较低的成本提供用户想要的功能,因为构建ZK Rollup证明的链下成本非常高。
  • 由于ZK Rollup证明非常昂贵,因此完全参与ZK协议可能需要专用硬件和/或大规模并行性,从而使网络有效地更加去中心化。
  • ZK Rollup声称的优势,要么也可用于Optimistic Rollup,要么需要牺牲重要的安全性或可用性功能。
  • Optimistic Rollup在操作成本上占据优势,因为执行代码比计算复杂的密码证明要便宜得多。

让我们从头开始

让我们从以太坊开始。以太坊用户创建交易以部署智能合约或与智能合约交互。您可以通过几种不同的方式来考虑以太坊交易。一方面,您可以将其视为不透明的数据区块。但如果您查看它的内容,一笔交易当然远不止这些;这是一个请求,要求智能合约做某事,比如:记录一些信息,移动一些资产等。

当交易在以太坊上发布时,会发生两件重要的事情。首先,它被包含在区块链内,并且以太坊就有序交易集达成共识。其次,以太坊执行这些交易并计算结果状态更新。

Rollups:我们都有什么共同点?

让每个以太坊节点执行每笔交易的成本很高,而Rollups是一类可显著减轻这种负载的扩展解决方案。交易的实际执行不是在以太坊上完成的,而是转移到Layer 2(“L2”)上。
但是等一下——Rollups应该由以太坊保护。这意味着我们需要以太坊以某种方式保证交易执行的正确性,即使它发生在L2上。那么以太坊如何才能对Rollups状态给予批准呢?
总之,答案是:证明。Rollups使用专门的证明向以太坊证明其正确性,即使不执行交易,以太坊也可以验证正确性。

Rollups:Optimistic Rollup和ZK Rollup的不同之处

这些证明看起来很神奇:允许以太坊在不实际执行的情况下验证Rollups状态。您可能想知道这些证明是什么样以及它们在实践中是如何实现的。这就是Rollups的各种风格与众不同的地方。

ZK Rollups使用有效性证明。ZK依赖于某一方发布简洁的密码证明,该证明确定该方知道以特定状态结尾的有效区块链。这需要证明方执行链,才能知道如何构造证明,然后通过一系列复杂的密码操作来构造证明。证明由链上L1合约检查。ZK证明是简洁的,并且验证足够便宜,可以通过以太坊交易来完成。

Optimistic Rollups使用不同类型的证明:欺诈证明。顾名思义,Optimistic Rollups是乐观的从某种意义上说,当他们将更新的状态发布到以太坊时,他们根本没有发布任何证据。任何人都可以发布一个包含关于执行某些交易的正确结果的声明的Rollups块。其他节点执行相同的交易,如果他们不同意第一个节点的声明,可以提出质询。有效的争议协议可以解决任何分歧,保证正确的一方将赢得挑战。各方有强烈的动机只发布正确的主张,而不是质疑不正确的主张,因此在常见情况下,所有节点都简单地执行所有交易,并且永远不需要调用证明代码。整个过程由L1合约管理。

好的,那么哪种类型的Rollups更好?在本文的其余部分,我们将在几个维度上比较ZK Rollup和Optimistic Rollup,并解释为什么我们认为未来是属于ZK Rollup的,而像Arbitrum这样的Optimistic Rollup本质上更具可扩展性。

Optimistic Rollup与ZK Rollup:成本

Optimistic Rollup和ZK Rollup之间最重要的区别可能是成本。

Optimistic Rollup要求节点简单地执行合约。例如,如果合约执行添加操作,则节点执行该添加操作。

另一方面,ZK Rollup需要生成复杂的密码证明,需要进行成百上千次昂贵的椭圆曲线运算才能将加法运算包含在证明中。ZK会为每份合约中的每条指令产生该成本。需要对每条指令生成复杂的密码证明,而不仅仅是执行指令,这是ZK Rollup的固有成本劣势——而且是一个很大的劣势。

ZK Rollup的拥护者有时会争辩说,只有一方需要创建证明,而Optimistic Rollup则要求系统有许多节点。但是如果你正在运行一个大型链,无论你使用哪种证明系统,它都会有很多节点。真正的链需要很多节点来服务非变异调用、搜索事件日志、向用户显示交易数据、为用户提供将资金提取回L1所需的数据等等。Optimistic Rollup链的安全依赖于这些节点做他们已经需要做的事情——执行交易和跟踪链的正确状态。

另一方面,使用ZK,构建昂贵的基于椭圆曲线的证明是一个非常大的附加成本。要实现ZK大规模证明的任何希望,您将需要专用硬件设备或大规模并行性——或两者兼而有之。那是非常昂贵的。

结论:Optimistic Rollup具有固有的巨大成本优势。

Optimistic Rollup与ZK Rollup:EVM兼容性

我们在构建Arbitrum时的一个重要考虑因素是与EVM的兼容性。Arbitrum完全兼容EVM;它具有相同的RPC接口并接受与EVM相同的字节码。这在实践中意味着为以太坊编写的任何代码都可以在Arbitrum上即插即用。

Optimistic Rollup已经运行开放的、与EVM兼容的链(包括测试网)一年多,我们已经了解到真正兼容是多么具有挑战性。最初95%的兼容性并不太难,但这在实践中还不够好,只有付出大量努力和构建不会妨碍产品的架构才能让兼容性表现的更好。

在兼容性方面,ZK系统运行的范围很广。有些人认为它是遗留工具,并鼓励人们学习他们的自定义语言。

一些ZK系统并不试图兼容。对于不关心兼容性的开发人员和用户来说,这很好。

多维度比较ZK Rollup和Optimistic Rollup:以太坊扩容的现在和未来

我们并不是说在一个全新的世界中,EVM客观上是有史以来最好的东西。我们认为,考虑到已经与EVM配合使用的开发人员、代码和开发人员工具的数量,EVM带来了如此多的实际优势。考虑一个部署在以太坊上的项目,该项目想要扩展到Rollup,必须用新语言重写他们的代码、委托新的安全审计,并维护多个代码库是繁琐且容易出错的。但即使对于尚未编写任何代码的新项目,EVM兼容性也是一个巨大的胜利,因为它允许这些项目利用围绕EVM存在的代码、工具和人才库。

一些ZK项目正在努力实现EVM兼容版本,但尽管声明含糊不清,但我们不知道迄今为止发布的任何代码允许在ZK Rollups上运行EVM合约。现有的初步系统具有显着的不兼容性。例如,一个声称与EVM兼容的ZK系统未能实现ADDMOD、SMOD、MULMOD、EXP、SELFDESTRUCT和CREATE2操作码;正在考虑取消对XOR、AND和OR的支持;不支持标准交易格式;不支持任何预编译;并且可能会限制交易中的合约调用次数。而且似乎存在根本的不兼容使用ZK模型可以保证即使在最好的情况下,ZK EVM兼容性也会附带精美的页面,并且不支持Optimistic Rollups实现的完全兼容性。

值得澄清的是,当今存在多个特定于应用程序的ZK系统示例(例如Zcash、ZKSync 1.0、Loopring)。事实上,其中一些系统运行良好。核心区别在于,它们针对非常适合ZK实现的特定应用程序进行了微调和专门优化。今天不存在的是允许人们以兼容的方式从EVM到ZK电路的通用编译器。虽然有一些团队声称正在研究它,但没有可用的公共代码或基准来说明用户定义的ZK-EVM合约的证明成本。根据我们的知识和所有公开可用的数据,我们认为它们会非常昂贵。

结论:只有Optimistic以最低的成本支持完全的EVM兼容性。

Optimistic Rollup vs ZK Rollup:去信任的可见性和扩展

在设计Arbitrum时,我们的关键属性之一是无需信任的可见性。简而言之,无需信任的可见性意味着任何人都可以在没有中心化方帮助的情况下查看或获取区块链的内容。重要的是,这不仅意味着每个人都可以偶尔看到状态快照——这意味着每个人都可以看到区块链的完整历史——它是如何到达当前状态的。一个实用的区块链让任何人都可以运行一个节点,该节点可以支持非变异调用、搜索事件历史记录并查看每笔交易——无需依赖中心化的数据提供者。无需信任的可见性使这成为可能。

坦率地说,一些ZK系统在可见性方面走了捷径,并试图谈论他们没有提供完整的区块链功能的事实。当您听到谈论“扩展”时,请仔细聆听。他们是不是说他们正在更有效地编码链的内容(Arbitrum这样做,并且在我们的Nitro版本中会做得更好)?或者他们是说区块链历史的某些部分根本不可用,除非中心化数据提供者愿意稍后与您共享?

回想一下,ZK证明仅证明证明者知道有效链。证明不会告诉您那个链是什么,即使你有足够的数据来验证证明,您也可能没有足够的数据来重建链的历史。

举个例子,假设Alice提交了一笔支付Bob的1 ETH的交易,Bob提交了一笔支付给Charlie的1 ETH的交易,快速连续交易。后来您验证了一个证明,Alice比以前少了1 ETH,Bob的余额没有改变,而Charlie比以前多了1ETH。

但是发生了什么?Alice付钱给Bob了吗?Bob付钱给Charlie了吗?也许Alice直接付钱给Charlie。也许Alice销毁了一枚ETH,而Charlie是由其他人支付的。也许Diana是中间人,而不是Bob。Bob从区块链中寻找证据,但对于一些不提供链可见性的ZK-rollup,他无法区分。

多维度比较ZK Rollup和Optimistic Rollup:以太坊扩容的现在和未来

许多智能合约应用程序需要的不仅仅是知道偶尔的检查点。他们需要了解整个链条——了解发生了什么以及如何达到最终状态。ZK Rollups有时吹嘘比Optimistic Rollups更好的“扩展”,但隐藏了区块链的数据,以便只有证明者知道它不是扩展;它正在删除重要数据。如果ZK提供者说他们“不需要”发布整条链的历史,其实他们真正的意思是他们无法保证区块链的可见性,放弃区块链可见性保证并不是Optimistic Rollup愿意做出的妥协。

结论:Optimistic Rollup系统以最低成本提供无需信任的可见性。

Optimistic Rollup vs ZK Rollup:去信任,及时终结

考虑Rollup时的一个关键要求是它是否提供了无需信任的、及时的终结。简单来说,这意味着在您提交交易后,您和其他所有人都应该及时且确定地知道该交易的结果,并且没有人能够更改或撤消它。

在我们看来,实现及时终结的最佳方法是将交易的顺序与其执行分开。排序产生一个最终的提议交易序列,并且执行尝试按该序列执行交易。如果交易的执行是确定性的,就像在Arbitrum上一样,那么确定交易的顺序就足以确定结果,因为结果是交易顺序的确定性函数。如果每个人都知道交易的顺序,那么每个人都可以轻松确定结果。

完成一个序列需要将序列发布到L1链,并包含足够的信息以允许任何人自己执行交易,以便无需信任地了解结果。理想的Rollup是尽可能频繁地将排序的交易数据发布到L1链。
在Optimistic Rollup中,发布到L1链的成本最少,实际上Arbitrum通常每分钟左右将排序的交易数据发布到L1链,为用户提供快速确定性并保证没有人可以撤消他们的交易。每隔一小时左右就会进行一次新的Optimistic Rollup结果主张,但由于序列已经完成并且执行是确定性的,因此这不会减慢最终确定的速度。

原则上,ZK系统可以以类似的方式运行;即将交易的顺序(可以频繁发布到L1)与验证(稍后进行)与偶尔的有效性证明分开。然而,以这种方式运行的ZK-rollup需要将与Optimistic Rollup系统发布的数据基本相同的数据发布到L1链;上面讨论的(所谓的)“扩展”技术都不可用。为了让这些“扩展”技术起作用,必须实时证明一系列L2交易的有效性,在同一个L1交易中,每次发布一批L2交易时。

因此,试图采用被吹捧的“扩展”技术的ZK-rollup有两个选择:

1) 每分钟左右发布排序交易以及执行证明:这可以保持快速确定性,但需要每分钟在链外生成ZK证明,并在L1链上进行验证。根据实施情况,在链上发布ZK证明的成本估计在500,000到500万gas之间。

2) 每小时发布排序交易和证明:这使ZK证明检查成本合理,但将最终确定时间延长到一个小时。在用户向ZK运营者提交交易和其发布到链上之间的时间里,用户无法保证他们的交易甚至会被包括在内,而且只能相信运营者。

如果我们正在构建一个 ZK 系统,我们会发现这两个选项是不可接受的——第一个太昂贵,第二个不能提供及时的终结。因此,我们最终会使用相同类型的序列器,并在 Arbitrum 的 ZK 版本中在线发布与我们的Optimistic Rollup 版本基本相同的数据。

如果您听到有人吹捧ZK可以将数小时的数据压缩为一个点,请保持警惕。如果他们只在很长一段时间结束时发布单点数据,那么这意味着他们在这段时间内没有提供最终确定性。
结论:实际考虑Optimistic Rollup和ZK系统不得不以相同的方式处理及时的终结。

Optimistic Rollup与ZK Rollup:去信任的活性

去信任活性意味着任何人都可以迫使系统取得进步。(去信任的安全属性确保进度是正确的。)

Optimistic Rollup允许任何节点声称正确执行交易。提出该声明只需要节点执行链的交易,然后存入一笔可以在协议确认声明后退还的代币。

在ZK系统上,进度要求任何节点都可以创建并发布推进区块链状态所需的ZK证明之一。这必须可以使用任何人都可以使用的硬件和软件来实现。因此,它必须不需要构建或购买特定的专用硬件,也不需要进行大规模并行计算。在普通设备上,必须有构建合适的ZK证明的路径。不提供此功能或未发布为其系统生成证明的代码的ZK提供者不会提供去信任的进度,并且系统没有活性保证。ZK Rollup的系统是中心化的,因为只有拥有特殊设备的各方才能推动进步。(目前尚不清楚领先的ZK rollup提供者是否会为普通用户提供可行的证明。)
结论:在Optimistic Rollup的系统中更容易提供无信任的进展。

ZK Rollup与Optimistic Rollup:网桥

ZK Rollup确实具有优势的一个领域是在连接到以太坊方面。Optimistic Rollup系统会导致将资金从Rollup转移到L1的预期延迟一周,而ZK Rollup允许在ZK证明发布到L1后立即进行桥接。实际上,这并没有太大的区别,因为Optimistic Rollups用户可以利用快速网桥服务,以低延迟将L2资金交换为L1资金。所以ZK的优势主要是它的用户可以避免支付网桥服务(在价格上相互竞争)收取的小额费用。这不是理论上的:今天有许多实时快速网桥服务提供从Arbitrum的即时提现。

需要强调的是,ZK Rollups的桥接优势非常狭窄:它仅用于从L2桥接回以太坊。曾几何时(大约2019年),许多人认为Rollups将提供一两个实时dapp的缓慢推出。在这个世界中,Rollup用户会不断发现自己在L1和L2之间来回切换。但这不是我们所处的世界。Arbitrum 拥有一个蓬勃发展的生态系统,数百个dApp遍布Defi的每个角落,许多用户正在连接到Arbitrum并长期留在那里。此外,就用户跨越多个链而言,他们不仅仅是去以太坊。他们也会去其他L1和侧链,对于这种直接桥接,ZK Rollups没有Optimistic Rollups的优势。
结论:ZK系统在桥接到L1方面略有优势,但由于快速桥接和多链使用模式,它在实践中大多得到缓解。

总结

比较Optimistic Rollup与ZK Rollup系统,我们认为Optimistic Rollup系统显然是赢家。Optimistic便宜得多,与EVM和现有工具完全兼容,实践中唯一真正的缺点是在没有快速桥接服务的情况下,L1桥接速度较慢。ZK的其他假定优势需要牺牲区块链可见性或终结时间,我们认为这不是用户想要的权衡。

这一切都不太可能改变。与EVM兼容的合约执行的ZK证明仍将比Optimistic Rollup执行昂贵得多,并且实现有保证的进度、链可见性和去中心化的要求也将保持不变。尽管如果情况发生变化,我们总是愿意将Arbitrum切换到基于ZK的执行,但我们认为它们不会。

人们倾向于将Arbitrum当前提供的内容与ZK系统声称他们将在未来提供的内容进行比较。但这种比较毫无意义。如果我们比较现有的系统,像Arbitrum这样的Optimistic Rollup是唯一支持通用智能合约的开放部署的系统。或者,如果我们正在比较未来的系统,那么我们应该将Arbitrum的未来与未来的ZK系统进行比较。我们不断改进Arbitrum——例如,我们即将发布的Nitro版本包括更低的成本和更好优化的无损链上数据的扩展。我们正在不知疲倦地改进Arbitrum ,并将成本降低到理论极限。正如我们在这篇文章中所展示的,我们相信,当考虑到目前存在的两个系统以及它们各自的理论限制时,Optimistic Rollups是明显的赢家。

已有0人喜欢

本文经授权发布,不代表链向财经立场。如若转载请标注文章来源:链向财经(www.chainfor.com)

为了您能更及时的获取到最新热门资讯,请关注链向财经微信公众号:LXcaijing


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK