zkSync:zkEVM 方案一览:简析zkSync、StarkNet、Polygon zkEVM 、Scroll

ZKRollups,也称为有效性Rollups,是一种革命性的以太坊扩展方式,它允许交易在链下进行处理,并在主链上以单个压缩交易的形式合并。这个过程增加了交易吞吐量,降低了费用,同时保持了主链的安全性和去中心化。

使用零知识证明是ZKRollups的突出特点之一,这种密码学证明类型使得证明者能够向验证者证明一个陈述是正确的,而不泄露任何额外的信息。

对于ZKRollups,ZKP确保链下交易的完整性,使证明者能够证明交易批次的有效性,而无需透露交易的具体细节,也无需要求验证者在接受新状态之前检查所有交易。

与OptimisticRollups相比,ZKRollups提供了更高级别的安全性,因为它们没有在以太坊之上引入其他信任假设,并依靠以太坊和数学来保证安全性。OptimisticRollups依赖于博弈论和1/n诚实节点假设,这意味着对于每个交易批次,总会有至少一个诚实节点可以挑战恶意交易。

另一方面,ZKRollups的操作者,也称为序列器和证明者,没有任何机会危害用户的资金,因为他们的角色“仅仅”是收集交易批次并生成ZK证明,而用户的资金仍留存在以太坊L1上,以太坊最终负责验证L2提交的ZK证明并完成底层交易。

有效性证明是通过对状态数据进行复杂的多项式计算来生成的。如果状态数据无效,则无法生成有效性证明。L1上的验证者将输入状态数据来验证有效性证明,因此如果证明者更改了状态数据,则验证者将不接受该证明。

与OptimisticRollups相比,ZKRollups还有两个优点:更快的最终性和更高效的数据可用性。

首先,它们使得最终性更快。因为只要提供有效性证明,交易就在以太坊上被确认;而OptimisticRollups需要等待一个星期确保没有挑战,因此才认为交易是合法和最终的。其次,与数据可用性相关,ZKRollups更加高效。因为只需要发布状态差异即可,因为无需重建所有交易以进行验证,相反,OptimisticRollups需要发布完整数据,以便任何人都可以重建交易并最终挑战它们。因此,ZKRollups在以太坊上使用的数据带宽更少,使用户甚至可以获得更便宜的费用。

Zk-rollups被认为是以太坊可扩展性的终极解决方案,但由于以太坊虚拟机不设计支持ZK电路,实现它们是困难的。为了解决这个问题,许多组织和研究人员尝试创建一个名为zkEVM的Rollup支持虚拟机,它可以以与零知识证明计算兼容的方式运行智能合约。

Vitalik提出的四种zkEVM分类

Vitalik在他的博客文章中概述了四种基于与以太坊兼容性的zkEVM类型。

需要注意的是:

zkEVM越接近以太坊的功能,生成Zk证明的速度就越慢,成本就越高。另一方面,如果一个区块链或Rollup更符合以太坊的规范和标准,那么开发人员就更容易在其上构建应用程序并集成到以太坊生态系统中。总之,与以太坊高度兼容的区块链可能具有竞争优势。

第一类:完全等同于以太坊的zkrollups,在所有部分中精确地复制以太坊。到目前为止,还没有任何zkEVM能够实现与以太坊的等效性。第二类:完全等同于EVM的Zkrollups力求与EVM等效,但并非完全等效于以太坊。它们与现有应用程序完全兼容,但对以太坊进行了一些微小修改,以使开发更容易,并且可以更快地生成证明。Scroll和zkEVMPolygon在理论上属于此类;在实践中,它们目前属于第三组。第三类:几乎等同于EVM,为了使证明生成更快,牺牲了更多元素和等效性。PolygonzkEVM和Scroll目前属于此类。这个类别通常是进入第二类的跳板。第四类:高级语言等效,意味着它们都接受用Solidity编写的智能合约,然后将其转换为另一种自定义的、适用于zk的语言。zkSync和StarkNet属于这个类别,尽管zkSync可能会随着时间推移添加对EVM字节码的兼容性,并最终向更高的类型转移。虽然Vitalik提出的分类目前是最流行和最公正的,但也有其他分类方法。

Immutable提出的四种分类

Immutable,这个基于StarkWare并专门针对NFT的L2,在其一篇博客文章中提供了以下有用的分类:

这些类别与Vitalik的分类相比,更清晰地基于现有zkEVM在堆栈的特定级别上达到其与以太坊的兼容性或等同性。

Solidity兼容。与以太坊的兼容性是在高级语言级别Solidity上实现的,这意味着开发人员可以继续使用他们在以太坊上习惯使用的语言编写智能合约。然而,这些Rollup立即将Solidity转换为它们的中间表示形式,然后在它们的字节码中编译,并在它们的自定义环境中执行。具体来说,这些L2使用转译器将Solidity代码转换为自定义VM的可读代码。这些转译器不支持某些Solidity功能,因此开发人员可能需要调整他们的智能合约。例如:zkSync和StarkNet。EVM兼容。从语言层面上看,这些Rollup与EVM兼容,但它们拥有自己的字节码,这意味着Solidity可以直接编译成EVM操作码/字节码,然后在自定义VM运行时之前转换为自定义字节码。实际上,这些Rollup与大多数以太坊程序兼容,但某些应用程序可能需要进行重写。此外,一些字节码功能不受支持。例如:PolygonzkEVM。等效于EVM。这些Rollup创建了一个zk验证电路,可以直接读取EVM操作码和字节码,尽管VM本身与EVM不同。这些Rollup完全兼容现有应用程序,但可以对以太坊进行一些微小修改,以使开发更容易,并使证明生成更快。例如:Scroll。等效于以太坊。这意味着在所有组成部分上复制以太坊,类似于Polygon所做的方式。到目前为止,没有任何zkRollup属于此类别。将此框架与Immutable提出的框架相结合,并添加一些其他信息,可以概述以下图表,在没有任何性能数据可用之前,突出考虑在比较不同的zkEVM实现时要考虑的一些设计差异和相似之处:

zkSync2.0

zkSync2.0是以太坊网络的扩展解决方案,与Solidity编程语言完全兼容。使用zkSync,用户可以选择两种数据可用性类型:zkSyncRollup和zkSyncPorter。前者将数据直接发布在以太坊上,使其与以太坊L1一样安全,而后者将数据存储在链下,导致交易速度更快、成本更低,但安全级别较低。

zkSync是EVM兼容的,因为它可以将用Solidity编写的智能合约代码转换为Yul,并将Yul转换为LLVM-IR,然后将其重新编译为专门设计用于zkSync的EVM的自定义电路兼容字节码集。虽然这需要中间步骤,但也允许添加其他非EVM功能,例如AccountAbstraction。此外,zkSync的公司MatterLabs计划逐步使其更具有Ethereum工具包的兼容性,并准备在可扩展性和互操作性领域推出其第一个三层原型zkSyncOpportunity,并作为其雄心壮志的一部分在测试网上发布。

在撰写本文时,zkSyncEra刚刚推出,因此对其表现作出评论还为时过早。只支持简单交易的zkSync1.0是最大的zkrollup之一,据TVL统计,已锁定超过8300万美元,累计交易量超过1900万笔,而StarkNet的TVL仅超过1900万美元,累计交易量为400万笔。

StarkNet

StarkNet?是一种类型4/Solidity兼容的zk-rollup,它采用了一种不同类型的零知识证明,称为STARKs(ScalableTransparentARgumentofKnowledge),以确保链下交易的完整性。STARKs被认为比SNARK更有效和可扩展,但可能需要更复杂的技术设置。

虽然StarkNet也支持智能合约,但由于使用STARKs,以及StarkNet合约和StarkNetOS是用Cairo语言编写的,所以它的能力相对较小。为了使开发更容易,StarkWare最近升级到了Cairo1.0,该版本模拟Rust。与zkSyncEra一样,可以将StarkNet归类为“Solidity兼容”,因为它不会在EVM内执行程序,而是创建一个全新的、专门设计的VM,并使用自定义字节码。StarkWare使用Warp转译器将Solidity代码转换为CairoVM字节码。

然而,与zkSyncEra和其他zkEVM实现不同,StarkNet团队的目标不是与EVM或其他以太坊组件兼容,而是旨在通过滚动其自定义客户端API、JavaScript库和钱包系统使StarkNet的VM尽可能高效,这将迫使与以太坊兼容的工具手动添加StarkNet支持。尽管Cairo1.0还引入了Sierra——安全中间表示——作为Cairo1.0和Cairobytecode之间的新中间表示层,但Warp转译器不支持某些Solidity功能,并且离匹配zkSyncEra的EVM兼容性还有很长的路要走。

PolygonzkEVM

PolygonzkEVM?是一种zk-rollup,它使用自定义语言zkASM来解释zkEVM代码,并在非EVM运行时环境中验证智能合约的执行。该项目始于2021年,通过以2.5亿美元收购HermezNetwork开始开发一个结合了STARK和SNARK的安全性和效率的EVM等效系统。虽然STARK用于为交易状态生成有效性证明,但SNARK用于评估STARK证明的正确性。这些解决方案的组合可以实现安全性、速度和低交易费用。

2022年7月,Polygon宣布将PolygonHermez改名为PolygonzkEVM,在撰写本文时刚刚推出。PolygonzkEVM的最新测试网版本引入了递归功能,允许使用一个ZK有效性证明来验证其他ZK证明的批次,其中每个证明都可以验证多个交易。这一功能得益于Plonky2,一种递归SNARK,比现有替代品快100倍,并与以太坊本身原生兼容。

除了PolygonzkEVM,Polygon还开发了PolygonAvail,这是一个仅优化数据可用性的区块链。该网络将是无需许可的,允许任何人加入作为验证器,与现有的DAC不同,它将有数百个节点协作提供网络安全。Avail将与PolygonHermez配对工作,从Hermez上传状态数据而不是在以太坊上发布,提供Validium和Rollup之间的解决方案。

尽管一些专家指出,Polygon提供的规格说明更适合描述为EVM兼容性,但该团队正在努力创建第一个完全等效于EVM的解决方案。

Scroll

Scroll?是由Scroll团队与以太坊基金会的PSE小组合作开发的EVM等效zk-rollup,目前处于Pre-Alpha测试网阶段,旨在在字节码级别上与以太坊虚拟机完全兼容。这意味着开发人员可以使用任何兼容EVM的语言创建智能合约并部署到Scroll上。尽管Scroll目前不支持EVMopcode,但计划通过构建1:1opcode映射来实现,并直接接受EVMopcode而无需编译器。

Scroll的架构包括一个集中式序列化节点和一个分散的证明网络。集中式序列化节点负责对交易进行排序、创建区块,并将交易数据作为calldata提交到以太坊上的Rollup合约以供数据可用性。Scroll计划逐步去中心化序列化节点。另一方面,一个名为Roller的分散式证明生成器会产生证明并将其发布到L1网络上,利用分布式计算能力。Rollers是随机选择的,可以在不同的Rollers上并行生成不同块的多个证明以增加速度。

*注:虽然目前仅支持链上数据可用性,但Scroll的原始设计也包括Validium模式。

确实,Scroll和Polygon都采用了字节码级别的方法来构建它们的zkEVM。这种方法完全消除了转译步骤,这意味着在编译和解释之前,这些zkEVM不会将Solidity代码转换为其他语言。然而,虽然Scroll与以太坊唯一的区别在于运行时环境,但Polygon创建了一个自定义VM并进行了优化,然后将EVM字节码转换为该VM的字节码。与Scroll不同的是,Polygon的运行时运行定制的“zkASM”操作码,而不是EVM操作码,以优化EVM解释。PolygonzkEVM可能不会与100%的Solidity代码、工具和应用程序兼容,尽管大部分都可以。

虽然这些是专注于推出通用zkEVM实现的最显著项目,但其他特定应用项目也在实践中使用zk技术。

Looping是一种特定应用的zk-rollup,用于支持去中心化交易所协议。Loopring也是一个使用zk证明让任何人构建dex的平台。ImmutableX是另一个基于StarkWare构建的特定应用的zk-rollup,用于NFT交易和游戏。Aztec是一种以隐私为本的基于以太坊的zk-rollup,它通过加密数据来保持数据对协议的透明度和可用性,同时保护用户的隐私。此外,Aztec还发明了PLONK证明系统,也被zkSync和其他项目使用。

ImmutableX、Sorare、rhino.fi、ApeX、dYdX等多个协议都是基于StarkEx构建的。在使用StarkExZK-Rollup的项目中,数据作为calldata发送到以太坊并发布在链上。在Validium模式下,数据存储在链下,只有哈希值存储在链上。虽然Rollup模式确保更高的安全性,但Validium模式可以确保更低的成本和更高的隐私。

总体而言,尽管zkSyncLite是最大的zkrollup,StarkWare拥有最大的生态系统,包括在StarkEx上构建的项目,它的TVL和市场份额也最大。

总结

总之,zk-rollup是扩展区块链网络的一种有前途的解决方案,提供各种实现以满足不同的需求和要求。虽然存在一些分类,但值得注意的是,它们是近似的解释,缺乏对定义和技术差异的共识。

正如Scroll联合创始人SandyPeng所承认的:“没有任何定义能够得到清晰的共识。「Scroll的整个研究团队」倾向于某种叙述方式或某种看法,但这并不是一个明确的事情。我们的研究团队甚至在所有事情的含义上都没有达成共识。”

尽管如此,在zkrollup实现中出现了一些共同的趋势:

首先,它们似乎都采用了混合方法来处理数据可用性,提供一个传统的链上数据存储的rollup版本和一个链下数据存储的validium版本。Avail首席执行官AnuragArjun告诉Blockworks:“在我看来,你会发现每个rollup都会有一个rollup版本和一个validium版本。”其次,它们大多避免使用纯开源代码,直到它们实际运行,这也与来自像Arbitrum和Optimism这样的optimisticrollups的激烈竞争有关。Zk-rollups承诺更高效,但技术上更难以实现。此外,正如上表所清楚的那样,optimisticrollups尤其是Arbitrum,正在受益于先发优势,并且在应用程序、交易量和市场份额方面领先市场。如果被证明成功,optimisticrollups可以将有效性证明模型与他们已经建立的用户基础相结合。此外,尽管所有实现开始时都采用了中心化序列器来提高效率,但它们都致力于逐步去中心化,以解决对集权的担忧。有趣的是,去中心化排序器可能需要一种原生代币的经济激励,因此所有提到的项目都应该采取这个步骤。最后,过去一年中这些zkEVM实现所取得的惊人成果已经引起了总体上zk技术的新一轮关注,公司专注于各个方面的发展,包括开发新的zk硬件来提高证明生成速度。尽管仍然存在一些挑战需要解决,但在仅仅一年多的时间里,zkEVM设计所取得的进展是值得注意的,2023年可能是这项技术决定性的一年。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

比特币HTT:全网最全的Layerzero交互指南

注:本文来自@BiteyeCN推特,MarsBit整理如下:未来的区块链必然是多链兴起的世界,而全链协议的未来也会是重点发展的方向之一,Layerzero作为全链协议底层的基础设施.

[0:0ms0-11:918ms