对话 Scroll 创始人 Ye Zhang:Scroll 在 zk-Rollup 突围战中处于什么位置?
摘要:
受访者:Ye Zhang,Scroll 创始人
撰文:链捕手
去年年初,三个年轻人在以太坊社区相遇,提到使用 zk 技术建设以太坊扩容的未来,他们一拍即合。这是 Scroll 开始的故事。
今年 4 月,Scroll宣布完成 3000 万美元 A 轮融资。值得一提的是,几位以太坊基金会成员和以太坊社区成员也作为天使投资人加入了这轮融资,从这一点上,也能看得出 Scroll 和以太坊社区保持的紧密关系。
相较 Optimistic Rollup,zk-Rollup 方案开发难度大,但每笔交易确认时间更短,手续费更低,安全性更强(仅仅依赖于数学和密码学的假设),Vitalik 也曾表示长期更看好 zk 方案。不过,Optimistic Rollup 方案落地更快,目前在 zk-Rollup 领域,Starkware、zkSync 尚不能做到像 Optimistic Rollup 那样顺滑的 EVM 兼容,名声最响的几个项目也还没有发通证。
但近期,zk 系开始集中发力,Polygon Hermez宣布开源 zkEVM,ZKSync 发布了 ZKSync 2.0 计划,而 Scroll 在上线pre-alpha 测试网后也宣布了 zkEVM 的详细发展路径。
Scroll 号称最兼容 EVM 的 zk-Rollup。目前在 zk-Rollup 赛道,还存在两个普遍的问题:一是 zk-Rollup 目前仅支持支付、转账等较为简单的功能,尚未支持通用的功能;二是尚未建立起去中心化的验证网络。这些问题也是 Scroll 的起点。
近期 Scroll 创始人 Ye Zhang 接受了链捕手的专访,和我们一同探讨了目前 zk-Rollup 赛道的现状和 Scroll 在这场突围战中的技术方案与位置,以下是对话全文:
1、链捕手:请简单介绍一下 Scroll 团队和发展历史。
Ye Zhang:首先介绍一下我们三个主要的创始人。我本科在北大,从 2018 年开始从事 ZK 证明方面的工作,之前主要在研究 zk 证明硬件加速和 zk 密码学算法原理,后面博士也是 zk 方向的,但是现在 quit 掉了,全职在做 Scroll 的事情。
Haichen 本科就读于清华姚班,博士毕业于华盛顿大学,研究方向偏向于底层系统领域。毕业后在亚马逊从事搭建机器学习系统等方面的工作。他做的东西很硬核,在工程能力会比我强很多,但我在 zk 方面会更熟悉一些。
Sandy 毕业于剑桥大学,曾在香港证监会从事研究方面的工作,17 年开始开始从事 Web3 项目投资方面的工作,之前也做过游戏、产品类的项目。目前在团队负责非技术领域的工作。
我们三个人中,我更熟悉 zk 一些,Haichen 更擅长如何从理论到实践搭建起系统,Sandy 更熟悉一个初创团队的品牌、合作伙伴关系、生态等。我们三个人的背景比较互补。
决定做 Scroll 是因为我之前一直在接触 zk,我很清楚 zk 的证明者(prover)的效率低的问题是可以通过在密码学和硬件上的突破而被解决的,这会让 ZKP(zk-proof)速度提高百倍。而且当时行业内还没有人做通用的 zk-Rollup,比如 zksync1.0、路印协议的 zk-Rollup 搭建起来的应用仅限于支付和转账(swap)等一些基础的功能,很难构建通用的可组合 DApp。所以,我们想做一个通用的 L2 网络,能更好地兼容 EVM,来实现部署智能合约和通用计算等更复杂的功能。
当 zk 的效率不再成为问题,整个以太坊的扩容层基础设施架构上一定会有很大的机会。此外,以太坊社区是非常包容且有创造力的,我们也和以太坊社区和基金会保持着紧密的联系。
我们一开始有两个目标:一是建设通用的 zk-Rollup,另外一个是真正实现 zk 证明者(prover)的去中心化。基于这两个想法,我们写了第一版白皮书,当时拿给以太坊基金会的成员看了,探讨之后发现以太坊基金会也要做 zkEVM,我们的技术路线还是很匹配的,于是就决定不如从一开始就合作。
目前,以太坊和我们团队各有十多个技术人员在以开放式社区的合作形式做 zkEVM,通过开源,即使在开发阶段,任何人都可以通过查看我们的 Github 存储库来检查我们的进度,迫使我们对社区保持透明和负责。
Scroll 团队从去年发展到现在,已经有 40 个人左右。30 多位成员都是 zk 或者区块链方面的研究员和开发者,可以说整个团队目前的技术性还比较强,负责生态运营的非技术工作成员相对较少。在现阶段,我们还是想先把技术基础打好,所以在市场上的声音比较小。
此外,团队也比较「去中心化」,成员分散在中国、美国、新加坡、欧洲等世界各地。
2、链捕手:你怎么看待当下的 zk rollup 赛道,Scroll 如何在这场竞赛中突出重围?
Ye Zhang:很多 zk-Rollup 目前只能支持特定的应用,不支持通用的智能合约。如果说给以太坊扩容只扩展转账的部分,那还是一个比较局限的事情,很难发展真正的生态,所以我会将比较范围缩小到通用的 zk-Rollup。相比较之下,我们有这些特点:
首先,从开发者的角度,我们想支持一个 EVM 等效的 zk-Rollup,可以实现与以太坊字节码级别的兼容性,也就是说,所有的 EVM 操作码和基础层完全相同。这就意味着开发者的代码在 Scroll 和以太坊上的执行效果是一样的,可以实现无缝迁移,而无需进行深度修改或重写。我们希望通过这种方式,为开发者提供最友好最原始的开发环境,支持所有的以太坊原生开发工具,开发者可以快速迁移合约,也不需要重复审计。通过这种方式,我们可以吸引到大量的 EVM 原生生态,这比从头搭建整个生态系统要方便和快速的多。
Zksync 和 Starkware 已经开始支持一些通用的功能了,但在开发语言上,它们还不能很好做到 EVM 兼容,比如 Starkware 用的是 Cario 语言,Zksync 虽然实现了 solidity 兼容,但底层用的仍然是不同的虚拟机。这两者的架构需要专门的编译器将智能合约代码编译成新的 zk 友好的 IR,这种方法是语言兼容而不是原生 EVM 兼容。
对于开发者来说,在把应用从一层迁移到二层的过程中,需要使用新的编译器(compiler)再重新编译一遍,相对比较麻烦。而虚拟机架构不一样,也需要用户不断去相信新的虚拟机和编译器都是安全的,代码可能需要重新审计。
其次,Zksync 和 StarkNet 还没有做到去中心化。目前,他们的 Sequencer 和 Prover 都由官方团队运营,出块、验证、打包都是自己来做,代码也没有开源,更没有搭建好去中心化的矿工节点,社区无法参与。中心化导致的一个问题是,所有的算力都控制在团队自己手里,意味着团队要租机器来持续承担这部分的成本。
我们很早就意识到,这种方式是不可扩展的。因此,Scroll 一开始就希望增强 Prover 的扩展性,允许任何一个人只要有 GPU 机器就可以成为证明节点。甚至,以太坊的矿工在合并后也有可能用自己的机器来成为我们的证明者(Roller),这种把权力下放到社区的方式是更高效的,加入的节点越多,算力就越大,成本也会降低。
这就会促成一个正向的循环,激励社区来更新更好更快的硬件,只有这样专属于 zk 的 ASIC 才能出现和迭代,从而进一步缩小 L1 的最终确认时间和证明的成本,让我们的用户体验更好。我们团队内部也在开发 GPU 的算法,将来也会开源供大家使用。所以说,正是因为有了这样一个开放的网络,才会有更多的人愿意来共同建设。
通过前面提到的技术特点,我们会给开发者最好的体验,并且有更高的社区参与度。最后,除了技术本身,我们也会始终支持开源社区,即 public goods,为社区做更多的事情,真正意义上帮助以太坊扩容,我很认同 Vitalik 的观点:legitimacy 在长期来看是非常稀缺的事情。
3、链捕手:Starkware 使用的新语言 Cairo 可以支持更多需求更复杂的应用,不知道这对 Scroll 有什么启发?
Ye Zhang:很多人会觉得新的虚拟机会成为未来,但是现阶段,我还没有看到那种必须要部署在新虚拟机上才能运行的杀手级应用。我认为,一个好的区块链虚拟机模型应该从更底层的逻辑和整个区块链架构的角度考虑,比如「如何做到更友好地和账户交互」之类的问题,而不是说换成 C++、rust 等其他语言就行得通的。
其次,即使拥有通用的 zkVM,想要把体量巨大的游戏类应用直接编译过来,是不太现实的。游戏应用的 proving overhead 要比定制的 zk 证明大几个量级,改进虚拟机的同时也一定要和算法以及硬件配合,这需要长期的投入。
我个人认为要一步步来,先做到 zkEVM 兼容,然后再去考虑其他的可能性。对于 Scroll 来说,我们意识到 L2 是服务于 L1 的,需要从臃肿的 L1 承接部分应用,首先解决以太坊的拥堵问题,而且一定不能在安全和去中心化上妥协。所以,Scroll 需要用最安全的方式兼容这部分应用的移植,况且,以太坊原生的生态已经是一波很大的流量了。
当然,我们不会停留在 EVM 兼容的层面,在完成和以太坊完全兼容之后,我们才会根据开发者的需求考虑探索虚拟机的灵活性。
4、链捕手:Vitalik 最近发表了一篇关于 zk-EVM 的研究,他把目前的 zk-EVM 分为了四个类型,并认为 Scroll 的 ZK-EVM 项目正朝着 2 型(fully EVM-equivalent)方向发展,建议目前最好考虑类型 3(almost EVM-equivalent)。对此,你有什么想法?
Ye Zhang:我觉得 Vitalik 的分类标准挺好的。3 型实现了字节码级别的兼容,包括 debug 工具等开发者所有需要的工具,除了 solidity 之外还要兼容 EVM 兼容的语言,这是 3 型最基础的标准;2 型是能够支持更细致的 EVM 里特殊的预编译。随着工程进度的推进,我们会逐渐从 3 型转到 2 型,现在 Scroll 对开发者的体验来说,已经和 2 型很类似了,但目前我们还有一些功能没有做到电路里,做完这些后,就会朝着 2 型发展。
Vitalik 提到,以太坊基金会隐私和扩展探索团队正在构建类型 1 ,我们和这个团队也是合作关系。但目前,1 型对我们来说效率比较低,因为以太坊的设计和 zk 的设计在底层上还是不一样的。我们会致力于给开发者提供和 L1 完全一样的开发体验,在 1 型的效率方面我们也会持续关注。
这篇文章中有一点我不太赞同,我觉得所有类型的 gas 费都要调整,因为证明的成本和直接执行的成本是不一样的,如果定价一样的话,可能会导致潜在的攻击。
4、链捕手:Scoll 和 Polygon Hermez 的在 zkEVM 技术方案有相似之处,对比之下,两者的区别在哪里?Scroll 在 zkEVM 开发上的进度和计划如何?
Ye Zhang:我们跟 Hermez 最大的区别是在 zkEVM 的实现方式(implementation)上,Scroll 跟以太坊原生执行方式会更像,比如,Scroll 出块节点会直接复用以太坊一层节点的代码,以太坊客户端的这个节点叫 Geth,通过这种方式保证我们在客户端和以太坊的执行方式也是一模一样的。我们会直接把该节点额外输出的 trace 信息作为生成 zk 证明需要辅助信息(witness),然后运行 zk 算法来直接生成证明。
Polygon Hermez 团队则为 zkProver 创建了一套新语言,在 executor 执行交易时,要把 EVM 字节码翻译成另一套代码,叫 zkASM( Zero-Knowledge Assembly)。Vitalik 认为这是一种取巧的方法,虽然内部逻辑不同,但也可以说它实现了 EVM 兼容,只是在执行过程中可能存在一定的风险。
比如,Scroll 字节码级别的兼容可以完全适应以太坊的各种升级,包括 EIP 等代码升级,但 Hermez 可能需要手动更新来保持同步。
此外,我觉得 Scroll 另外一个优势是和以太坊基金会的紧密合作,因为很多代码都是我们共同开发的,将来他们可能直接会把这一套用在以太坊网络上。我们更多是在共建以太坊的未来,能在愿景上保持一致。而且 Scroll 决策也相对独立一些,Hermez 毕竟属于 Polygon 的一部分,未来它如何体现 MATIC 的价值?是否会成为 Polygon 的 L2 呢?
再说一下 Scroll 在 zkEVM 开发上的进度。
我们的测试网有这么几个阶段:pre-alpha testnet、alpha testnet 和比较完整的测试网。
目前 pre-alpha testnet 已有一些预部署的应用,比如已经可以把 Uniswap v2 的合约部署到测试网上,允许用户执行一些功能如 L1 和 L2 之间的转账,swap 等用户级别的交互。但目前还仅对加入白名单的用户开放。
alpha testnet 允许任何人在测试网上进行交互,是无需许可的,此外开发者也可以无需许可地在网络上部署合约,alpha-testnet 预计会在近期上线。
完整的 testnet 预计在今年年底推出,到时候会支持测试完整证明(proof)的生成,目前的证明部分已经包含了大部分 opcode 和 storage 的读写访问,还有一些剩余的电路因为工程进度原因仍在逐渐完善。
5、链捕手:目前 Starkware、Zksync 和 Hermez 都有自己的数据可用方案,Scroll 在这方面是否也有相关计划?
Ye Zhang:Scroll 暂时没有设计专门的数据可用性方案。首先,我们对以太坊技术的时间线还是比较乐观的,不论是 Danksharding 还是 Proto-Danksharding。其次,引入额外的数据可用方案会让系统整体的安全性有一定的妥协,所以我们认为长期来看最好还是用以太坊作为原生的数据可用层。
专用的数据可用方案更可能会出现在 L3 的专门的应用上,到时候,应用自己的社区可以决定怎么存数据、是否愿意牺牲一定的安全性来换取更便宜的交易费用等问题。
6、链捕手:为什么说目前距离正常运行 zkEVM 还很遥远?
Ye Zhang:很多开发工作都需要较大的工程量,比如 Scroll 目前还有部分未实现的代数电路。此外还有审计工作,在正式落地之前需要非常仔细的审计,之后还需要做大量的性能优化。这三点都是非常琐碎的技术性工作,需要慢慢去完成。目前给大家看到的只是一套技术上行得通的东西,主要传达出一个信号就是,zkEVM 已经来了,而不是所谓的 zk 还要等几年。
具体要说进度的话,我认为不管是哪个团队,最早也是明年才能推出主网,投入使用。
7、Vitalik 曾表示长期更看好 zk rollup,但 zk 技术开发难度大,其技术难度主要体现在哪些方面?
Ye Zhang:和其他成熟的开发语言不同,zk 语言是一种纯数学语言(例如 R1CS ),即需要通过基本的加减法和数学公式把复杂的功能一层层搭建起来,也不是图灵完备的,所以开发难度很大。
为特定的应用开发 zk-Rollup 需要使用该特殊的 zk 编程语言来编写智能合约的逻辑(称为 zk 电路)。如之前提到的,该语言的需要复杂的设计,要求开发者精通数学和零知识证明,并且需要漫长的审计,还可能需要自己覆盖证明的开销,整套工具需要很强的技术栈支持,这对正常的合约开发团队几乎是做不到的事情。
我们希望通过直接支持原生 EVM 执行证明,为开发人员提供快速开发体验,同时支持 L2 内应用程序的可组合性。但是这个需要我们开发一个通用的 zk-Rollup,直接为 EVM 虚拟机设计 zk 电路,这个比普通的智能合约对应的 zk 电路工作量和设计复杂度要高很多很多,但是它也同时将复杂的 zk 开发全部转移到了我们自己身上,一旦开发完成,应用层开发者是不需要了解底层 zk 细节的。
8、链捕手:近期,dYdX 离开 Starkware 开始拥抱应用链,其背后的原因之一是 Starkware 技术开发周期长和 L2 短期内不够去中心化的问题,Scoll 目前在去中心化验证网络方面进度如何?
Ye Zhang:L2 的去中心化验证的确存在很多挑战,也会涉及到更复杂的经济模型和激励模型。前面提到,Scroll 一开始就需要解决去中心化验证的问题,目前第一阶段是先通过硬件加速来提高 prover 的性能,实现 prover 的去中心化。下一步是 sequencer 的去中心化,届时,任何人都可以运行节点。但目前还需要中心化的 sequencer 把整个 zkEVM 的系统跑得非常稳定,否则过早将 sequencer 去中心化会极大地增加设计复杂度,并给系统带来一些安全隐患。
我们团队已经在这个领域研究了,并且比较几套不同解决方案,等 zkEVM 稳定之后,我们会着重朝这个方向探索。
9、链捕手:Scroll 创立的时间并算不长,但也算较为迅速地在今年四月融到了上千万美元的资金,这个过程有什么经验之谈?
Ye Zhang:其实我们整个 A 轮融资在去年年底就结束了,只是在今年四月才正式宣布,并且在 Dev connect 正式亮相。zk 也算是一个风口,而且我们致力于做最兼容 EVM、更通用的 zk-Rollup,整个融资过程相对来说还是很顺利的。
我们在挑选合作伙伴的时候比较谨慎,其中一个标准就是有比较强的研究能力和技术实力。这轮合作的几家机构比如 Polychain、Geometry 和 Bain Capital Crypto,除了在投资组合里有很多相关的生态项目,他们团队自身有在 zk、密码学等领域深耕多年的研究者,也有一些经验丰富的工程师,比如 Geometry 的创始人曾是 Aztec 的 CEO。他们能够理解我们项目的困难度,也会给我们正确的帮助。
另外本轮投资者中也有很多以太坊社区中的人,通过这种形式建立联系之后,我们在技术交流上也更方便。
所以,我们希望先从小圈子开始里建立影响力,之后随着团队的扩大和产品的成熟,再做更多。
10、链捕手:Scroll 未来一年的发展战略是怎样的?
Ye Zhang:我们计划在 alpha testnet 之后,将更多的精力集中在部署应用和测试上,在生态上,会先部署钱包、工具类的基础设施,之后再向更多应用扩展。
与此同时,我们也会做一些教育工作,举办黑客松等活动。最近我们和联合 0xPARC 给大家上课,课程内容包括 Halo2 背后的数学原理,如何使用开发工具等,慢慢扩大我们的影响力。未来也会寻找 web2 的一些合作伙伴,来搭建一些 scroll 原生的特色应用。
评论(0)
Oh! no
您是否确认要删除该条评论吗?