受访者:YeZhang,Scroll联创
原文来源:极客 Web3
6月17日,极客Web3和BTCEden在Scroll的DevRel——Vincent Jin的帮助下,有幸约请到了Scroll的联创张烨,来解答关于Scroll和zkEVM的诸多问题。
期间双方不但谈到了很多技能话题,还谈到了Scroll的一些趣事,以及其赋能亚非拉实体经济的伟大愿景。本文是这次访谈的笔墨版记录,超过1万字,共包含至少15个话题:
ZK在传统领域的运用空间
zkEVM和zkVM在工程难度上的差异
Scroll在实现zkEVM过程中碰着的难题
Scroll对Zcash的halo2证明系统作出的改进
Scroll是怎么和以太坊PSE小组展开互助的
在代码审计层面Scroll如何确保自己的电路安全可靠
Scroll对未来的新版zkEVM及证明系统的大略方案
Scroll的Multi Prover设计以及其Prover天生网络(zk矿池)的搭建办法等。
除此之外,张烨老师在末了谈到了Scroll将扎根在非洲、土耳其、东南亚等金融系统掉队地区,打算为该地区公民创造实体经济场景以“脱虚入实”的伟大愿景。本文可能是让更多人更好理解Scroll的绝佳资料之一,推举大家仔细阅读。
1.Faust: 叨教张烨老师对付ZK在Rollup之外的运用怎么看?不少人习以为常地认为,ZK的紧张用途在混币器、隐私转账或ZK Rollup和ZK桥这些地方,但在Web3之外,比如传统行业里对ZK的运用还是很多的。您以为未来ZK最有可能在哪些方向上被采取?
YeZhang:这是一个好问题,传统行业里做ZK的人,在五、六年前就在探索ZK的各种场景,区块链中用到ZK的场景实在非常小,这也是为什么Vitalik以为十年后,ZK的场景会和blockchain一样大。
我以为在那些须要信赖假设的场景中,ZK会有很多用武之地。假设你现在须要处理一些繁重的打算任务,如果你在AWS上租做事器,运行自己的任务并得到结果,相称于你在自己掌握的设备上做打算,然后你要支付租做事器的钱,但这笔钱每每并不便宜;
但如果我们搞打算外包的模式,很多人可以用自己闲置的设备或资源分担你的打算任务,你付出的本钱可能比自己租做事器更便宜。但这里存在信赖问题,你不知作别人返回给你的打算结果是否精确。现在假设说你在做一个很麻烦的打算,然后你把打算交给我来做,再给我钱。我过了半小时后随便交给你一个结果,你也没有办法相信这个结果是有效的,由于我可以随便编个结果。
但如果我能向你证明,交付的这个打算结果是对的,那你就可以放心了,并且也敢把更多打算任务外包给我来做。ZK可以把很多不可信的数据来源变为可信的,这个功能非常强,通过ZK,你可以把不可信但很便宜的第三方打算资源更高效的利用起来。
我以为这个场景非常故意义,可以催生类似于外包打算的商业模式。在一些学术文献里,称其为可信打算(verifiable computation),便是把一个打算变得值得信赖。除此之外,ZK可以运用到数据库领域,假设在本地运行数据库太贵了,你决定走外包的路子,恰好一个人有富余的数据库资源,然后你把数据存储在他那边。你会担心对方变动你托管在他那的数据,或者说你一个SQL query后得到的结果对不对?
对此,你可以让对方天生一个proof,如果这件事能做到,你可以把数据存储也外包出去,并得到一个trustworthy的结果。这和前面的可信打算彼此都是一大类运用处景。
此外还有很多运用实例,我记得有篇论文讲了Verifiable ASIC,在生产芯片的时候,可以把ZK算法写到你的芯片上,当你用芯片运行程序的时候,产生的结果默认会带一个Proof。这样一来我以为很多东西都能代理给任何一台设备,天生可信的结果。
还有一个有点扯的东西,叫Photo Proof照片证明。比如说很多图片,你不知道是不是P过的,但我们可以通过ZK去证明相片没有被修改过,比如可以在相机软件中加一些设置,自动天生一些数字署名,你拍完照片后,这个署名相称于给照片盖了章。如果有人把你拍的照片拿去PS,搞“二次创作”,我们验证下署名就能识别出图片是被改动过的。
这里面我们可以引入ZK,当你对原图进行了些许改动后,你可以用ZK Proof向别人证明自己只是对照片做了旋转、平移等大略操作,并没有修改照片的原始内容,证明自己微调后的图片和原版图片基本一样,也便是证明自己没有修改图片的核心内容搞“二次创作”。
这个场景还可以拓展到视频音频上,通过ZK,你不必见告对方自己对原版视频做了哪些改动,但可以证明自己没有修改原版的核心内容,证明自己只做了一些无伤大雅的调度。此外还有很多故意思的运用,都是ZK能插一脚的。
目前,我以为ZK的运用处景还没有被广泛收受接管的缘故原由,在于其本钱太高,现有的ZK证明天生方案,还不能做到对任意打算都实时天生证明,由于ZK的开销一样平常是原始打算的100倍到1000倍,当然我说的数字已经是压的比较低的了。
以是你想象一下,一个打算任务本来要算1小时,你现在给它天生个ZK Proof,Overhead可能是100倍,也便是要花100个小时来天生证明,虽然你可以用GPU或ASIC把这个耗时给缩短,但还是要付出巨大的打算开销,如果你哀求我算一个很麻烦的东西,还哀求我为此生成ZK Proof,我可以谢绝这么做,由于这要额外耗费100倍的打算资源,末了落实到经济账上就很不划算。以是对付一对一的场景来说,天生一次性的ZK证明很昂贵。
不过,这也是为什么对付Blockchain来说,非常适宜用ZK,缘故原由是区块链做的是冗余打算,有很多1对多的场景。区块链网络中不同节点做的是相同的打算任务,如果有1万个节点,那么相同的任务要被实行1万次。但如果你在链下完成任务,天生ZK证明,1万个节点只验证ZK证明而不重跑任务,就不必再把原始打算重放1万遍了,相称于你用自己1个人的打算本钱,和1万台节点搞冗余打算的本钱做了置换,从整体的角度看,可以让更多人节约资源。
以是,实在链越去中央化越适宜搭配ZK,由于任何人都能近乎零本钱的验证ZKP,我们只要在初始天生证明的时候付出一定本钱,就可以换来对大多数人的解放,这便是为什么区块链的公开可验证性非常适宜ZK,由于区块链里有很多1对多的场景。
还有一个上面没提到的点。现在区块链领域用到的Overhead比较大的这种ZK证明,都是非交互式的,便是你给我一个东西,我给你证明,然后就结束,由于在区块链中,你不可能反复的去跟链上交互。但有一种更高效、开销更低的证明天生办法,也便是交互式证明。比如说,你给我发一个Challenge,我给你发一个东西,你再给我发一个东西,我再给你发一个,通过这种双方多次交互的办法,有可能把ZK的打算量级再降落下来。如果这种办法可以,就有可能办理大的ZK运用处景的证明天生问题。
Nickqiao:如何看待zkML,也便是ZK和机器学习相结合的发展前景?
YeZhang:zkML也是一个很有趣的方向,能把Machine Learning给ZK化,但我以为这方面还是缺少杀手级的运用处景。大家普遍认为随着ZK系统的性能提升,未来能够支持ML这个级别的运用,目前zkML的效率能够支持gpt2这种级别的运用,在技能上能做到,但只能做ML中的推理。归根结底,我以为大家还是在摸索这块的运用处景,也便是到底什么样的东西才须要你证明其推理过程是对的,这个事情是挺刁钻的。
2.Nickqiao: 想请教下张烨老师,zkEVM和zkVM在工程实现难度上的差异详细有多大?
YeZhang:首先,无论是zkEVM还是zkVM,实质都是为某个虚拟机的操作码/指令集天生定制的ZK电路,而zkEVM的工程落地难度取决于你实现它的办法,在我们刚启动项目时,由于ZK的效率还没那么高,通过为EVM的每个操作码都写一个对应的电路,然后把电路组合起来,定制一个 zkEVM是最高效的办法。
但这种方案的工程实现难度肯定很大,比zkVM大很多,毕竟EVM的指令集有超过100个操作码,每个操作码都要定制一套东西,然后组合起来,一旦有EIP为EVM增长新的操作码,比如EIP-4844,zkEVM都要相应的加新东西。末了你要写很长的电路并进行漫长的审计事情,以是开拓难度和事情量要比zkVM大很多很多。
反之,zkVM是自己定义了一套指令集/操作码,它自定义的指令集可以做的很大略,可以很ZK friendly,你做出来一套zkVM后,不必频繁的变动底层代码,就能支持各种升级和预编译。以是zkVM的紧张事情量和后续升级掩护的难度,就放在了编译器也便是把智能合约转化为zkVM操作码的那一步,这和zkEVM有很大不同。
以是,从工程难度来看,我以为zkVM要比定制化的zkEVM更随意马虎实现,但是如果要在zkVM上跑EVM的话,总体性能比定制化的zkEVM低很多,由于后者是专门定制的。但目前,Prover天生证明的效率在过去两年间有了至少3~5倍乃至5~10倍的飞跃,zkVM的效率在随之提升,现在用zkVM去跑EVM,整体效率已经逐步提上来了,未来zkVM在性能上的劣势可能被它易于开拓掩护的上风给粉饰住。毕竟对付zkVM和zkEVM而言,撤除性能外的最大瓶颈就在开拓难度上,必须要有一个非常强大的工程团队,才能掩护好这样一套繁芜的系统。
3.Nickqiao: 能否讲一下Scroll在zkEVM落地的过程中,是否碰着一些技能难题,又是怎么办理的?
YeZhang:一起走来的话,最大的寻衅还是在于,最初启动项目时的不愿定性太大。我们刚启动项目时,基本没有其他人做zkEVM,我们是最早探索zkEVM从不可能变成可能的一个团队。在理论层面,项目刚开始的6个月就基本确定了一套可行的框架,而在后续实现的过程中,zkEVM的工程量非常大,还有一些非常技能性的寻衅,比如说你怎么动态的支持不同的Pre-Compile(预编译),怎么去更高效地聚合操作码(opcode),这涉及到很多工程上的难题。
而且我们是唯一一个,也是最早支持EC Pairing椭圆曲线配对这个Pre-Compile的,像Pairing这种电路实现起来难度非常大,涉及到很多数学等错综繁芜的难题,对写电路的人的密码学/数学功底,以及工程能力哀求都很高。
然后在后期发展上,还要考虑技能栈的长期可掩护性,以及要在什么样的韶光节点,升级到下一代的zkEVM 2.0。我们有一个专门的研究团队,一贯在研究此类方案,比如通过zkVM的办法来支持EVM,我们也有干系的论文去做这方面的一些谈论。
总结下来,我以为之前的难点在于把zkEVM从不可能变为可能,面临的难题紧张在工程落地和优化上。而下一阶段,更大的难点是在什么时候、通过什么样的详细办法,切换到一个更高效的ZK证明系统,以及我们怎么把目前的这套代码库过渡到下一代zkEVM身上,以及下一代的zkEVM能给我们供应什么样的新Feature,这里面有大的探索空间。
4.Nickqiao: 听起来是Scroll已经考虑切换到别的ZK证明系统上了。据我理解,目前Scroll用的是基于PLONK+Lookup的一套算法,那么这套算法在目前是否是最适宜实现zkEVM的,以及未来Scroll打算换用什么证明系统?
YeZhang: 首先我来大略回答下关于PLONK和Lookup的问题,目前这一套还是最适宜实现zkEVM或者zkVM的系统,大部分的实现跟详细的PLONK和Lookup是绑定的。一样平常提到PLONK时,实在更多是用PLONK的arithmetization,也便是电路的算术化表达办法去写zkVM的电路。
Lookup是写电路时用到的一种办法,一种约束类型。以是当我们提到PLONK + Lookup,指的是在写zkEVM或zkVM电路时,利用PLONK的约束格式,这种办法目前是最常见的。
而在后端方面,PLONK和STARK的界线已经变得模糊,它们只是用了不同的多项式承诺办法,但实在很类似。纵然采取STARK + Lookup的组合,跟PLONK + Lookup也是类似的,大家看的只是算法,两者的差别紧张表示在Prover的效率、证明大小等方面。当然,就前端而言,Plonk + Lookup来实现zkEVM还是最适宜的。
关于第二个问题,便是Scroll未来打算切换到什么证明系统。由于Scroll的目的是永久让自己的技能和链的框架保持在zk领域里最顶尖的位置,以是我们肯定会用最新的一些技能。我们一贯以安全性、稳定性作为最优先的目标,以是不会过于激进地切换自己的ZK证明系统,可能先通过一些Multi Prover做过渡,一步一步的摸索递进,来完成下一版的升级迭代。Anyway,要担保说这是一个平稳的过渡流程。
但就现在来说,切换到新的证明系统还很早,这实在是下一阶段比如未来6个月到1年的发展方向。
5.Nickqiao: Scroll在当前基于PLONK和Lookup的证明系统上,有没有一些独特的创新?
YeZhang: 目前在Scroll主网上运行的是halo2,halo2最早源于Zcash这个项目团队,他们最早做了一个能支持 Lookup,支持灵巧地写电路格式的一套后端系统。然后,我们和以太坊的PSE小组一起改造了halo2,把它采取的多项式承诺方案从IPA换到了KZG,把Proof Size变小了,从而能在以太坊上更高效的验证ZK Proof。
然后我们在GPU硬件加速上做了很多事情,跟用CPU天生ZKP来比拟的话,能让ZKP天生速率快5~10倍。总体来说,我们把原版halo2的多项式承诺方案更换成了更易于被验证的版本,并做了很多关于Prover的优化,在工程化落地高下了不少功夫。
6.Nickqiao: 以是Scroll现在是和以太坊PSE团队共同掩护KZG版本的halo2。您能否给我们讲一下,你们是若何和PSE团队互助的?
YeZhang:Scroll在启动项目前,我们本来就认识一些PSE团队的工程师,我们就有和他们聊,说自己想做zkEVM,我们估计了一下这个效率是ok的。刚好在同一个韶光节点,他们也想做同样的事,然后大家一拍即合。
以是,我们是从以太坊社区,从Ethereum Research那边认识了一起想做zkEVM的人,大家都想把zkEVM产品化落地,都有为以太坊做事的想法,以是很自然地开始了开源互助的模式。这种互助办法更像开源社区,而不是商业化的公司,比如我们每周都会通一次电话,同步一下进度,谈论碰着了哪些问题。
我们以这种办法去开源地掩护了这套代码,从改进halo2到实现zkEVM,这中间有很多探索的过程,我们相互会帮忙Review代码。你从Github的代码贡献量能看出来,PSE他们写了一半,Scroll这边写了一半,后续我们完成了代码的审计,并实现了一版真正产品化落地并在主网上运行着的代码。总结下来,我们和以太坊PSE的互助模式,更像是一个开源社区的路径,是自发的形式。
7.Nickqiao: 您刚才提到,要编写zkEVM的电路,对数学和密码学的哀求非常高,既然如此,能摸清楚zkEVM的人估计很少。那么Scroll怎么担保电路编写的精确性以及少出bug?
YeZhang:由于我们是开源的代码,基本上每一个PR都会有我们的人和以太坊的一些人,以及一些社区成员去Review,有比较严格的审计过程。同时我们在电路审计方面也花了很多钱,超过100万美元,找了这个行业里最专业的密码学和电路审计机构,比如Trail of Bits,Zellic等。我们链上智能合约的部分也找了openzepplin来审计,基本上所有和安全干系的东西都动用了第一流的审计资源。我们内部还有专门的安全团队去做测试,持续提升Scroll的安全性。
Nickqiao: 除了这种审计办法,有没有形式化验证等在数学上比较严谨的办法?
YeZhang:我们实在很早就看过就Formal Verification(形式化验证)这个方向,包括以太坊最近也在思考,怎么给zkEVM做形式化验证,这实在是一个很好的方向。但就目前来说,要给zkEVM做完全的形式化验证还比较早,只能从一些小的模块开始摸索,由于Formal Verification运行是有本钱的,比如你要给一套代码去运行Formal Verification,你要给它先写一个spec,但写spec并不随意马虎,这套东西要完善须要很永劫光。
以是我以为目前还没有到给zkEVM做完全的形式化验证的阶段,但我们会持续的跟以太坊在内的外部互助者去积极探索怎么做zkEVM的形式化证明。
目前来说,最好的办法实在还是人工审计,由于你就算有了spec,有了Formal Verification,如果spec写错了,那你还是会出问题。以是我以为,目前最好还是先通过人工审计,然后通过开源和漏洞悬赏的办法,确保目前Scroll代码的稳定性。
但是,不才一代zkEVM中,关于怎么去做形式化验证,怎么去设计一个更好的zkEVM进而更随意马虎的写出来spec,通过形式化验证的办法去证明它的安全性,因此太坊的终极目标。便是说,当一个zkEVM被形式化验证往后,他们就可以彻底放心地将实在行到以太坊主网上。
8.Nickqiao: 关于Scroll采取的halo2,如果要支持STARK等新的证明系统,开拓本钱会不会很大。能否实现一种插件化的体系,同时支持多个证明系统?
YeZhang: halo2是一个非常模块化的ZK证明系统,你可以更换它的域、多项式承诺等,只要把它用的多项式承诺从KZG换成FRI,基本就可以实现一个halo2版本的STARK,这个事也确实有人做了,以是halo2要支持STARK,这种兼容是完备ok的。
然后在实际落地中会创造,如果你要追求极致效率的话,越模块化的框架越可能导致一些效率问题,由于你为了模块化捐躯了定制化的程度,会有付出一些代价。我们在持续关注一个问题,便是未来的发展方向该是模块化的框架,还是非常定制化的框架,尤其像我们有足够强的ZK开拓团队,可以掩护一个独立的证明体系,然后让zkEVM 变得更高效。当然上述问题须要做出一些权衡,但就halo2而言,它可以支持FRI。
9.Nickqiao: 目前Scroll在ZK方面紧张的迭代方向是什么?是优化目前的算法、增加一些新的feature之类的?
YeZhang:我们的工程团队核心在做的事情,还是要把目前的Prover性能再提升一倍,然后EVM兼容性也要做到最好。不才一版升级中,我们会连续保持自己在ZK Rollup里最EVM兼容的这样一个位置,现在其他所有的zkEVM该当都没有我们的兼容性好。
以是这是Scroll工程团队一方面在做的,便是连续优化Prover和Compatibility,并且要降落用度。我们现在已经投入了很多人力,去研究下一代zkEVM,大概投入了一半的工程力量,以实现分钟级乃至秒级的ZK证明天生,让Prover的效率变得高起来。
同时,我们在探索新的zkEVM实行层,我们的节点之前用的是go-ethereum,但现在有性能更好的Rust版本以太坊客户端Reth。以是我们在研究,怎么把下一代zkEVM跟Reth客户端更好地结合,把全体链的性能给提升上来。我们会稽核zkEVM如果环绕着新的实行层,该用什么样的实现办法和过渡形式最好。
10.Nickqiao: 那么像Scroll在考虑支持的多样化证明系统,有没有必要在链上实现多个Verifier合约呢?比如做交叉验证
YeZhang:我以为这是两个问题,首先便是说,有没有必要去做模块化的证明系统和多样化的Prover,我以为这么做是故意义的,由于我们从始至终,便是开源项目。你把开源出去的这套框架做的越通用化,会吸引来越多人帮你造轮子,你的社区也会因此壮大,后面在项目开拓或者工具利用上,可以自然而然的引用外部力量。以是我以为,如果能做一个不只给Scroll自己利用,还能给其他人用的ZK证明框架很故意义。
然后第二个事情,便是在主网上做交叉验证这个事,这实在和证明系统本身是否是多样化的,是否支持STARK或PLONK是正交的话题。一样平常很少有项目把同样的zkEVM用PLONK验证一遍,再用STARK验证一遍,这是很少的,由于这么做对安全性的提升不大,反而会让Prover付出更高本钱,以是一样平常不会涌现这种交叉验证的情形。
我们其实在做一个东西叫Multi Prover,可以有两套Prover一起证明相同的一个Block,但是会在链下把两个Proof聚合到一起再放到链上去验证。以是,并不会在链上做STARK和SNARK之间的交叉验证。我们的多Prover方案,是为了担保在个中一套Prover的代码出问题时,另一套代码可以兜底,一套系统出了bug另一套能照常运行,以是这和交叉验证是另一个话题。
11.Nickqiao: Scroll的Multi Prover,每个Prover运行的证明程序会有什么不同?
YeZhang:首先,假设我有一个正常的、用halo2写的一套zkEVM,有一个正常的Prover天生ZKP再去链上做验证,但这里有个问题,zkEVM很繁芜,有可能涌现bug。如果涌现bug,比如被黑客或者项目方拿去利用这个bug天生一个Proof,末了能把大家的钱提走,这肯定是不好的。
Multi Prover的核心思想,实在是Vitalik最初在Bogota活动上第一次提出的。意思是说,如果一个zkEVM可能涌现bug,那你可以同时跑不同种类的Prover,比如说可以用TEE的基于SGX的Prover(Scroll目前用了这套),或是基于OP,或用zkVM运行EVM的办法去跑一个Prover。Anyway,这些Prover要同时去证明一个L2 Block的有效性。
假设有3个不同类型的Prover,当且仅当它们天生的3个不同Proof都通过验证,或者说3个Proof中至少2个通过验证时,你才能在以太坊链上敲定Layer2的终极状态。Multi Prover可以担保在一个Prover出问题时,其他两个Prover 能够顶替,末了全体Prover系统的稳定性会很好,使ZK Rollup的安全性得到提升。当然这也会引入其他缺陷,比如Prover的整体运行本钱会提高,我们有一篇专门的Blog先容了这些观点。
12.Nickqiao: 那现在关于Scroll的ZK证明天生这块,其证明天生网络(ZK矿池)是怎么培植的,是自建的,还是会把一些打算外包给如Cysic的第三方?
YeZhang:就我们目前来说,全体设计实在很随意马虎,我们想让更多的GPU持有者或者矿工参与进我们的这个证明网络(ZK矿池)里,但目前来说,Scroll的Prover Market还是我们自己运营的,我们会和第三方的一些有GPU集群的人互助,他们去运行Prover,但这是为了主网的稳定性,由于你的Prover一旦去中央化后,会有很多问题。
比如说,你的勉励机制设计不好的话,如果没有人给你产生Proof,网络会在性能上受到影响。前期我们选择了相对中央化的办法,但是全体接口和框架的设计,非常随意马虎切换到去中央化的模式。人们完备可以用我们的技能框架做一个去中央化的Prover网络,再加一些勉励就行了。
但目前来说,为了Scroll的稳定性,我们的Prover天生网络还是中央化的,未来我们会更大范围的把Prover网络给去中央化,每个人都可以去运行自己的Prover节点,包括我们也在跟诸如Cysic,Snarkify network等等第三方平台互助,看一下如果有人想通过我们的技能栈去启动自己的Layer2,可以去接到第三方的Prover Market里去直接调用对方的Prover做事。
13.Nickqiao: Scroll在ZK硬件加速方面有没有什么投入或者产出成果?
YeZhang:这实在便是我之条件到的,Scroll最初做的两大方向,第一个便是把zkEVM从不可能变成可能,第二个便是我们为什么能把它从不可能变成可能,是由于ZK硬件加速的效率提升了。
我其实在做Scroll 之前的3年,就开始做ZK硬件加速方面的事情,我们也有关于ASIC或是GPU硬件加速的论文。我们对zk硬件这块非常理解,无论从芯片还是从GPU,无论是从学术还是从实践上,都有非常强的Credibility。
但是Scroll自己会专注于GPU方面的硬件加速,由于我们没有专门做FPGA或是做硬件的资源,也没有流片的专门履历。以是我们会选择跟Cysic这类硬件公司互助,他们去专门做硬件这块,我们就关注GPU加速这样一个偏软件的领域。我们自己的团队会GPU硬件加速做优化,然后将成果开源,外部的互助伙伴可以去做专门的如ASIC等芯片,我们也会常常的谈论互换一下彼此碰着的问题。
14.Nickqiao: 您刚才提到,Scroll未来会切换到其他的证明系统。那像一些新的证明系统,比如说Nova或其他的一些算法,您能不能给我们科普一下?他们有什么优点?
YeZhang:对。我们目前正在内部探索的一种方向,是利用更小的域,能跟我们目前的这些证明系统结合,比如说像PLONKy3这样的一些库,它可以很快的实现小域上的一些运算。这是一个Option,怎么能从我们原来的大域切换到小域,这是一种。
我们内部也在看一些方向,比如一个叫GKR的证明系统,它天生证明的耗时是线性级别的,在繁芜度上面比其他的 Prover要低很多,但目前没有特殊成熟的工程落地方式。这块要做的话,要投入更多的人力物力。
但GKR的好处是,在处理重复打算时效率很高,比如说一个署名打算了1000 次,GKR可以很高效的给这样的东西天生证明。ZK桥Polyhedra便是用GKR去证明署名的,效率很高。然后,EVM有很多重复的打算步骤,可以通过GKR更好的把天生ZK证明的本钱降落下来。
然后还有一些好处,便是说GKR这套证明系统,它须要的打算量确实要比其他系统小很多。比如说,你通过像 PLONK或STARK这样的办法,去证明一个keccak哈希函数的打算流程,你须要把中间所有的变量、keccak全体打算过程中产生的所有东西,全部Commit一遍、全部算一遍。
但是GKR的话,你只须要Commit它很短的输入那一层,它可以把中间的这些参数全部通过通报关系给表示出来,不须要你去Commit中间的这些变量,会让打算本钱降落很多。GKR背后的这个sum check协议,也被Jolt或者Lookup argument或比较火的一些新框架所采取,以是这个方向是比较有潜力的,我们也在负责研究这个方向。
末了便是你提到的Nova。觉得Nova在几个月前大火了一阵,由于Nova也比较适宜处理这种重复打算,比如你本来要证明100个任务,对此的overhead是100。但Nova的做法是,我可以把这100待证明的任务一个叠一个,一个叠一个,每两个随机进行线性组合,末了组合出来一个终极要证明的东西,然后只要证明终极这个任务,就可以证明前面那100个任务都有效,这样的话可以把原来为100的证明overhead大幅压缩。
然后,后续的一些Hyper Nova之类的事情,可以把Nova扩展到除了R1CS以外的一些证明系统,一些其他的写电路的格式,可以支持lookup或是别的东西,这样才能让一个VM更好的被Nova这类ZK证明系统给证明。但目前来说,Nova和GKR的产品化完善程度不足,目前市情上没有很好的关于Nova的高效的库。
并且由于Nova是这种折叠的办法,它的设计思路和其他的证明系统不太一样。我以为它还很不成熟,只是一个比较有潜力的备选方案。但目前来看,从Production Ready的角度来说,还是最常见的那几套ZK证明系统更早被投入市场,但长期来看说不好说哪个最好。
15.Faust: 末了想聊一下代价不雅观的问题。记得您去年说去了一趟非洲后,以为区块链最有可能在非洲这种经济掉队的地方被大规模采取,可以谈谈这方面的想法么?
YeZhang:我实在一贯有一个非常强的信念,便是区块链在经济掉队的国家真的有运用空间。实在你现在看到,区块链这个行业里各种Scam比较多,让很多人对行业的信心都动摇了,便是为什么要在一个没有实际代价的行业里事情,区块链这个东西到底有没有用。除了炒币或者说赌钱行为外,有没有一些更实际的运用处景?
我以为去一些经济掉队的地方,尤其像非洲,你更能感想熏染到区块链的潜力。由于在中国或西方国家生活的人,其货币体系、金融体系非常健全,比如中国公民用微信和支付宝就很愉快,公民币也相对稳定,你没有必要通过区块链的办法去做支付。
但在像非洲这样的地方,他们是真的对区块链和链上稳定币有需求,由于他们的货币通胀真的非常严重,举个例子,某些非洲国家的通胀率每半年就能达到20%,这样的话每次你隔半年买菜,价格就要提升20%,如果是一年就可能提升更多。这样的话它们的货币是一贯在严重贬值的,资产也在贬值,以是很多人都希望拿美元拿稳定币或是拿其他发达国家的稳定的货币。
但非洲人很难去申请发达国家的银行账户,稳定币对付他们来说是一种刚需,就哪怕没有区块链,他们也想拿着美元这类东西。显然,对付非洲人来说,持有美元最好的办法便是拿稳定币,他们每次一发人为,就可以去币安把这个钱赶紧换成USDT、USDC,须要用钱的时候再把它取出来,这样的话会导致他们有对区块链的真实需求和实际运用。
实在你去了非洲后,会明显感到像币安很早就在非洲布局了,做的非常的踏实,在那里很多非洲人真的对稳定币有依赖,便是大家宁肯托任交易所,都不一定信赖自己本国的货币体系,由于很多非洲人在本地可能都申请不了贷款。假设你要借100块钱,银行会开出各种手续和条件,末了你可能搞不到贷款,但在交易所或者其他的一些链上平台,对此要灵巧的多,以是我以为在非洲,人们对区块链有更多更实际的运用和需求。
当然,我说的这些大多数人并不太理解,由于大多数用Twitter的人不关心这个,或者也不会在Twitter上看得到这些。像非洲这样比较掉队的地区有很多,包括在币安的用户量比较多的一些国家,如土耳其、一些东南亚国家、阿根廷,你会创造这些地区的人用交易所的次数非常多。以是我以为,在这些地方,币安的案例已经证明了人们对区块链有非常强的需求。
以是我以为这些地区的市场和社区是真的很有必要去做的,包括我们也有专门在土耳其的团队,我们在土耳其有一个非常大的社区,然后我们要去逐步的在前面提到的非洲、东南亚、阿根廷等国家去过渡。而且我以为,在所有的 Layer2里面,Scroll最有可能成功的在上述国家扎根,由于我们的团队文化就相称多元,虽然三个创始人是华人,但我们全体team大概包含至少二三十个国家的人,虽然我们统共也就七八十人,每个地区基本上都有至少两三个人,以是整体文化很多元。比较之下,你可以想到的其他Layer2,基本都是西方人为主,像OP、Base和Arbitrum便是完备西方化的。
综上,我们希望能在非洲这种经济掉队、对区块链有实际刚需的地方,给这些地方的人做一套真的有实际运用处景的根本举动步伐,有点像“屯子包围城市”的觉得,去逐步地把Mass Adoption给做起来。以是我以为,我在非洲之行中的感触还是很深的,但目前来说,Scroll对付一些人而言利用本钱还是有些贵,以是我还是挺希望能进一步地把本钱降落,比如说十倍或者更多,然后通过一些其他的办法,把用户带到区块链里来。
实在还有一个前面没提到的、可能有些不恰当的例子,便是波场Tron。大家对它可能有一些不好的印象,但确实很多经济掉队的国家的人都在用它,由于HTX之前的交易所策略和很多其他的营销策略,逐步的让波场真的有自己的网络效应。我以为,如果以太坊生态里面能有一条链,能把这些用户带到以太坊生态里,便是一个非常大的造诣,而且也是在给这个行业做一些非常正面的事情,我以为这是很故意义的。
现在很多以太坊二层在卷TVL数据,卷来卷去,你是6亿美金,我们可能7亿美金,它是10亿美金,但我以为比较于这些东西,更震荡的是,泰达溘然说我在这个二层或者哪条链上又增发了10亿枚USDT,或者说发行了多少多少钱的稳定币。一条链如果自然增长到了这样一个程度,不须要通过空投预期来捕获用户需求,那个时候才算是比较成功的状态,至少是我比较满意的一个状态,便是能让用户的真实需求大到一定程度,使得越来越多的人真的在日常利用你这条链。
末了我实在想插个题外话,接下来Scroll生态会有很多活动,希望大家多关注一下我们的后续进展,多参与一下我们的defi生态。