三分钟读懂 zkEVM:以太坊扩容方案的明珠_zkSync:KSY

9月1日凌晨,以太坊扩容网络Arbitrum宣布主网公测版本正式上线,与此同时Optimism则早已经向部分白名单应用开放,这标志着以太坊L2扩容方案的一支——OptimisticRollup正式登上了舞台。

我们再将目光转向L2扩容方案的另一支,ZKRollup:

zkSync于8月31日宣布推迟上线其2.0版本,基于zkEVM,zkSync2.0有望成为首个兼容EVM的ZKRollup;

8月13日,Polygon宣布以2.5亿美元收购以太坊二层扩容方案Hermez,Hermez的核心技术正是其zkEVM方案;

同样是8月13日,以太坊基金会在定期公布其支持的团队研究与开发进度的文章中表示,过去几个月已经资助组建了一个团队以进行zkEVM的研发。

我们知道,Vitalik在比较两种扩容方案时表示,短期OptimisticRollups很可能在通用的EVM计算中胜出,但最终从中长期来看,随着ZK-SNARK技术的改进,ZKRollups将在所有场景中胜出。其中所谓「ZK-SNARK技术的改进」,主要就是指zkEVM的成功。

观点:NFT让游戏玩家拥有数字产权成为可能:Animoca Brands董事长兼联合创始人Yat Siu发博文表示,大多数传统游戏的资产并不真正归玩家所有,花费数万美元积累的资产可能在瞬间被抹去,没有追索权,这凸显了游戏中缺乏公平的数字产权。到目前为止,玩家对数字产权的思考还不是很深入,但由于区块链游戏的数量越来越多,很快就会出现一场革命,游戏玩家将开始要求他们的产权。

NFT作为游戏资产使我们拥有游戏中数字产权的方式,在区块链的支持下,NFT授予所有者财产权并使数字资产拥有独立于平台的真正的价值。世界正朝着更加去中心化和公平的全球互联网发展。这是由区块链技术作为透明和不变的问责基础设施支撑的,并由奖励带来、建立和维护其价值的社区的激励模型推动。新的数字经济将重新平衡资金和权力的流动,减少中介对虚拟世界的影响。区块链赋予的数字所有权将使元宇宙能够发挥其作为社区所有和社区治理的真正潜力。(Cointelegraph)[2021/7/5 0:26:53]

可见,zkEVM已经成为以太坊扩容方案皇冠上的明珠。笔者希望通过本文,可以让读者了解zkEVM的基本原理与发展现状。

观点:BitMEX暴雷长期来看有利于行业发展 会加快比特币ETF获批:10月2日消息,美国商品期货交易委员会(CFTC)对BitMEX的制裁给加密货币行业带来巨大冲击,但许多分析师相信,从长期来看,这对该行业具有良好的影响。Bitwise Investments全球研究主管Matt Hougan表示,CFTC对BitMEX的打击是几个月来加密货币领域发生的最好的消息,因为它将有助于驯服加密货币的蛮荒时代。经济学者Alex Kruger也声称,政府机构打击BitMEX可能会增加比特币交易所交易基金(ETF)获得批准的可能性。Abra首席执行官Bill Barhydt则认为,此举将不会对比特币产生影响,但应该对DeFi来说是一个警钟。(U.Today )[2020/10/2]

zkEVM的作用

要弄清楚zkEVM的作用,我们还需要一些前置知识。

我们先从以太坊讲起,从本质上来讲,以太坊是一个基于交易的状态机。

从以太坊的创世纪状态开始,通过一个区块又一个区块的交易,转变成最终状态,也即以太坊当前的状态,状态中包含了所有的账户地址和其映射的账户状态。

观点:央行数字货币在多家银行机构进行测试展现谨慎程度和全面落地的决心:上海对外经贸大学人工智能与变革管理研究院区块链技术与应用研究中心主任刘峰则认为,央行数字货币在多家银行机构进行测试,背后充分展现了央行的谨慎程度和全面落地的决心。现在各大银行在内部和不同场景上做内部测试已经不再是秘密,但是测试时间的长短、测试场景的多寡等或均关系到央行数字货币落地的进展和时间点。[2020/8/31]

source:https://ethfans.org/posts/how-does-ethereum-work-anyway

其中具体负责处理交易的就是EVM,即TheEthereumVirtualMachine。EVM作为一个堆栈机运行,程序员用高级语言例如Solidity来编写代码,随后代码被编译成EVM可以理解的EVM字节码,作为各种EVM指令执行标准的堆栈操作,最终产生一个新的状态。

现在的问题来了,我们知道ZKRollup方案需要对二层上的交易生成零知识证明,再传回一层进行验证,而要生成零知识证明,需要交易的处理过程符合zk电路证明的规范。而在EVM设计之初,显然没考虑过要支持零知识证明,这就是zkEVM的意义:一种运行在ZKRollup网络上,兼容EVM同时又对零知识证明友好的虚拟机。

声音 | 中国计算机学会白硕:区块链在支付汇兑领域可用“三分法”区分是否合法:金色财经报道,近日,中国计算机学会(CCF)上海分部主席白硕在演讲中指出,区块链的核心应用是支付汇兑,支付就是一手交钱,一手交货,而汇兑就是支付两端用不同的钱。白硕认为,区块链在支付汇兑领域可以用“三分法”区分是否合法,数字货币可以分为三类:虚拟货币、商圈币以及法定数字货币。虚拟货币是私人的,试图不受监管,作为支付手段和汇兑手段在中国是被禁止的,作为资产记价手段,则有部分是正规的;商圈币可以看成是绑定法币,就像饭票,但是在创造货币的过程当中是不透明的;法定数字货币是由央行主导,具有法定效力,能在线上流通的货币。从财产属性上来看,虚拟货币被法律上认定是一种财产,财产偷了就犯法。但虚拟货币没有支付能力,商圈币在商圈特定的范围里是有支付能力,但不能出既定范围。法定数字货币一切都可以。[2019/12/21]

两种实现策略

对于zkEVM,目前主要有两种实现策略:

三分之一的比特币被1600个钱包持有:据Chainalysis数据显示,1600个比特币钱包持有的比特币数量超过了目前总量的三分之一,并且每个钱包的比特币数量都大于1000个,而排名前100的钱包持有的比特币数量超过10000个。[2018/6/10]

直接支持EVM现有的指令集,完全兼容solidity指令集。使用这种方案的包括Hermez和以太坊基金会zkEVM。重新设计一种虚拟机,该虚拟机对零知识证明友好,同时对EVM开发工具进行适配,来保持对solidity的兼容,使用这种方案的主要是zkSync;对于第一种策略,由于完全支持了EVM现有的指令集,其使用的是和EVM一样的编译器,因此天然就对现有的生态系统和开发工具完全兼容,同时还更好的继承了以太坊的安全模型。

而对于第二种策略,由于不受原有EVM指令集的约束,可以更灵活的将代码编译成对零知识证明更友好的指令集,同时也摆脱了兼容所有EVM原有指令集所需要的艰巨而繁重的工作。

总的来说,第一种策略兼容性更好,安全性更高,但是工作量更大;第二种策略更灵活,工作量更小,但需要花费额外精力在适配上。

主要方案对比

HermezzkEVM

Hermez采用的是第一种策略,其将所有EVM指令集全部翻译为中间指令。

众所周知,EVM有一些变长的指令,比如CALL,EXP,CREATE等,这些指令天生对zk电路证明不友好,利用中间指令可以更友好地表达这些指令的逻辑。中间指令在uVM中执行,uVM中使用了大量的密码学工具,来实现zk完备,并且使用了Plookup算法来提升证明及验证效率。

HermezzkEVM在实现上的另外一个亮点,是其同时使用了两套证明系统,具体来说即生成一个STARK证明,然后再用PLONK或Groth16对这个STARK证明生成一个证明并在一层进行验证,这一过程就像是对证明的证明。之所以这么做,是因为STARK虽然很优秀,但是证明规模却很大,在链上进行验证时开销也很大,而Groth16或PLONK却拥有更小的证明规模和更快的验证速度。这种两相结合,各取所长的做法,很容易让人想到非对称加密算法和对称加密算法结合使用的场景。

AppliedZKPzkEVM

AppliedZKPzkEVM和Hermez一样,采用的是第一种策略。

AppliedZKP采用数据总线的思路,将存储和计算分开。在BusMapping抽取了正确的存储数据的基础上,由Stateproof证明数据的一致性,EVMproof证明计算逻辑的正确性。

具体的过程如下:

EVM通过BusMapping读取需要的相关状态,状态由Storage,Memory,Stack三部分组成;EVM执行opcode;EVM再通过BusMapping写回新的状态;过程中Stateproof负责BusMapping读写信息的一致性和正确性,EVMproof负责EVM对opcode执行的正确性。zkSyncEVM

与Hermez和AppliedZKP不同,zkSync选取了第二种策略。zkSync的zkEVM并非EVM的复刻品,而是为了能够运行99%的Solidity合约并确保其能够在各种情况下正常工作而全新设计。与此同时,zkEVM可以用来高效的在电路中生成零知识证明。

zkSyncEVM使用TinyRAM来实现普通指令集,而对Gas消耗巨大的指令如SHA256/keccak则特殊实现其电路,最后使用递归聚合技术,将所有的证明聚合成一个,以提升效率。

soruce:https://medium.com/matter-labs/zksync-2-0-hello-ethereum-ca48588de179

zkSync同时开发了两套针对zkEVM的编译器前端:Yul和Zinc。Yul是可以针对不同后端编译成字节码的中间Solidity表示;Zinc则是基于Rust为智能合约和通用零知识证明电路开发的语言。这给予了开发者更大的选择空间。

同时,在构建自己的编译器时,zkSync选择了LLVM,这一生产工业级产品最先进的编译器框架,以确保编译器足够完备和拥有所有经典优化。

写到最后

zkEVM技术在多个优秀团队的持续努力下,已经日渐成熟,相信在半年左右的时间内就会相继落地,届时兼容EVM的ZKRollup扩容方案一定会绽现出自己的光彩。

如今的区块链技术正进入了前所未有的大争鸣时代。从公链之争,到以太坊扩容方案之争,甚至具体到一个扩容方案下,都有着不同的项目方正在前赴后继,你追我赶。笔者十分庆幸,能身处这个区块链技术最生机勃勃的大时代。

参考资料:

1.以太坊工作原理

2.zkSync2.0:HelloEthereum!

3.Episode175:zkEVM&zkPorterwithMatterLabs

4.Episode194:zkEVMwithJordi&DavidfromHermez

5.ExploringPopularzkEVMSolutions:AppliedZKP\,MatterLabs\,Hermez\,andSin7Y

6.技术解读以太坊二层扩容方案Hermez的zkEVM设计思路

7.技术解读AppliedZKP的zkEVM方案设计思路

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:31ms0-3:899ms