对话Scroll联创:Scroll与ZK同行
原文来源: Scroll CN
Scroll Talk 是 Scroll CN 主理的一档播客节目。我们会通过不同的形式,和 Scroll 团队,Scroll 生态项目方对话,帮助大家更了解 Scroll。
本期节目,我们请到了 Scroll 的联合创始人 Ye Zhang,和他一起来聊聊关于 Scroll 和 ZK 的话题,包括 zkEVM 的设计与取舍,证明系统的选择,硬件加速的证明者网络,以及 ZK 的未来。
开场
F.F: 哈喽大家好,欢迎大家来到 Scroll Talk,今天很高兴邀请到了 Scroll 的联合创始人张烨,之前我们 Scroll CN 也发布过许多关于张烨的采访和演讲。然后这应该是第一次和 Ye 面对面的交流,然后首先非常感谢 Ye 的到来。在整个零知识证明社区,Ye 现在的影响力都非常的大,但我们还是想让 Ye 先来做个简单的自我介绍。
Ye: 哈喽哈喽,感谢 Scroll CN 安排这次采访,然后也一直感谢 Scroll CN 在中文社区里面做的贡献,包括翻译质量都很高,然后帮助我们在中文社区有很大的影响力。简单做一个自我介绍,大家好,我叫张烨,然后是 Scroll 的联合创始人之一,我主要做的方向是偏零知识证明相关的研究。我之前集中在三个方向。
第一个方向是零知识证明的硬件加速,大概 5 年前开始开始做这个方向,因为 5 年前大家使用零知识证明最大的一个瓶颈就是生成证明非常的慢。比如说像 Zcash 这样的应用为一个交易生成证明要很长的时间,可能是 10 分钟甚至更长。然后这就导致说零知识证明不能被很多系统采用,因为证明效率太低。所以我的第一个研究方向就是如何通过 GPU,FPGA 和 ASIC 硬件去加速证明生成。
第二个方向就是偏零知识证明后端的这些密码学和数学。因为零知识证明是一个非常复杂的密码学协议,涉及了多项式等大量数学。然后我的主要研究工作就是读一些大量的论文,看怎么样能优化现有的一些算法,会更偏理论一些。
第三个方向的话就是更偏应用层面,就是怎么去给 zkEVM 设计架构,设计电路,怎么能给 zkEVM 生成证明。
总的来说大概涵盖了三个方向,零知识证明的硬件加速,零知识证明的理论算法,以及零知识证明的相关应用。
然后在 Scroll 的话,我主要会聚焦在一些偏研究类的工作,包括零知识证明相关的研究,协议设计层面的研究,然后还有一些整个公司的相关策略。
F.F:谢谢 Ye,然后我们知道你一直在做 ZK 的研究,那是有什么样的契机让你选择创立 Scroll,然后一直在 ZK 领域深耕,这里面是什么动机一直激励你一直往前走下去?
Ye: 这是一个很不一样的故事。现在大多数人听说过零知识证明或者学习 ZK,都是因为大家意识到区块链有零知识证明的需求,但其实我学习的过程是相反的。我其实是相反过来,是先被 ZK 吸引,然后发现 ZK 可以用在区块链里面。我是在本科的时候,跟实验室的一个高年级的学长,一起在做一些硬件加速算法相关的研究。然后当时最火的其实是在做 AI 加速,但是我对 AI 其实不是很感兴趣,我觉得他这个调参的过程没有一个可以让我理解的数学模型,就是为什么这个参数通过训练会是这个结果。我更喜欢一些确定性更强的数学,就是我能知道事情发生的概率。所以我会天然的更喜欢密码学数论这一套东西,然后当时就发现了零知识证明的这个算法,然后又发现了他有非常大的硬件加速的需求。所以我开始做相关的研究,后来在我研究加速算法的过程中,我发现这个算法本身的魅力会比硬件加速更大,因为它里面涉及了很多非常巧妙的一些多项式的构造,还有一些协议的构造等等。如果你真的深入去看任何一个零知识证明的协议,你会发现它真的非常巧妙,通过多项式的设计,去编码程序。然后再通过一些多项式的点去验证多项式的一些性质,最后把它压缩成一个非常非常小的证明,整个数学构造非常的巧妙。所以我最初进入零知识证明这个行业完全是被他数学构造的魅力给吸引,然后后期才发现说我研究的这个东西刚好可以解决区块链现在本质上遇到了最大的问题,就是扩容。
然后我后来又意识到了整个以太坊的生态非常的繁荣,而且它有一个非常好的开源社区,跟我自己的个人信仰会更契合一些,它整个研究的氛围,拥抱开源的态度,以及追求学术严谨的风格,也让我彻底被它吸引,同时又意识到了整个区块链它不是一个悬空的故事,而是一个真实的能解决很多人生活中问题的架构。它可能是下一代的金融基础设施,很多人是真的需要透明度,需要抗审查性。所以我觉得区块链是有真实的应用场景的,然后同时我的技术可以解决这个问题。
在 21 年年初的时候是一个最好的时间节点,因为零知识证明的效率已经提升了 2-3 个数量级。当一个技术有 2-3 个量级提升的时候,其实是会有巨大的机会,无论是创业机会也好,或者是其他新的一些机会。因为之前不能解决的问题现在可以解决。当时觉得 zkEVM 其实是一个最大的一个机会,当时没有很多人做,或者说没有很多人做出来。然后我们有一个非常好的契机,再加上有这样技术的积累,能去解决这样的问题,所以我们就开始去做 Scroll。
其实之前我读博士也是在做零知识证明这个方向。但是我意识到一个问题,就是你在业界,比如说在 Scroll,你也是能有很大的灵活性去做 ZK 的相关研究,而在学校你必须得跟一个导师去合作,然后你可能只能在一个方向上研究。
但是在 Scroll 的话,你可能有更大的灵活性,因为你首先解决的问题是一个真实的业界的问题,所以你解决了这个问题以后,它的影响力会更大。然后第二个,你不会仅仅局限于博士研究的一个方向,你可以通过一些 Grant,通过一些别的方式去跟更多的人合作。所以的话。其实在 Scroll,我在做一样的事情,只是在业界的话会更有影响力,解决最真实的问题,而且合作的范围会更广。 所以我觉得这条路对我来说会比读博更有吸引力一些。
ZK 技术发展与未来
F.F:明白谢谢 Ye,能理解是 ZK 背后数学迷人的魅力,然后吸引着你一直在做相关的研究。听到下来主要的一个突破点,应该就是两三年前,是不是 ZK 有类似于今年像 ChatGPT 横空出世,有非常大量级的突破。
Ye: 对对对,我觉得是这样的,但是它不像 ChatGPT 是一个爆点,然后突然引爆了所有。它是一个很多层因素叠加的过程,比如说我之前一直在研究的硬件加速方向,它可以把零知识证明的效率提升 10 到 100 倍;然后再加上一些多项式对电路的新的表示形式,比方说通过更高阶的自定义门 ( Custom Gate ) 和 查找表 ( Lookup Table)就可以更高效的表示,又把开销降低 10 倍;然后还有一些递归证明 ( Recursive Proof ) 可以把很多证明聚合起来,又节约了验证那块的许多成本。所以我觉得这三点加起来才会导致说有一个巨大的效率提升。
最后当然结果是效率提升,但是它不像 ChatGPT 是一个突然爆火的东西,而是一个有密码学专家的努力,有很多硬件工程师的努力的结果。
F.F:既然我们有谈到 AI,那 Ye 你是怎么看待现在 ZK 和 AI 的结合,包括现在 Worldcoin 已经发布了,用的是 ZKML 的技术,你觉得在 ZKML 的交叉领域,会和 ZK,AI 两个各自领域有什么样的差别。
Ye: 我觉得现在确实有很多人在做 ZKML,但我觉得这个方向还是挺早期的,它有一些应用场景,比如说识别照片是不是真的是通过你的相机拍的,没有复杂的 PS;可以证明音频是不是某个人的;可以证明微软是不是在提供相同的模型给每个人,因为在你给模型一个输入的话,然后它返回给你一个输出的时候,你无法确定它是不是不同的人会换不同的模型。会有这样一些小的应用场景,但是我还没有看到特别大的一个刚需,为什么 ZKML 一定会是一个像 AI 那么广泛的应用。
因为比如说像 ChatGPT,其实拥有模型的大多数公司是有绝对实力的,它不需要一定要向你证明说我一定要用的这个模型,而且你也无法要求他去做这个事情。我觉得除非发生在一个市场,有 10 家 ChatGPT 这样的公司,然后 ChatGPT 不想去做,那其他公司有一家愿意去做。有这样需求的一波用户群体就会选择这个公司提供的服务。但是现在它整个市场是一个只有为数不多的几家公司能做 ChatGPT 这样的模型,然后他们没有一个很强的动机或者激励去帮你做这样的一个事情。所以我觉得这条路还是挺长的,再加上很多像照片或者音频,还有很多没有解决好的问题,你可能也需要一些硬件去能把这个系统给搭建起来。
总体我觉得还是有挺长的路要走的,当然我觉得 ZKML 会在流动性管理上有一些新的玩法策略,然后可能会有一些小的用例,更大的应用场景还是挺需要时间的检验,去找到一个市场匹配的产品。而且 ZKML 它其实是不能证明训练的过程是对的,它只能证明一个影响因子是对的,所以这就更进一步的局限它能做的事情,我觉得还是有一定的路要走。
大多数 ZKML 的公司,现在还在开发工具。我知道有一些 ZKML 公司在想办法,能把 TensorFlow 或者 Pytorch 写的代码直接转成 ZK 的电路,直接生成证明,这可能是一个很有趣的方向。先从 DSL,SDK 开始,然后鼓励大家去有新的创新,都是还很早期的。我觉得最后可能还是会发展成还是像通用计算的 ZK 化,只是更适合 ML 的一些算法库,比如说一些矩阵乘法或者卷积之类,会更有利于这样的一些应用,而不是仅仅就 ZKML,我觉得还是会有很长的路要走。
然后这块做的比较前沿的有 Daniel Kang,是 UIUC 的一位教授,我们之前有邀请他来 Scroll 的 ZK Symposium 上面做过一次演讲,所以如果大家对这个方向感兴趣的话,可以去看下我们的这个系列。
https://www.youtube.com/watch?v=Co5gNoHnMhs&list= PLrzRr 7 okCcmbAlgYpuFjzUJv 8 tAyowDQY &index=14
F.F:好嘞,谢谢 Ye。然后听下来感觉 ZKML,还是比较早期,现在都是一些比较小的建设方向,涉及到通用计算的话也还比较早,可能得到后期市场化非常成熟,大家有隐私需求的时候,ZKML 才会有它的用武之地。从 ZK 的大范围来看,之前 Vitalik 发表了一段言论,大致的意思是 ZK 和区块链是同等重要的概念,你是怎么看待这一观点的?
Ye: 我觉得确实是这样的,因为 ZK 真的解决了很多区块链解决不了的问题,它是一个非常完美的结合。区块链解决不了扩容的问题,ZK 可以把计算压缩,解决扩容的问题。区块链永远是公开透明的,它解决不了隐私的问题,ZK 可以去隐藏信息,可以去解决隐私的问题。所以我觉得 ZK 和区块链是一个天然的非常好的结合体。
再加上现在 ZK 对通用计算的支持也非常的迅速,所以我觉得它是有非常大机会的。比如说从隐私方面,像隐私交易,隐私池,包括一些链上扑克,你不希望发牌一发到链上以后,别人看到你的牌,就可以通过零知识证明隐藏信息。像这类隐藏信息的游戏,你只能通过 ZK 在区块链上实现。隐私这块的话,ZK Identity 也是一个很有趣的小方向,非常有前景,怎么让十亿用户去用区块链,那可能我们需要将一些现有的身份系统 ZK 化,然后大家才愿意去放一些信息在上面。
然后扩容性相关的话,比如说像各种 Rollup 去压缩计算,各种协处理器去压缩一些计算,最后把证明放到链上,这样的话是一个链上和链下非常不错的结合。
还有一些非常有趣的小方向都很有前景,有一些团队在构建一些 ZK 跨链桥,或者 ZK 硬件去提供服务。但是我觉得距离特别成熟,还是需要几年的时间。无论从开发者 SDK 的方便程度,还是从 ZK 的效率,安全性方面还是有很长一段路要走。
F.F:明白,谢谢 Ye,听你的描述,ZK 和区块链相当于是一个互补的关系,那除了刚才提到的这些应用场景,从效率和公平的角度来看,你觉得这项技术创新对现实世界会带来哪些改变?
Ye: 我觉得可以把任何的计算变成无需信任的,这是一个非常强的特性。你可以把任何计算丢到一个无需信任的平台上,然后让它返回你一个结果,生成一个证明,证明它的结果是正确的。这就可以保证你的计算正确性和可验证性。然后其他就像我说的有身份,隐私,扩容性等等各种各样的应用。
F.F:明白,谢谢 Ye,就是说 ZK 它可能会对通用计算的有一个加持,不管是说提供隐私也好,还是可信程度也好,都是非常有前景的方向,如果不做的 Scroll,让你在 ZK 领域二次创业,你会选择哪个赛道和方向呢?
Ye: 这是一个很艰难的问题,我觉得首先 zkEVM 绝对是最大的一个方向,因为它是承载了以太坊流量入口,一定是最大的一个。如果让我一定要选其他的方向的话,我个人是挺看好做协处理器的,能把非 EVM 的计算,也做得非常高效并且能够验证。另外一种的话偏身份协议,我觉得构建一个很好的身份系统是一个非常难的事情,而且它能解决很多现实生活的一些问题,尤其是之前去非洲的时候,看到了很多由于金融基础设施不太成熟导致的各种问题,所以我觉得身份会是一个很大的方向。
然后如果是我个人一定要选的话,我觉得如果体量不是很大,我觉得身份的机会很大,然后如果是一个很强大的工程团队,一定要做更复杂的事情,我觉得这个 ZK 的协处理器会是一个比较好的方向,只是现在这个赛道已经太多人了。所以我觉得身份会是一个还没有大众普及的赛道,而且我觉得它不光是一个需要技术,而且需要商业策略的方向。你要思考说你要跟哪些商业伙伴合作,能不能直接把他们大量的数据 ZK 化,这样可以更快速地去扩大你的用户群体,技术可能是一个更小的问题。
如果说你是一个非常有创新能力的人的话,也可以去尝试 ZK 游戏的方向,游戏需要你有很好的设计,把需要隐藏的信息 ZK 化。 但 ZK 不是一个万能的工具,它无法解决所有隐私问题。它会需要证明者知道某些信息的。所以我觉得这个游戏需要设计的非常巧妙,才可以把 ZK 用到极致。如果你是一个很有想法,很喜欢玩游戏的人,想清楚你的游戏逻辑,然后创造一个很有趣的 ZK 游戏也是一个很有意思的方向。
F.F:谢谢 Ye。你刚才提到三个方向,第一个是协处理器,类似于 Axiom 在做的方向;第二个是身份的方向,可以理解 Worldcoin 在做的事情,是其中一个特殊的例子;第三个应该就是游戏,对于普通用户来说会是一个日常会接触到的方向。然后 Ye 你刚才提到你刚从非洲回来,那我们顺便想问一下你这次去非洲,推广传播 ZK 的技术包括以太坊,有什么收获吗?
Ye: 这次还是一个很独特的一个经历。先简单介绍一下背景,今年 2 月份的时候,Vitalik 和以太坊基金会的 Aya 还有其他一些人去了非洲的 4 个国家。他们大概可能有接近一个月的时间,跟非洲的社区举办一些活动,然后去见一些非洲的创始人,去了解一下在这片大陆上的情况。因为以太坊其实在非洲的社区还是比较小,所以他们去那里了解一下现在社区的一些状态。现在社区需要什么,去传播以太坊的这个价值。他们当时得出了结论,就是说以太坊还是有点贵。
他们希望安排一次 Layer 2 之行,能把以太坊的 Layer 2 带到非洲来。因为非洲那边的人,他们不可能用得起以太坊,就只能通过 Layer 2 去进入以太坊的世界。所以今年大概四五月的时候吧,也是通过 Vitalik 介绍和当初他们旅行的这个组织者约瑟夫认识,看有没有一个机会说能组织一次 Layer 2 之旅。聊完以后,我们就觉得我们的价值观非常得一致。因为 Scroll 的一部分价值观,就是我们想把真实的用户和用例带到区块链里面,所以我们觉得非常激动,可以去了解非洲的一些真实需求。
去了那边以后会发现真的很不一样,让我对发展中国家和新兴国家的真实用例更加有信心。因为其实在去非洲之前,包括我现在接触的很多人都还在质疑,就是说区块链是不是一个真实的需求。它是不是只是一个骗局,只是大家发代币的一个工具。我觉得能说出这样言论的人,其实是因为无论在中国,亚洲其他地方,还是在西方美国欧洲,大家对区块链的理解就是巨鲸,流动性挖矿。他们不是生活真的需要区块链,而是他们只是觉得说上面有一些可以让他获得更多利润的工具,有的时候他的财产可能放在上面会更安全。它不是一个特别刚需的工具。
我们去的两个国家是肯尼亚和尼日利亚,我们会很明确的感受到,那边大家的日常生活是真的需要区块链作为一个平台。一个非常明显的例子,在非洲相邻的两个国家之间要做转账是没有办法通过银行直接转账的,需要绕很大一圈才能到账。因为它们的金融基础设施真的做的很差,完全无法构建全球的支持系统,
所以他们是真的首先需要一个支付的工具,而区块链仅仅作为一个支付工具也是非常有用的,真的能改变他们的生活。因为他们如果到其他的相邻国家是需要区块链的支付媒介的。很多人就说区块链能做什么,只是一个全球支付系统,听起来只是一个很单一的用途。但其实全球支付系统可以解决非常多人的需求,尤其是在那些金融基础设施不是那么完善的一些国家。但因为你可能在中国,美国,欧洲,那里的基础设施非常的完善,你平常完全不会去担心这样的问题。
第二个事情就是他们的通货膨胀非常的高。他们的货币可能从我们去到现在,通胀率已经有 10% 了。想象一下,你手里人民币或者说美元过一个月以后就贬值 10% ,理财可能一年才涨 3 ~ 4% ,然后物价一直在上涨。这很影响他们的生活,然后稳定币是一种让他们获取到美元的方式,他们需要美元,因为美元通胀率比较低,所以他们希望获取到美元,但他们又不可能拿到美元,因为他们不可能在美国银行开户。所以他们其实是通过买美元稳定币,然后去持有一些链上的资产,他们获得 USDT,是预防恶性通货膨胀的一个非常重要的方式。可能大家在中国就持有人民币就可以,只有买加密货币的时候才需要 USDT。但是他们是真实生活中都需要的,他们会频繁地进行 OTC 交易,在真的使用的时候去转化成他们自己的货币。所以我觉得这是一个很大的应用场景,在这些国家和其他很多地方,他们是真的有这种需求。
然后第三个事情,因为他们金融基础设施的不健全,导致了他们在借贷时候,信用评级和身份非常的不完善。因此他们借钱,比如说借 100 美元也需要可能一个月的时间,还需要各种审批,因为各种金融机构之间的信息不流通。所以这就导致了说,借贷作为银行或者很多金融机构的一个非常大的业务,在他们这儿非常不完善。所以我觉得这也是一个巨大的机会。
在非洲这片土地上是有很多真实的需要区块链的应用场景。比如说如果有个很好的身份系统去解决他们这些问题,能给他们提供链上的一些借贷或者其他的一些服务,我觉得会是一个非常有价值的东西。这是让我第一次感受到了,你的技术是真的在改变这个世界很多角落的人的生活,这是一个很重要的事情。
Scroll 的一部分价值观就是我们要让下十亿人进入到以太坊。大家会经常吐槽 BSC 非常的不去中心化,以太坊非常地去中心化,但是以太仿就是贵。然后 BSC 上就是有很多真实的用户就是在玩,因为有币安,然后非洲让我第一次见识到的,有很多人真的在用币安去做支付,因为它很简单,很易用。我们是希望能把这部分的真实用户带回来以太坊,这个是我们的一部分使命,我们是想把下十亿用户通过 Layer 2 降低费用后带回到更无需信任的以太坊。因为如果你把钱一直放在中心化交易所里面,是有可能会出现一些问题的。所以我们是希望可以放到一个 Layer 2 上,然后继承以太坊的安全性,这是一个很好的机会。
想象一下在未来,加密在日常生活中发挥着至关重要的作用,区块链获得了现实世界的采用,特别是在新兴经济体。
-
土耳其的孩子可以通过 Scroll 上的稳定币在炎热的夏天购买雪糕,只需点击一次就可以将加密货币兑换成土耳其里拉。
-
阿根廷的一位老人可以在 Scroll 上获得政府的福利和补贴,减少了欺诈行为,保证了资金的公平分配。
-
菲律宾商人可以在几秒钟内通过 Scroll 进行跨境汇款,而不需要经过许多中间人服务。
-
肯尼亚的农民可以通过 Scroll 上透明的信用评分系统获得贷款,解决了信任问题,提高了流动资金的利用率。
这些事情都将在同一时间发生,包括机构上链,政府发行稳定币,以及不同地区法律合规的放松。
我们相信下一个十亿的用户必然来自真正需要加密货币的地方。Scroll 旨在将这些用户带入加密生态系统,并解决现实世界中的问题,如金融包容性、社会协调和个人主权。
另外第二点,Scroll 的价值观是我们不会做大量的这种市场宣发和去不同的地方推销自己。我们希望真实的把一些教育资源,把一些研究资源能带到非洲这片土地上或者其他相似的地区,怎么能让他们更快的去学习这个领域,而且不仅仅是 Scroll,而是整个区块链的教育。有一些项目也在非洲做过一些策略,但是他们基本上就是随意的撒钱发很多的 Grant,但其实这样的社区发展起来就非常的短期,它不是一个非常价值驱动的社区。我们希望通过我们做一些非常正确的事情,把这些教育资源带到非洲,了解当地真实的需求再进行定制化,看我们能提供哪些帮助,而不是仅仅就是撒钱。我们真的在意这些地方的人,在意这些地方的社区,这个是我们很关心的一个事情。我觉得这个其实对现在的很多应用也是一样,现在很多应用就是从一个链部署到一个链,再部署到另一个链,永远都是同一波空投猎人,或者说同一波西方用户。如果我们真的能做到整个用户群体的多样化,对于在我们链上的应用生态来说也是一个巨大的加成。能吸引到不同地方的人去尝试体验你的应用,这也是我们在思考的一个很大的方向。
zkEVM
F.F:非常感谢 Ye 给我们分享了那么多关于非洲的一些见解。我听下来可能发展中国家确实是一个非常大的机会,因为他们已经缺失了我们现在这一代已有的基础设施,反而会让它成为一张白纸,可以有非常多新的基础设施直接应用到他们的实际生活当中。然后 Scroll 也可以借助这个市场把区块链带给下一个十亿用户。
所以我们就想具体来谈谈 Scroll 在开发的 zkEVM。关于 zkEVM 分类也是一个老生常谈的话题,但我们都知道这是一个关于性能和兼容性取舍的问题。然后,Scroll 是一直在和 PSE 团队一起构建 Type 1 的 zkEVM,这是最兼容的一个取舍状态。我们想问的是,随着 zk 技术的发展,这个取舍有没有可能被打破,或者未来性能这一端提升后,大家会不会不约而同的选择兼容性更强的方向。
Ye: 首先聊一下我们的技术栈,我们从最开始 2021 年年初的时候,就开始和以太坊基金会的 ZK 团队,也就是 PSE 团队一起在构建 Type 1 的 zkEVM。 然后整个代码库大概有一半的贡献是在我们这边,一半的贡献在 PSE 那边,还有一些可能零星的贡献者是从社区来的。所以我们一直是非常的拥护这种社区开源开发的氛围,也一直坚持去给以太坊贡献代码,然后整个这个项目的目的是为了构建一个 Type 1 的 zkEVM,将来真的能用在以太坊的 Layer 1 上,能够改变以太坊的路线图,给以太坊构建未来,不是说仅仅为我们自己构建,这部分是一个社区版本的 Type 1 的 zkEVM,由我们,PSE,还有其他的一些社区贡献者一起在构建。所以说不是全部是我们的功劳,而是说大家的功劳。
然后我们 Scroll 自己的话,是需要有主网,需要一个产品功能完善,审计更完善的一个版本。然后根据我们现在的评估就是 Type 1 的这个证明开销是 Type 2 的 10 倍,所以我们认为说即使你要构建一个 Type 1 的 zkEVM,你也是需要从一个阶段过渡过去,你需要去测试你的架构,所以我们觉得最好的方式是先做一个 Type 2 的版本,然后并且以太坊的整个架构也在不断的更新,当你有了一个足够性能的 Type 1 以后,以太坊的架构已经变了,然后你可能又得改。所以我们觉得其实 Type 1 和 Type 2 的差别主要体现在存储是不是共用同一套。所以我们目前主要聚焦在先把一个 Type 2 做到产品可用的状态,现在的代码库是从我们合作的这个社区版本衍生出来的。我们改变了它的存储,并且设计了相应的一些其他模块,优化了 GPU 的证明器,优化了其他很多东西,最后在我们的 GPU 证明器上把证明时间压缩到大概接近 10 分钟。这是一个非常非常高效的 zkEVM。但是我们仍然会持续的帮助以太坊去构建一个 Type 1 的 zkEVM,去看它怎么能变得更加稳健,去构建以太坊的未来。所以我们的使命是自己在构建一个高效,产品可用并且全面审计的 Type 2 的 zkEVM。与此同时,我们也在帮以太坊构建一个 Type 1 的 zkEVM。
因为我们觉得现在性能还是有很大差距,需要实际测试,所以我们还是先聚焦在一个 Type 2 的 zkEVM,而且它完全不会影响任何的兼容性,因为基本上所有的合约,所有的工具,比如 Foundry,Remix,Hardhat 等等的工具是完全兼容的,不需要任何的插件。而且我们马上上线的测试网或者主网是支持 Paring 等等的预编译合约,兼容性做的非常的好,只是说我们觉得要进入到下一个阶段仍然需要很长时间的努力。同时我们认为没有证明一定不能算作一个安全的 Layer 2 ,zkEVM 或者说 zkRollup,我们是很坚持安全性的原则的。
关于我们的开发状态基本上已经很完善了,所有的 opcode 甚至连 push 0 ,我们可能是唯一一个支持 push 0 的 zkRollup,甚至不仅是 zkRollup,是所有的 Rollup 里面第一个支持 push 0 的,并且我们是唯一一个支持 Paring 并且可以验证 Paring 的一个 zkRollup。这是我们自己开发进度和兼容性的情况,而且我们审计已经在进行当中,大家可以看我们的 Sepolia 的这个博客。
然后关于各家对这个兼容性的发展方向,我个人的猜测是大家最终还是会往兼容性更强的方向发展,除了 Starkware。因为它上面有 Kakarot 去支持 zkEVM,它自己是不会考虑另一个方向的。它应该是 Cario 语言一条路走到黑。而现在 zkSync 上线以后,我们从开发者那里获得的反馈是还需要很多的代码更改,他们还是不相信它的安全性。因为对于合约而言最重要的就是安全性,你效率再高,如果说需要改代码,需要重新审计,代价一定是开发者这端。这一定不是一个非常可持续的发展方向。所以我们觉得一定要做到非常兼容,让开发者不去修改自己的代码,这是这是非常非常重要的。我觉得大家还是会朝这个方向努力。
但我不觉得 Type 1 是一个非常准确的概括方式。我每次只是说以太坊等效,EVM 等效,还是语言层面兼容。因为我觉得这是一个更直观更直接的概括方法,因为它没有一个准确的定义。Vitalik 只是模糊地给了一个分类的方式,我觉得都是可以改的,我觉得很难说把一个公司的愿景根据你现在的阶段定义下来。就像我们的愿景是我们先在 Type 2 上线我们的测试网和主网,然后实战测试,性能测试之后,再去考虑其他的升级,持续去帮以太坊构建 Type 1 的 zkEVM,这是我们的一个方式。用 Type 1 ,Type 2 很不准确,因为这是一个很阶段性的目标。
总体来说,我觉得如果你要做 zkEVM 的话,一定是要朝向兼容性发展,因为现在证明技术真的提升地非常的多,能把 zkEVM 做的非常非常的快,所以我觉得没有必要去因为两三倍的一个效率,去牺牲兼容性。甚至我觉得能不能更快都是一个问题,所以我觉得还是会朝兼容性更好的方向发展。
F.F:明白谢谢 Ye,Scroll 一直是在保持兼容性的情况下提升性能。其他家可能选择不同的取舍方案,但是可能最终大家都会走向以太坊兼容,除了 Starkware。但是从用户角度的话,其实他们更直观的感受应该主要是两个方面,一个是速度,一个是成本。速度方面,出块时间方面,Scroll 一直是稳定在 3 秒左右,原先 Polygon 是在 10 几秒,最近也降到 3 秒多, Linea 目前也是在 3 秒左右。想问下, 3 秒出块时间这个是由什么决定,是排序器的性能所决定的吗,因为现在大家都是中心化排序器,常见的 Alt L1的出块时间会更短,而且他们是走共识层。这块是有什么考量或者是什么瓶颈吗?
Ye: 我们现在设计的 3 秒,其实也可以把它缩短的更快。我们现在定义在 3 秒,是在一个测试阶段,是根据我们现在证明者的体量。因为你如果说缩小到更短的话,你是需要更多的证明者,去及时地证明区块。缩的太短以后,你可能数据上链成了一个更大的瓶颈。而且现在 zkRollup 普遍真实的吞吐量也没有像到几千那么高,它真实的需求可能也就几十。所以说其实你太快出块也没有什么太大的用处,中心化的排序器是可以做的很快,但这也是一个中间的过渡期,取决于证明者的体量,取决于链上上传数据的瓶颈。
其实你可以预估最大的吞吐量是多少,然后倒推出来几秒出块,几秒出块也是一个取舍。比如说 3 秒出一个空间大小为 10 million 的区块和 30 秒出一个空间大小为 100 million 的区块是一样的。如果单看出块时间的话,你可以几毫秒出一个只有一笔交易的区块,比如 Arbitrum 之前一段时间我记得一个区块只有一笔交易,然后出块速度特别快。我不知道现在的状态。所以我觉得看区块的容量有多大,更好的一个方法可能是 Gas / s,就是你每秒能处理多少 Gas,这是一个比较好的衡量方法,比吞吐量,出块时间要更科学一点。 这个就完全取决于你的瓶颈是上链还是证明者,不完全只是因为中心化排序器的效率问题,有很多重因子的影响。
第二个就是当大家去中心化以后,也取决于去中心化的方案。如果你走共识协议,共识又会分为需要许可的共识和无需许可的共识。比如 BFT 可能会更快,但如果要走最长链可能就会很慢。所以这个都是 Rollup 各自理念的选择,有一些为了更快的最终确认,为了用户体验,有一些可能就觉得要更去中心化,可能就会放弃这部分出块时间的优势。
F.F:明白,谢谢 Ye,其实出块时间还是各自链的取舍所决定。那成本方面的话,我们也想问一下,现在 zkSync 还有 Polygon zkEVM 都已经上主网了,我们看到他们的 Gas 费其实相对 OP Rollup 还是要高一些。但 zkSync 和 Polygon zkEVM 可能是两个不同的情况,zkSync 是交互的人太多了,所以 Gas 价格上涨,Polygon zkEVM 是交互的人太少,所以导致他们平摊L1的交易手续费高了,所以自然而然 Gas 费就高了。Scroll 目前在测试网上交易手续费还是非常低的,想问下上主网了之后,是怎么考虑解决这两个问题的。
Ye: 大家可以去看一下我们 Sepolia 的博客,我们描述了很多做的一些优化,里面有很多技术性的概括。我们在 Goerli 测试网之后又做了非常大量的优化。Sepolia 的博客上面有一个图,就是在讲我们是怎么去压缩证明。具体而言,我们把之前一个区块对应一个证明,变成了 Batch, Chunk, Block 三层结构,可以先把 block 证明聚合出来一个证明,又再把这个证明给聚合出来。我们最后聚合了两大层,然后两大层里面又有两层聚合来压缩证明和验证。我们做了非常多的工作来去减小这个验证成本。我们也在看更好的递归证明的算法。另一个事情就是我们通过控制频率,包括出块的频率和上链提交数据的频率,也在跨链桥那块做了大量的优化,最后把 Gas 成本又降低了 50% ,这个也可以在博客里面看到。
然后之后还是会有很多的优化方向,比如说我们最近在研究 EIP 4844 以后,怎么把我们的跨链桥升级,利用 blob 去更进一步地降低我们的 Gas 费。后面我们也会有博客文章专门介绍这个。以及我觉得还有一个很大的方向,为什么现在 zkEVM 还是比 OP 贵,就是因为所有的 ZK 项目都在聚焦 ZK,怎么把 zkEVM 做出来做好。这个技术本身已经非常非常的复杂了,所以我们还没有到深度优化的阶段。但是 OP 不一样,OP 他们上线这么长时间,肯定是要关注成本的。所以我觉得还是优化 ZK 的团队刚刚着手开始做,比如说像链上数据压缩,将链上放的数据变少,但不是说把数据放在其他地方,之前比如说我们要把原始数据放在主链上,但现在我们可以放一个压缩过的数据,不过这个数据还是能恢复出来,我们只是要在 ZK 电路里面证明说这个数据等同于之前没有压缩过的数据然后去用。现在的 ZK 团队可能大部分都没有做这个事情,当把这个事情再做完以后,可能成本又会进一步的压缩非常非常的多,所以还是有很多机会通过一些 ZK 友好的压缩算法把这部分的成本压下来。只是说现在大家聚焦的都是怎么把 zkEVM 做全做好,做得性能更高,但成本这部分会成为下一个很重要的话题。
F.F:明白,谢谢 Ye。我理解一个可能是通过聚合证明的方式把这个成本打下来,一个就是未来通过 DA 层的一些取舍把成本进一步的压缩。那想问一下 Scroll 在解决成本和速度方面,Scroll 有没有可能也会像 Starknet 一样采用L3的方案,最新融资的 Kakarot 是用 Cario 语言写的 EVM。想请教下 Ye,在 Scroll 上有可能再搭建一个 EVM 吗,类似现在L1-L2的架构,或者是像 Kakarot 一样用合约写一个 EVM?
Ye: 关于 Layer 3 的话题,我们目前的重点还是我们自己的开发,怎么去做一个易用完整的系统,而不是盲目的去追求这些飘在空中的叙事。因为我们觉得如果大家想构建 Layer 3 的话,只要 fork Scroll,然后部署在 Scroll 上,因为我们代码也是开源的,大家 fork 部署也很方便。就像我之前说的,我们觉得每个人都在讲 Layer 3 的故事,但是支持 Layer 3 尤其是基于 SNARK 的 Layer 3 ,是需要支持 Pairing 这个预编译合约的。但现在除了我们以外,没有看到任何一个其他的 zkRollup 是支持 Pairing 这个预编译合约并且支持验证 Pairing 的。相当于你缺了最重要的一环,但还是要讲一个更远的故事。我们希望说做更多的事情,而不是说光讲一个故事。
其实这一点,你可以看哪条链上的 ZK 应用更多也能看出来。我们链上有非常多原生的 ZK 应用,因为我们支持了支持了 Pairing。你讲故事是一方面,但你实际能不能支持是另一方面。在我看来 Scroll 很容易支持,可以 fork,部署,验证。Scroll 的 Layer 3 很容易搭建,而且只有我们能支持基于 SNARK 的 ZK Layer 3 。
然后第三点就是 Kakarot 是一个很不一样的设计。Kakarot 是一个 Starkware 上的应用,它不是一个 Layer 3 ,之后有可能会往 Layer 3 发展,但它现在就是一个 Cario 写的程序,用的还是 Starknet 自己的排序器。这个不像是在 Scroll 上再搭建一个 Layer 3 ,更像是在 Scroll 上用 Solidity 写了一个 EVM,然后用户去发交易给这个 EVM 去执行。
F.F:明白,谢谢 Ye,最近还有一个叙事是,zkSync 刚刚推出了他们 zk Stack ,可以一键发 L3,L2。之前像包括 Op 和 Arbitrum 都有推自己的一套解决方案,想问下 Ye,Scroll 是怎么看待现在 RaaS,zkRaaS 这个赛道,Scroll 会不会也推出自己的一套解决方案。
Ye: 我个人觉得说,这确实不是我们现在的重心,而且大家想用 Scroll Stack 或者 SDK,直接 Fork 就好了,我们也没有必要起一个时髦的名字让大家一定要用。它不是我们目前的一个重点,但是大家如果想用的话很容易用。这是第一个原因。
而且我个人觉得,比如说像 OP Stack 现在是最流行的。但现在的一些争论是说这个框架讲的故事是说每个模块都很灵活,但实际上有多灵活,能不能支持零知识证明,Arbitrum 的证明。这个标准是很值得商榷的,还是需要很长的时间检验才能去确定什么是一个好的技术栈标准。我比较相信,Scroll 的价值观是和社区一起建设,如果要建这样一套标准,一定是通过社区的方式去构建。比如说提前跟 Arbitrum, Optimism ,zkSync 和 Polygon 一起去推一个标准,只有这个方式才能让所有的 Layer 2 保持统一。不然的话,Arbitrum 一定不会为了 OP Stack 去改自己的 Stack,然后让这个接口兼容。各家还是在推各家的 Stack,永远不是相互兼容的。这样的话 Stack 就是自己的一个 fork,而不是一个真的有灵活性的框架。
再加上 OP Stack 是一个没有完全成熟的框架,它里面没有证明,作为最关键的一环它缺失了。这样的话,大量 Fork 的链都会觉得自己是条 Layer 2 ,但是没有一个人能达到 Layer 2 安全性的标准。用 Layer 2 是因为大家相信以太坊的安全性,但是没有 Layer 2 能达到以太坊的安全性,因为没有一个 Layer 2 有证明。我觉得这个推的特别广,其实对于加密领域不是一个好事情。大家只看重叙事,而不是看重真实的安全性。我觉得我们证明系统还没有成熟的阶段,是不想去通过大量的营销手段去推市场化,去吸引大家的资金。当我们觉得框架的成熟度到了再去推是更合适的。这是第二个原因为什么我们没有把它当作一个重点。
第三个原因是,我们自己运营过一个完整的 zkRollup。我们知道跑一套这样的东西有多复杂。你需要考虑合约的可升级性,你需要考虑排序器的稳定性,你需要考虑自己的证明者网络和模型,有非常非常多这样复杂的事情。我觉得有能力运行这套 Stack 的团队,或者有需求的应用是少数的。我们不觉得说,大部分的团队有能力去运行自己的 Rollup,还没有到能去维护这样一个系统的时候。如果说之后有一条 Layer 2 被 Rug Pull,或者说会出现重大的问题的时候,对于 Layer 2 整个领域来说也不是一个好事。总体来说,推行 Layer 2 Stack 是一个好的方向,但是如果一旦出现了事故,Layer 2 变成一个 MEME 的话,这个不是我们希望看到的。
最后一个原因,就是互操作性的问题。 不同的应用跑自己的链,他们之间的交互就不是那么无需信任。我觉得这是一个很大的问题,是在割裂一个本来具有互操作性的系统。我们 Scroll 目前的重心就是要做那个默认的 Layer 2 ,去吸引获得最大的网络效应,捕获一些具有互操作性的,有安全性需求的应用场景。这个对我们来说是目前最重要的事情,不排除以后可能会考虑相关的一些方向。但是目前说这个还是有点早,我们还在看它的需求,看一些没有解决的关于互操作性的一些问题。
ZK 硬件加速和证明者网络
F.F:明白,谢谢 Ye。听下来就感觉 Scroll 是在用一个非常务实的方式去推进自己的 Layer 2 ,不会专注于去讲一个趋势性的叙事。那 Ye 你刚才也提到了其实 Layer 2 本身现在的发展重心要更多地解决问题比如说性能瓶颈的问题,而不是在现在需要去讲框架的时候。我们也知道 Ye 之前有发表过一篇可以说在硬件加速领域最重量级的论文,PipeZK。所以我相信 Scroll 在硬件加速方面应该要远远甩开其他竞争对手。我想问的是,现在在硬件加速方面,Scroll 现在有什么最新进展,Ye 可以透露下吗。包括现在的合作模式和技术升级?
Ye: 我再补充一点背景,我们是第一个研究硬件加速方向的团队。除了 PipeZK 以外,我们还有 GZKP。我们有研究过 FPGA,ASIC 和 GPU 的加速,所以我们在硬件加速这个方向是很有专业性的。然后目前来说有很多合作的伙伴,像 Cysic ,他们是偏向于用 ASIC 支持证明者网络。但是我们自己不会做 IPGA 和 ASIC,因为 FPGA 和 ASIC 是一个很需要专业团队,专业技能的领域。我们自己在内部没有办法有这样一个团队去做这样的事情,我们内部团队还是聚焦在 GPU 的一个方案,我们在写一些 CUDA(注:CUDA® 是 NVIDIA 专为图形处理单元 (GPU) 上的通用计算开发的并行计算平台和编程模型),去做一个更快版本的 GPU 证明者。我们是写软件的,我们的初衷是,希望更多的人能去跑我们的 GPU 代码,而不是说我们自己要做一个非常厉害的 ASIC,去垄断这个市场。我们还是在鼓励这个市场不是变成一个零和游戏,而是一个公平竞争的市场,大家竞争成为最快的性能最好的证明者,有 ASIC 的,FPGA 的,还有 GPU 的。然后我们自己会发一版本,大家用我们这个 GPU 算法已经可以成为我们的一个证明者,然后我们现在 GPU 的性能已经优化的非常非常好,能比 CPU 的证明者快大概 10 倍左右。我们还在不断的去迭代它的性能,去思考下一代的这个证明系统的选型。
就具体的合作模式而言,我们也还在探索,现在已经有很多硬件公司承诺说会加速我们的这个 Stack,对我们来说是,看到社区在做这个事情,我们会非常的欣慰。***我们自己会站在一个比较中立的角度去告诉他们怎么跑我们的基准测试,怎么去给他们一些教育,一些帮助,而不是说我们喜欢谁,谁就是一个赢家。我们现在在想可能会推一些证明者竞赛之类,去激励大家越来越快地证明。在我们主网刚上线的时候不会采用一个完全去中心化的一个证明者网络,因为我们觉得整个系统还是需要再次在主网上检验,我们测试网可能已经跑了大半年,但是还是需要主网的一些检验才会进一步地去中心化,我们已经有几个比较好的提案去讨论我们怎么去中心化我们的证明器和排序器,我们可能会先通过一些竞赛慢慢得去中心化这样的方式去推进。
F.F:好的,谢谢 Ye,刚刚听下来可能 Scroll 会更专注于软件优化方面,硬件方面的话会跟其他公司进行合作。就刚刚提到的去中心化证明者这一块,社区里面大家对于 Scroll 的证明者网络都非常关心。我印象里 Scroll 应该是第一个提出要去中心化证明者。因为有许多以太坊 POW 转 POS 之后出现的闲置的 GPU,Scroll 的证明者网络对双方而言都是一个很大的一个机会。在这里,就想代表社区问一下,未来想要参与 Scroll 的证明者网络,GPU 有什么特殊的要求,或者有什么需要适配的地方。这个大概能测试会是在什么时候。
Ye: 我们目前证明者的要求的话,是一个 CPU 加两卡或者四卡 GPU 的要求。其实我们对 GPU 的要求比较低,应该是只要 8 GB 内存的 1080 都可以跑我们的证明者。但是对 CPU 的现在要求比较高,应该还是在 200 GB 的 CPU 内存以上,所以还是一个代价比较高的证明者。这点上,没有任何一家 zkEVM 能把它自己的 CPU 成本降低到 200 GB 以内。这是一个最大的问题,也是我们在看的一个方向,能不能把一个 zkEVM 的区块切小,然后去分段证明等等。
F.F:那如果说社区的开发者和参与者,想要测试的话,大概什么时候能测试这个证明者。
Ye: 我们的 CPU 证明者是完全开源的,大家可以随时去跑 CPU 证明者。然后等主网上线以后,我们还会继续去优化我们的 GPU 的证明者版本,去适配更多的不同的 GPU 的型号。所以我觉得可能大概在那个时间点,大家可以去尝试自己跑一跑证明者。但是如果真的开放出来,大家能接进证明者网络里面去的话,我觉得还是要一段时间的,因为你得有一个支持网络的系统才行。我们目前整个系统的设计是去中心化的,但是需要设计具体的激励模型,惩罚模型等等这些事情。所以真的接到网络里还需要一段时间,但如果只是跑的话现在就可以跑,你可以运行自己的证明者,因为证明者的代码都是开源的。
F.F:好嘞,谢谢 Ye,也非常期待就是未来证明者网络的上线。聊到证明者网络的去中心化,其实里面会涉及到非常多的协调问题。然后 Scroll 现在有没有什么可选的方案可以透露一下,因为我们有研究看过别的链,包括像 Polygon 他们应该走的是一个 POE ( Proof of Efficiency ) 的方案,类似于无需许可的提交证明,最快的证明者会胜出。也有像 Mina 和 Nil 一样走类似证明市场的方案?Scroll 在这方面有没有什么自己创新性的方案呢?
Ye: 我们现在整个网络去中心化的话,比较确定的是我们会有一个***证明器排序器分离 (Prover Sequencer Separation, PSS) 的方案,以太坊 Layer 1 叫 Proposer Builder Separation ( PBS )。我们会确定说排序器和证明器会是两个分开的角色,但是具体两边的设计会是一个很长期的问题,因为如果你把证明器设计完,再设计出排序器的时候,就会发现有问题。所以长期来看,证明者可能影响排序器,排序器可能影响证明者。要涉及比如交易手续费多少留给排序器,多少留给证明器的激励模型。我们有很多套方案,但是还没有确定采用哪一套。
我们目前的理念偏向于避开最快的证明器永远胜出,因为如果说你的系统依赖于最快的证明器,那社区里其他人跑了一个证明器,发现跑不过最快的那个证明器,长时间没有奖励可能就走了,整个系统就会依赖于那个最快的证明器。当你依赖于最快那个证明器的时候,它可能就没有动力去继续升级它的证明器。当它一走的时候,你的系统会出现单点故障,所以我们会尽可能地想办法避开这样的设计。*** 但具体设计的话,我们之后会慢慢地去公开各种提案,然后我们会从里面选一个,也会和社区讨论,听社区的意见,但现在还比较早期。
F.F:明白,听下来可能 Scroll 方案会更偏向于避开最快证明者,希望就是证明者之间是一种自由竞争的一个状态,这样会激励这个网络能长久的会发展下去。
Ye: 对,不是最快的证明者一直赢。
证明系统
F.F:这样的话我觉得是最好的,能让更多的社区的参与者能够进来。那接下来我们就聊一聊证明系统,其实大家现在想到 ZK,还是会想到两类证明系统,一类是 STARK,一类是 SNARK。然后 Ye 你之前在演讲中也说过,现在证明系统也是模块化的趋势,那是不是意味着这样的分类就不适用了,之后我们谈到证明系统,就得按它前后端分别用的是什么组件来划分。然后谈到 STARK,也不再是 Starkware 所独有的一个证明系统。印象里 STARK 是抗量子攻击的,未来是不是 SNARK 也可能有这样的特性。
Ye: 对,我觉得 SNARK 和 STARK 确实是差别很小,它只是一个多项式承诺 ( Polynomial Commitment )元件的差别。STARK 独有的这个元件叫 FRI。SNARK 现在也可以抗量子。如果你一定觉得这个很重要的话,比如 Plonky 2 之类的就是抗量子的,我们使用的 Halo 2 证明系统换成 FRI 的话也是抗量子的。所以我觉得这不是一个特别明显的区分,而且我觉得抗量子这个事情不是目前最大的一个考量。大家用 FRI 也不是为了抗量子,大部分是因为它生成证明比较快,效率可能对于证明系统来说更重要。FRI 确实是一个未来很重要的一个方向,它可以把你的 Proof 做得很快,但同时它验证成本也很高,所以你需要不断地递归把成本降低下来。这个也是我们在探索的一个方向。
证明系统确实是非常模块化的,我们希望推行的是一个社区的标准,大家都可以用同一套证明系统,然后这个框架可以支持 FRI,支持 STARK,SNARK,这是我们希望看到的。
F.F:明白,谢谢 Ye。我们在这可能会问的更细节一些。Scroll 现在的两层证明系统都采用的是 Halo 2 ,我们很好奇的是,从取舍角度没有最优只有最合适的,是不是意味着对于 zkEVM 而言,Halo 2 就是最适合的证明系统。
Ye: 我觉得不是的,因为 Halo 2 它其实是一套代码框架。其实当我们在用 Halo 2 的时候,我们更多是把 Halo 2 作为一个证明系统的模块化框架。Halo 2 里面你可以加 KZG 就变成了 PLONK,加 FRI 就变成了 STARK,可以加各种元件变成各种新的证明系统。这是 Halo 2 的一个解释,具体到某一个证明系统,是需要加其他很多描述性的表述。
对于 zkEVM 而言,现在有很多方向都很有前景,一种像我们现在用的 Halo 2 加 KZG 是最传统的,安全模型也是经过时间检验的。另外一种方向就是 Halo 2 加 FRI,或者是用 Plonky 2 或者 STARK 的方式去做 zkEVM,效率也很高。根据 Polygon 的数据,他们的这个证明系统效率也很高,所以我们也在看这个方向。区别主要在于它不依赖椭圆曲线,可以导致节省很多椭圆曲线有限域的一些计算,这是它非常快的一个很重要的原因。另外对于 FRI 而言,他们可以用 Goldilocks(64 位)的小域让 zkEVM 更快。
另外一个大的方向就是 Folding,像 Hypernova, Supernova ,Paranova 等等各种各样的 Nova 证明系统。原理上,FRI 比 Plonk 快主要是因为它的域不一样,它的有限域表示元素会更小更快。然后 Folding 主要原理是当你需要证明 100 个相同的程序的时候,如果用其他的证明程序,你可能需要生成 100 个证明,或者把 100 个程序放在一起然后生成一个大证明。用 Folding 以后你可以把这 100 个程序通过很小的代价折叠到一起,然后只证明最后折叠过的那一个就可以。所以它可以减小一部分证明者需要的成本,这是让它非常快的一个原因。这个方向也很有前景,但是还是有很多没有解决的问题。比如说不同程序之间的查找表,包括它没有一个很成熟的开发框架,让大家去开发基于 NOVA 的程序。大家也还在观察到底是不是适用,它的效率有多高。我觉得一个比较大的可能性,它对于证明很多 Keccak,ECDSA 这样重复性的电路而言是非常高效的。这是一个很好的方向,比如说阶段性地先把一部分换成 Folding 或者 FRI,去尽可能地把性能至关重要的部分先替换掉。但这里面有很多问题,比如你还是要跟剩下的部分连接起来,还要考虑整个系统的审计安全等等。
所以我觉得这还是一个需要仔细对比的方向。我们内部做了大量的基准测试,怎么去建一个系统,它可以更公平的去比较 Folding 还是 FRI 好。我们在这个事情上做了很多工作,会有很多的基准测试结果,也会有文章去讨论我们的结论。为什么我们觉得下一代的证明系统需要朝这个方向演进。
F.F:我这边追问一下,关于 Folding 是不是有点类似于用递归的方式,在电路上面进行一层聚合。然后我们之前讲到的证明聚合的话,是指在证明这个层面上做了一些聚合。
Ye: 是的,是这样一个大概思路。但是它还是和递归很不一样,因为它真的能把要证明的东西线性组合起来,然后只证明一次。结果上看有点相似,但是实际还是会有很多区别。
细节上,举一个不是特别生动形象的例子。比如说你现在有 100 份作业要写,传统的证明方法就是说一份一份的写过来。递归有点像有 100 个人,每个人写一份,最后想办法把它们怎么整合到一起。Folding 更像是一个人拿了一个长长的笔,这个笔有 100 个触头,他写一个就写了 100 个。有点像这个感觉,他有点偷懒的想法,然后把任务压缩到了一起,只写一遍。
递归的话,他不减少工作量,他还是要写的,只是最后想办法给聚合到一起,比如说 100 个人写完以后叠在一起,然后老师只批一次或者怎么样。
F.F:那 Folding 有可能就像我们之前用复写纸,下面垫了 100 张,就写了所有的作业。
Ye: 对对,有这种感觉,但也没有那么神奇,它还是有一些成本的。比如复写纸你写 100 张的时候,最底下那个痕迹也会比较浅。
F.F:那我们应该能期待 Scroll 未来证明系统上会有一些升级。讲到升级证明系统的话,我们看之前的架构,Geth 客户端是会将执行踪迹递交给证明者,这一部分看上去不是强绑定的关系,所以证明系统这块是不是也是类似于一个组件,升级证明系统就类似于升级组件。
Ye: 是的。
F.F:另外一个趋势是去年 Barry Whitehat 提出的 lookup singularity,包括a16z最近推出了 Lasso 和 Jolt 也是一个针对 Lookup 做了非常大的优化和升级,想问下 Ye 是怎么看待这个趋势方向的?
Ye: 我觉得这也是一个很有前景的方向。它们的核心思想是说做一些非常巨大的查找表。 比如说之前查找表可能是 2 的十几次方,二十几次方。现在他们可以做 2 的一百多次方的查找表。我觉得这是一个很有趣的方向,但是怎么去只用查找表搭造电路,是一个挺有挑战的事情。他们的构想是,把查找表做的非常便宜,以后大家就只用查找表就可以证明各种约束。 但实际因为之前的查找表 Caulk, Baloo, Cq,大部分的都只能证明固定的查找表,但不能证明动态的查找表。我还没有具体去看他们新的架构能不能支持动态查找表。如果能支持动态查找表,是一个非常好非常厉害的一个设计,才能适用到 zkEVM 里面。所以我觉得还是需要再观察个一两个月,看一下多少的电路部分可以用查找表代替,再去看它的效率。我们已经开始看这个方向了,正好今天上午还在分享了查找表的这篇论文,但 zkEVM 的那篇论文还没有分享,估计这一两周可能就会有我们自己的一些结论。
Scroll 的愿景和价值观
F.F:好嘞,谢谢 Ye 和我们分享了那么多关于证明系统方面的一些最新进展。然后我们这次的 Talk 的主题是 Scroll 与 ZK 同行,那目前来说 Scroll 披露的主网上线时间应该是Q3和Q4,所以我们最希望 Ye 做一个美好的期许,在可预见的未来,你希望 Scroll 和 ZK 可以发展到什么样理想的状态。
Ye: 我们预计是在Q3~Q4(注: 实际上线时间 2023.10.17 )的时候会上线主网。我们的愿景是让下十亿用户通过 Scroll 进入以太坊生态。我们也一直在坚持开源,和社区共建,保持中立的原则。我们会比较相信 Layer 2 作为一个扩容技术,它不光是要技术扩容,去继承以太坊的安全性,去增加 tps,更重要的是要继承以太坊那些良好的品质。比如说以太坊相信去中心化,相信中立性。很多事情以太坊不会做,以太坊不会去搞一些活动支持大家去做一些疯狂的事情,但很多 Layer 2 现在已经做了,例如非常疯狂的市场宣传。
所以我希望 Scroll 在未来的发展过程中能始终坚持自己的信仰和价值观。以太坊不会做的事情我们就不会做,我们希望成为大家默认的以太坊扩容层。现在所有 Layer 2 其实都在朝着和以太坊不那么一致的方向发展。他们会有自己的市场策略,会有自己上线的目标,而我们希望成为仅存的和以太坊保持高度一致的 Layer 2 。因为我们觉得只有这样,才能吸引到真正在乎安全性,真正相信以太坊价值的一些应用。我觉得只有通过这种内在的价值观的相互吸引,才能培养一个真正长期的社区。
因为永远会有新的 Layer 2 ,永远会有下一条链,永远会有周期。大家永远会从一个链迁移另一个链,想成为一个链生态最重要的玩家。而我们希望看到在几个周期以后,现在相信 Scroll 的人依旧相信 Scroll。无论我们做什么,我们会一直坚守我们的价值观和信仰,一直保持中立的立场,持续开发一个非常好的技术平台。同时我们社区发展的话,也是专注于技术,而不是怎么去不同的地方去推销 Scroll。我们是希望能把教育和资源带给不同的地方,能让大家有一个更好的氛围去讨论技术,而不是仅仅传播我们 Scroll 自己。
并且我们希望能成为一个最可信的 Layer 2 平台,将来我们会有各种各样的措施去增强我们的安全性,无论是通过多证明还是其他的方案,把我们的安全性做得非常非常好。我觉得将来一些越是重要的应用,越会注意到我们的价值,这才是我们所在乎的。我们会永远保持长期思考,观察接下来三到五年什么会是最重要的,然后我们再朝那个方向发展。而不是说短期市场觉得什么好,我们就朝向什么方向去做。
总的来说,我的期许是在一路的发展过程中,我们能始终坚持自己的信仰,自己的理念,以以太坊的方式去发展生态,去构建一个无限花园。不会因为谁和我们关系好,我们就宣传谁,谁就会在我们的宣传之下取得成功。我们希望大家能看到我们对价值的坚守,认为我们是最有潜力的那条 Layer 2 。大家会自发地来我们这里部署,成为我们早期生态伙伴的一部分。我们一定是很重视早期生态系统的合作伙伴的,但我们也不会打破我们的中立性。因为这对于协议来说是非常重要的,你不能对于一些应用有偏向性,虽然这个东西确实有一些反人性。我们也希望通过我们的技术,我们做的这些教育,通过我们这样的社区,慢慢让大家跟我们 Scroll 保持一致,而不是通过简单砸钱的方式。实际上我们拒绝了非常非常多的合作邀请,这在很多链看来是失去了很多的机会。但我们会认为虽然短期可以通过市场把市值做得非常高,可以做很多活动去提升链上的活跃度,但是另一种方式就是做 Scroll 自己,坚持我们原先要坚持的。我们会永远选择后者,这是我们和其他 Layer 2 理念上的区别
F.F:非常感谢 Ye,我们也非常认同 Scroll 长期的价值观,包括与以太坊保持一致,去中心化,安全性第一。我们会认为只有长期良好的价值观,才能让 Scroll 走得更远。我们也非常期待 Scroll 在未来能和以太坊一起发展,也能和 ZK 一起发展。非常感谢 Ye 今天参加我们这次的播客。
原文链接