ROLL:从技术原理解读:zk-Sync 2.0和zk-Rollups的未来

简介

"zk-Rollups"可能是今年最热门的Web3流行用语。近期,随着zk-Sync的v2.0"babyalpha"的主网上线,这种热度已经达到峰值。但在所有流行语的背后,"zk-Rollups"到底指的是什么?zk-Sync的作用在哪?在本文,我将努力深入探讨zk-Rollups的工作原理和实际用例,并阐述zk-Syncv2.0的关键技术特征,探索这项被期待已久的技术,进一步地分析它对未来影响。

zk-Rollups的工作原理

为什么我们特别需要zk-Rollups?虽然以太坊很有用,但目前以太坊网络,从根本上看是一种无法规模化的经济。因为随着以太网络活动的增加,GAS价格会变的非常昂贵,尤其是在以太网络处理量突发激增的时候,这种效应就愈发明显。随着以太网络的不断发展,以太网络有限的可拓展性已成为它进一步发展的致命弱点。

"Rollups"的出现就是为了解决以太坊网络的拓展性问题。以太坊Rollups本质上是一种"插件",为以太坊提供指数级别的可扩展性,从而修复它高Gas的现状。这个想法背后的逻辑很简单。想象一下,你需要从A点到B点携带5件物品。"常规"的方式是携带物品1、物品2等,一个接一个地携带。但这显然效率缓慢且繁琐,"Rollups"本质上是将5件物品“打包”到一个袋子中,因此你可以一次就把它们都携带完成,而不是分开5次来携带。

在这个过程中,有两点是需要注意的:

1.如何确保"Rollups"能够"容纳"所有的东西?

2.如何确保"Rollups"不被?

zk-Rollups是利用"零知识证明"来解决这两个问题的领先rollup技术类型之一。为了解决这些问题,Zk-Rollups会将一定数量的交易捆绑在一起,在Layer2上进行计算,并将状态变更,且将"有效性证明"提交给Layer1上的验证者,以表明计算是完整完成的。这个"有效性证明"是以"零知识证明"的形式出现的,这是一种告诉他人你知道什么而不告诉他人你怎么知道的数学方法。

简化的ZK-Rollup架构Source:https://immutablex.medium.com/ground-up-guide-zkevm-evm-compatibility-rollups-787b6e88108e

零知识证明的一个简单例子是一个代码自动生成器。自动生成器是一个"验证者",给你一堆随机生成的测试代码,而你是一个"证明者",必须能够通过所有的测试代码来证明你有正确的代码。同时,你不会直接与自动交易器分享你的代码。你看,你刚刚就进行了一次"零知识证明",你证明了你知道的东西,但你没有说你是怎么知道的。

零知识证明案例,Source:Gradescope

上面的代码自动生成器是使用"交互式零知识证明"的方式,自动生成器和代码提供者直接"交互"。相比之下,大多数zk-Rollups使用的是数学上更复杂的非交互式证明。与交互式证明相比,非交互式证明既节省时间又节省空间。虽然zk-SNARKs的技术细节超出了本文的范围,但测试代码通过的基本原理是相通的。

zk-Rollups的圣杯在于零知识以太坊虚拟机(zk-EVM),它允许开发人员在不修改以太坊智能合约的情况下对DApps进行转移。但这是存在一定难度的,因为每个"问题"都需要不同的"测试代码",所以开发一个"证明算法"来解决所有可以想象的测试代码的“证明算法”,是零知识证明和zk-Rollups的技术瓶颈。

正如Vitalik所说的:总的来说,我认为在短期内optimistic?rollup可能会在通用的EVM计算中胜出,而ZKRollup可能会在简单的支付、交易和其他特定应用案例中胜出。但从中长期来看,随着ZK-SNARK技术的改进,ZKRollup将在所有案例中胜出。

因此,从历史上看,zk-Rollups仅是针对特定应用用例的技术,其中“测试用例”定义明确且范围有限。但是一些项目正在迅速向“山上的城堡”推进,一种通用的EVM兼容zk-Rollup算法。?

zk-Sync2.0

zk-Sync2.0是目前在开发zk-EVM的众多项目之一。zk-Sync1.0要求用户重新构建其代码库的大部分内容,以便从EVM迁移到zk-Sync。与zk-Syncv1.0不同,在zk-Sync2.0中,程序员可以在几乎没有变化的情况下部署其应用程序。

实际上,并非所有的zk-EVM都是等效的。它们在可组合性和高性能之间存在着明显的权衡。在这种权衡中,zk-Sync选择了高性能,从而牺牲了可组合性。

在Vitalik看来,目前主要有四种不同类型的zk-EVM,这四种类型如下图所示:

zk-EVMs的类型,改编自:https://vitalik.ca/general/2022/08/04/zkevm.html

正如Vitalik所述,在目前的状态下,zk-Sync2.0是第4类zk-EVM。与EVM不同,zk-Sync2.0能够使用自己的编译器编译,可以使用Solidity和高级语言编写智能合约。由于zk-Sync可以完全控制其编译器的设计,因此他们能够积极优化速度和吞吐量。但这样做的代价是,一些DApps和EVM调试工具链可能与zk-Sync2.0不兼容。从本质上看,zk-Sync与Ethereum有相同的“汽车外壳”,但换了一个引擎。

事实上,在zk-Sync开发者文档中,MatterLabs声称,虽然智能合约"读取"操作可以在不改变代码的情况下集成,但智能合约的"写入"操作需要"附加代码",因为"Layer1和Layer2之间存在根本差异"??。实际上,这略有误导。与其说是由于Layer1和Layer2之间的"根本差异",不如说是由于MatterLabs所追求的第4种Rollups。因为zk-Sync本质上是使用不同的编译器和字节码,基于第4种的Rollups意味着智能合约有不同的地址,但依赖于字节码分析的调试器基础设施可能无法在zk-Sync2.0上运行。

在未来,zk-Sync可能会加入更多对EVM字节码的本地支持,允许系统慢慢过渡到支持更广泛的"边缘情况",也就是指第3类的Rollups。但是,对于zk-Sync的第3类和第4类的zk-Rollup来说,与PolygonHermez和ScrollLabs的第2类的Rollups相比,必须有两个重要的前提条件才能成功。首先,只有一小部分不重要的项目与zk-Sync的自定义编译器不兼容。其次,与第2类zk-EVM相比,zk-Sync的执行速度需要有质的区别。

不幸的是,我个人认为这种情况不太可能发生。任何先进的开发生态系统都依赖于成熟"框架"的基础设施,包括便捷性、模块化、调试和测试工具。如果像Vitalik假设的那样,由于字节码的不同,大部分EVM原生调试工具将无法移植到zk-Sync,那么zk-Sync将不得不开发自己的测试和调试工具套件。与PolygonHermez和Scroll等可组合性更强的第2类zk-EVM相比,这是会增加额外的开销,最终可能会影响zk-Sync作为Layer2解决方案的采纳进度。

zk-Rollups的未来

目前,zk-EVM竞争已经白热化,我们看到一个全功能的zk-EVM只是时间问题。但下一步是什么?一条路只有在路上有建筑物时才有用;zk-Rollups的长期力量来自使用该解决方案的项目。

目前,DeFi、GameFi和移动应用是zk-Rollups基础设施的主要受益者。DeFi和GameFi从根本上说都是规模经济,因为它们在有很多用户使用的环境中发展。移动钱包等移动应用,也为懒惰或买不起台式电脑的用户打开了闸门。因此,基于这些实现情况,使用zk-Rollups有很大的实际意义。

但这绝不是zk-Rollups使用的极限,这仅仅是开始,zk-Rollups之于以太坊的意义就如5G之于互联网。正如5G可以实现物联网应用和系统的新世界一样,zk-Rollups也可能打开通往"物联网"的闸门,让我们物理世界的数字设备如冰箱、手表、交通信号灯等,与以太坊上的智能合约集成。

反对"物联网"的最大观点之一是,它将允许大科技公司越权进入我们的日常生活。但有了"物联网",我们可以享受物联网带来的便利,而不必担心我们的智能产品在集中数据库受到损害。我们可以同时拥有便利和隐私,而不是只能选择其一。这就是Zk-Rollups可以向我们承诺的世界。

参考资料:

https://blog.matter-labs.io/baby-alpha-has-arrived-5b10798bc623

Adaptedfromhttps://pages.cs.wisc.edu/~mkowalcz/628.pdf

https://vitalik.ca/general/2021/01/05/rollup.html

https://www.coindesk.com/tech/2022/07/20/the-sudden-rise-of-evm-compatible-zk-rollups/

https://cryptobriefing.com/the-race-scale-ethereum-zkevm-rollups/

https://docs.zksync.io/dev/contracts/#porting-smart-contracts

https://vitalik.ca/general/2022/08/04/zkevm.html

?责任编辑:Kate

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

链链资讯

[0:0ms0-8:875ms