在ETHDenver的Devtopia舞台上,Scroll的联合创始人HaichenShen发表了主题为Scroll构建zkEVM和zkRollup的挑战的演讲,并同步了最新Alpha测试网的情况。
Scroll介绍
Scroll是一个EVM等效的zk-Rollup以太坊扩容方案
在演讲最开始,Haichen强调了Scroll一直以来的原则,一是以社区驱动的方式同社区开放构建,二是确保安全性和稳定的版本发布,三是强调证明者和排序器去中心化的重要性
以下是zkEVM开发的社区贡献者,其中大多数来自于Scroll团队和PSE团队,还有一些其他的社区成员。
测试网最新进展
2月27日,Scroll在Goerli上线了Alpha测试网。Alpha测试网目前已经是EVM等效的,证明已经可以在Goerli测试网上得到验证。
而Alpha测试网的发布,意味着Scroll已经达到了路线图的第三阶段。
下一步就是第四阶段:zkEVM的主网上线。
对于社区关心的距离主网上线的进度,Haichen公布了目前仍需要完成的任务,首先是要构建完整的zkEVM电路,目前还缺少一些不常见的错误约束,也还需要添加一些预编译合约。随后会进行zkEVM电路和跨链桥合约的审计,然后进行最后的优化。
构建zkEVM和zkRollup的挑战
演讲的后半部分,Haichen分享了Scroll在构建zkEVM和zkRollup过程中遇到的挑战。主要从三个方面来说,第一是编写zk电路,第二是编写zkEVM,第三是构建zk-Rollup。
编写zk电路
在编写zk电路中,主要有两个难点。其一是开发的逻辑,正常程序中根据输入x,y,函数foo得到输出z,而在zk电路中,则是根据输入x,y,foo(x,y),输出是否有效的判断,因此在zk电路中需要考虑到有效和无效的所有情况,确保电路的约束成立。
其二是有限域的操作,有限域是包含有限个元素的域,这些元素通常是素数。在所用的BN-254曲线中为254位的值,因此要表示EVM的256位,则需要拆解成两部分处理。
编写zkEVM在编写zkEVM中,Haichen拆解了zk和EVM两个部分。EVM中有三个组成部分,Executor,Stack,Memory。
zk部分则需要对EVM的执行过程中进行一一的约束。EVM电路将约束Executor正确执行;RAM电路将约束Stack,Memory的读写正确;Bytecode电路将约束EVM读取的bytecode的正确性;MPT电路将约束存储的读写正确;TX电路将约束交易的有效性;ECDSA电路将约束交易中签名的正确性;Keccak电路则将约束Keccak哈希函数的正确计算;还有其他的一些约束等等。所有这些约束组合在一起,就组成了zkEVM。
构建zk-Rollup
在构建zk-Rollup方面,去中心化证明者网络需要对证明者进行激励。
当后续去中心化排序器后,情况会变得更复杂,需要协调证明者网络和排序器网络,目前Scroll正在进行开放研究,欢迎有想法的开发者加入研究探讨。
对于想要体验ScrollAlpha测试网,需要寻求帮助的用户,以及想要加入Scroll的小伙伴,可以分别扫描下方的Testnet,Discord,Hiring二维码。
Testnet:https://scroll.io/alpha
Discord:https://discord.com/invite/scroll
Hiring:https://scroll.io/join-us
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。