Scroll是一种zk-rollup,它可以将EVM执行转换为可验证的电路,实现完全的EVM兼容性,提供zk证明的好处,同时不会损害EVM的工具和网络效应。
原文作者:francesco
编译:MarsBit,MK
如何实现零知识证明(zk-proof)Rollups与以太坊的EVM具备不同程度的兼容性 ,以及为何Scroll将成为游戏的变革者
在Scroll亮相之前,主要由于产生以太坊虚拟机(EVM)计算的零知识证明(zk-proofs)的复杂性,通用的zk-rollup并未出现。
简言之,作为一个通用的rollup意味着具备与EVM在功能上的等效性。然而,成功地在zk-rollup上运行EVM环境一直是一个难以实现的目标,直至如今。
这要归功于将EVM交易转化为zk证明能够解释的逻辑电路的复杂性。这种复杂性也解释了为何zk-rollup项目仅专注于特定应用,例如dYdX专注于交易,而ImmutableX专注于NFT。由于技术困难,未能开发出能够部署各种DApps的通用网络。
这也是zk-rollups在总锁定价值(TVL)和用户数量方面表现不佳,与乐观的rollups相比的原因。尽管面临这些挑战,通用zk-rollup的探索仍在继续。
EVM兼容性是重要的一环,因为它极大简化了开发人员向新链过渡所需的努力。例如,转向非EVM链意味着:
Starknet和zkSync(语言级别):它们目前是专门的解决方案,运行自定制的虚拟机(Cairo VM)。
它们运行一个定制的VM,并创建了一个编译器,“Warp Transpiler”,将Solidity代码转换为Cairo VM字节码。
它们创建了新的VM,并在其上添加了以太坊工具支持作为额外的层。这实现了将Solidity合约导出到StarkNet,从而实现“EVM兼容性”的目标。
虽然不是直接的EVM执行,但它保持了兼容性,让Solidity开发人员能为他们的rollup编写代码。使用这些解决方案时:
1. 您不是在EVM内部执行
2. 您没有与其他以太坊接口的兼容性
3. Solidity开发人员可以编写可在您的rollup上使用的代码
这是一个很好的折中方案。
Polygon zk-EVM(字节码级别):运行定制的虚拟机,但已将所有EVM操作码映射到对其虚拟机有效的操作码中。
Polygon的方法是构建具有“操作码级等价性”的zkEVM。相比之下,Polygon有一个替代的运行时环境(即“zkExecutor”),它运行定制的“zkASM”操作码,而非直接运行EVM操作码
这样做是为了优化EVM的解释(直接证明EVM会有太多的限制)。
下图是此过程的幕后示意图。
虽然这种配置比Scroll更高效:
随着时间的推移,可能会与以太坊有越来越多的不同
Scroll(字节码级别):将EVM执行直接转换为可验证的电路,具备工具支持和兼容性方面的优势。
这种方法允许资源毫不费力地转移和交换使用,确保了无与伦比的EVM兼容性。
“对于用户和开发者而言,Scroll几乎完全等同于以太坊” 目前,Scroll不支持所有的EVM操作码,但他们计划随着时间的推移最终实现
作为具备字节码兼容性的通用zk-rollup,Scroll承诺在L2上提供zk证明的好处,而不会损害EVM的工具和网络效应。完全的EVM兼容性是L2的圣杯,这正是Scroll的价值主张:构建超强版的以太坊。
值得注意的是Scroll对去中心化的承诺。
尽管初始阶段会有一个中心化的排序器,但去中心化的计划已在路上。