木星链 木星链
Ctrl+D收藏木星链
首页 > 酷币 > 正文

以太坊:Vitalik:不同类型的 ZK-EVM

作者:

时间:1900/1/1 0:00:00

特别感谢PSE、PolygonHermez、Zksync、Scroll、MatterLabs和Starkware团队的探讨与校对。

最近,很多“ZK-EVM”项目很快相继发出公告。Polygon开源了他们的ZK-EVM的项目,ZKSync发布了ZKSync2.0的计划,而Scroll作为相对的新秀,最近也宣布了他们的ZK-EVM项目。还有PrivacyandScalingExplorations团队、NicolasLiochonetal的团队,以及Nethermind团队致力于将EVM的Solidity语言转译为StarkWare的ZK友好语言Cairo的一个Alpha编译器,这些团队都在为此不断努力,当然,还有一些项目我没有例举出来。

这些项目的核心目标是一致的:利用ZK-SNARK技术对以太坊类交易的执行生成加密证明,不是让证明更易于验证以太坊链本身,就是构建相当于以太坊所提供的一些功能,但比它更具有可扩展性的ZK-rollups。但这些项目之间也有些细微区别,并且他们在实用性和速度之间所做的权衡也有差异。这篇文章将描述不同EVM等效“类型”的分类学,以及每种类型的优势和开销。

概览

类型1:完全以太坊等效的ZK-EVM

第一类ZK-EVM力图成为完全不妥协的以太坊等效ZK-EVM。他们不会更改以太坊系统的任何部分来让它更容易生成证明:不会替换哈希、状态树、交易树、预编译或是共识中的其他逻辑,不管这些部分多么次要。

Terra Classic独立开发团队TerraCVita拟申请币安“行业复苏计划”资金支持:2月24日消息,Terra Classic独立开发团队TerraCVita发推向社区征求意见,希望申请币安的“行业复苏计划”资金支持。目前已获得社区大多数人的同意,Terra Classic验证者BetterLunc也支持这一想法并强调币安一直致力于为DeFi项目提供帮助。

TerraCVita于今年1月完成100万美元融资,而币安则是在去年11月宣布推出规模达10亿美元的“行业复苏计划”。(The Crypto Basic)[2023/2/24 12:27:54]

优势:完美的兼容性

ZK-EVM的目标在于,能够像目前以太坊验证区块那样——或者至少,验证执行层上面的区块。

第一类的ZK-EVM正是我们最终所需要的,能让以太坊L1本身更具有可扩展性。长期来看,在第二类和第三类的ZK-EVM中试验得出的对以太坊的修改,可能会被合理引入至以太坊上,但是这种重新架构本身具有复杂性。

第一类ZK-EVM对Rollup来说也是理想的,因为它们让Rollup可以重复利用基础设施。比如,以太坊执行层客户端可以像原来那样生成和处理Rollup的区块,所以区块浏览器、区块生成等工具可以轻松重新使用。

劣势:证明生成时间慢

以太坊原本的设计并不是ZK友好的,因此,以太坊协议中的许多部分都需要花费大量的计算来生成ZK证明。第一类ZK-EVM旨在完全复制以太坊的环境,因此,它无法缓解这些计算低效性问题。目前,以太坊区块证明需要花费多个小时才能生成。这可以通过巧妙的工程,或从长远来看,通过ZK-SNARKASIC来缓解低效性问题。

公链平台及去中心化交易所Vites已上线:据官方消息,近日,由美国Vites基金会打造新一代公链平台、去中心化交易所Vites已正式上线,VTS币是其流通所有生态领域的唯一凭证。Vites基金会表示:“Vites不断探索区块链技术及其在商业领域的应用,融合DeFi概念,推出融合流动性挖矿、质押挖矿的一体化挖矿机制,致力于打造一家真正的去中心化交易所,开拓DeFi金融新局面,让链上交易更快速、链上资产更安全。”据悉,Vites已获得美国MSB金融牌照,可以有权融资、发行数字货币。[2021/3/14 18:44:05]

谁在构建第一类ZK-EVM?

PrivacyandScalingExplorations团队正在努力构建第一类ZK-EVM。

类型2:完全EVM等效的ZK-EVM

第二类ZK-EVM力争成为完全EVM等效但也不那么以太坊等效的ZK-EVM。也就是说,“从内部来看”,他们完全就像以太坊一样,但是在外部与以太坊有一些区别,尤其是区块结构和状态树等数据结构。

它的目标在于,与现有的应用完全兼容,但它会对以太坊做一些较小的修改,让开发更容易,也让证明生成得更快。

优势:在虚拟机层面完全等效

第二类ZK-EVM会改变存储着如以太坊状态的数据结构。幸运的是,因为EVM本身就不能直接访问这些数据结构,所以对原本在以太坊上运行的应用程序没什么影响,它们仍能在第二类的ZK-EVMrollup上运行。你可能无法像原来那样使用以太坊执行层客户端,但你可以通过一些修改来使用客户端,并且依旧能使用EVM调试工具和大部分其他开发者基础设施。

动态 | EOS 的Activity指数为61,173,284:据IMEOS报道,截止01月24号11点,blocktivity.info上显示,排名第一的 EOS 的Activity指数为61,173,284 ,排名第二、第三分别为 TLOS 和 KIN 。Acitivity指数为最近24小时内在区块链上执行的操作数量。[2020/1/24]

还存在少数例外情况。当验证以太坊历史区块的默克尔树证明来验证历史交易、收据或状态的声明时,应用程序出现了不兼容。如果ZK-EVM用不同的哈希函数来替换Keccak,那就会损坏这些证明。而且,我经常建议不要这样构建应用程序,因为未来的以太坊更新甚至会影响以太坊上的应用。更好的选择是以太坊自己添加不会过时的(future-proof)历史访问预编译。

劣势:已经改进过了但还是证明时间太慢

第二类ZK-EVM能比第一类提供更快的证明生成时间,它主要通过移除部分以太坊堆栈,这部分堆栈依赖于具有不必要复杂性和ZK不友好的加密学。特别是,这些堆栈可能会更改以太坊的Keccak和基于RPL的Merklepatriciatree,也许还会更改区块和收据结构。第二类ZK-EVM则是会使用不同的哈希函数,如Poseidon。自然而然地,它会修改状态树以储存哈希码和Keccak,不需要验证哈希以处理EXTCODEHASH和EXTCODECOPY操作码。

这些修改极大地改善了证明生成的时间,但它们没有解决所有问题。这类ZK-EVM继承了EVM本身带来的低效性和ZK不友好问题,所以像原本那样基于EVM生成证明的低效情况依然存在。内存就是最简单的例子:因为?MLOAD可以读取任何32字节,包括“无序的”代码段,MLOAD也不能单纯理解为对一段代码的读取;确切地说,它可能需要读取两个连续的代码段和执行位操作来结合运行结果。

声音 | 以太坊创始人Vitalik Buterin:用异步交易解决跨分片交易:金色财经现场报道,6月29日在2019以太坊技术及应用大会上,以太坊创始人Vitalik Buterin指出,以太坊链被分为1024片,通过cross-link进行分片间的交流,每6分钟每个分片发现其他分片的哈希值。信标链管理共识算法和跨分片的沟通。进一步提出了异步交易,第一步:一个A分片上发出交易,第二步:6分钟片间交流传播交易,第三步:在另一个B分片上记录。[2019/6/29]

谁在构建第二类ZK-EVM?

Scroll的ZK-EVM项目正在构建第二类ZK-EVM,PolygonHermez也是。即使如此,还没有项目真的成为第二类ZK-EVM;尤其是很多更加复杂的预编译还没实现。所以,目前来说,这两个项目应该说属于第三类ZK-EVM。

类型2.5:EVM等效,除了gas开销

在最糟糕的情况下,有一种能够极大地改善证明生成时间慢的方式是,大大提高那些难以在EVM中生成ZK证明的执行所花的gas开销。这些执行可能涉及预编译、KECCAK操作码,还可能涉及调用合约的特定模式、访问内存/存储或是回滚。

更改gas开销可能会降低开发者工具的兼容性,损坏一些应用,但总体上,它的风险比“更深入地”变更EVM来说更少。开发者需要注意,不要消耗超出一个区块所容纳的gas上限,也永远都不要用硬编码gas数来进行调用。

另一种管理资源限制的方式是,只要对每个操作能被调用的次数设定硬限制就好了。这在电路中的实现很简单,但是对EVM的安全假设就不太好了。我更愿意将这种方法称作第三类ZK-EVM,而不是类型2.5。

Vitalik Buterin与泰国证监会进行讨论:Omise创始人发推文称,以太坊网络创始人Vitalik Buterin(V神)与泰国证监会进行了“卓有成效”的讨论。此外据CCN,V神与泰国证监会的讨论涉及自己的平台和OmiseGo代币。[2018/2/23]

类型3:几乎是EVM等效的

第三类ZK-EVM几乎是EVM等效的,但需要对完全等效性做一些牺牲,以进一步改善证明生成时间,并促进EVM更易于开发。

优势:易于构建,证明生成时间更快

第三类ZK-EVM也许会取消一些格外难以在ZK-EVM实现中实现的功能。预编译通常会是这类功能中最难实现的;此外,这类ZK-EVM有时也在处理合约代码、内存和堆栈方面有些许不同。

劣势:兼容性更差

第三类ZK-EVM的目标是与大部分应用程序兼容,它只需要对剩下的应用进行极少的改写。即使是这样,也需要对一些应用进行改写,因为这些应用会使用第三类ZK-EVM已经取消的预编译,或是因为它们对边缘情况有着微妙依赖性,而VM会以不同的方式处理。

谁来构建第三类ZK-EVM?

Scroll和Polygon现在的形式都属于第三类ZK-EVM,尽管他们预计会随着时间改善兼容性。Polygon的设计很独特,他们用着自己的内部语言zkASM验证ZK,并且他们会使用zkASM的实现来转译ZK-EVM代码。虽然其实现细节是这样的,但我还是愿意把它称为真正的第三类ZK-EVM。它依旧能够验证EVM代码,只是用着一些不同的内部逻辑罢了。

现在,还没有ZK-EVM团队想要成为第三类ZK-EVM;该类型仅仅是完成预编译添加这一复杂工作和项目能够转为类型2.5之前的过渡阶段。然而,通过添加新的ZK-SNARK友好的预编译,为开发者提供证明生成时间短、gas开销低的功能,第一类和第二类ZK-EVM在未来可能会自发成为第三类ZK-EVM。

类型4:高级语言等效

第四类ZK-EVM系统的工作原理是,采用高级语言编写智能合约源码),并将这些源码编译为一些明确设计成ZK-SNARK友好的其他语言。

优势:极快的证明生成时间

不将EVM的每个执行步骤的所有环节生成ZK证明,而是直接开始证明高级语言编写的代码,这样你可以避免掉很多开销。

在本文,虽然我只用了一句话来描述这种优势,但这句话不应该被解读为价值判断!从高级语言直接编译真的可以极大地减少开销,并通过让证明过程变得容易而推动去中心化。

劣势:兼容性更差

一个用Vyper或Solidity编写的“正常”应用程序能够被编译出来,并且它“可以运行”,但在很多重要情况下,很多应用会变得不“正常”:

第四类ZK-EVM的系统中的合约地址与EVM中的可能不一样,因为CREATE2合约地址取决于具体的字节码。这破坏了依赖于尚未部署的“反事实合约”的应用、ERC-4337钱包、EIP-2470单例和许多其他应用程序。

手动编写的EVM字节码更难投入使用。很多应用程序为了效率,会使用手动编写部分EVM字节码。尽管有很多种方式可以实现对这类有限制的EVM字节码的支持,可以在无需完全成为第三类ZK-EVM的情况下将这些用例应用起来,但第四类ZK-EVM的系统可能不会支持这种手动编写的字节码。

很多调试基础设施无法继续生存,因为这种基础设施都基于EVM字节码运行。尽管如此,但我们可以通过“传统”高级语言或中间语言更轻松地访问调试基础设施,以减轻这种劣势。

开发者应该留心这些问题。

谁在构建第四类ZK-EVM?

ZKSync系统就是第四类ZK-EVM,虽然它可能会随着时间提高EVM字节码的兼容性。Nethermind的Warp项目正在构建从Solidity语言转译为StarkWareCairo语言的编译器,这个编译器将会把StarkNet变成真正的第四类ZK-EVM系统。

各个ZK-EVM类型的未来

并不是说这些类型比其它类型“更好”或“更差”。相反,相较之下他们各有不同:从类型1至类型4,编号较低的ZK-EVM类型和现有的基础设施更加兼容,但运行得更慢;而编号较高的ZK-EVM类型则和现有的基础设施不那么兼容,但运行得更快。总之,对所有ZK-EVM类型的探索有益于该领域的健康发展。

另外,ZK-EVM项目可以随着时间的推移,轻松地从编号高的ZK-EVM开始,然后转为编号低的类型。例如:

ZK-EVM可以在一开始作为第三类ZK-EVM投入使用,不去加入一些特别难以生成ZK证明的功能。之后,他们可以随着时间的推移而加入那些功能,继而转变为第二类。

一开始作为第二类别的ZK-EVM,通过在完全兼容以太坊的模式下运行,或使用在修改后能更快生成证明的状态树,这类ZK-EVM可以在之后变成第二类和第一类ZK-EVM的混合类型。Scroll就正在考虑向这个方向发展。

一些一开始属于第四类系统的ZK-EVM项目,可以通过之后添加EVM代码处理的功能,继而随着时间变成第三类ZK-EVM。

如果以太坊自身为了变得更加ZK友好而采用一些修改,那么第二类和第三类可以成为第一类ZK-EVM。

第一类或第二类ZK-EVM可以通过增加验证ZK-SNARK友好语言代码的预编译,变成第三类ZK-EVM。这为开发者在以太坊兼容性和运行速度之间提供了一个选择。这可以算是第三类ZK-EVM,因为它会破坏完美的EVM等效,但出于实际意图和目的,它可能还会具有很多第一类和第二类ZK-EVM的优势。它不好的地方可能是,一些开发者工具无法理解ZK-EVM的自编译,虽然这点也可以修复:开发者工具可以通过支持包括EVM代码等效的预编译实现在内的配置格式,以此增加通用的预编译支持。

就个人而言,通过结合ZK-EVM中的改进与让以太坊变得更加ZK-SNARK友好的改进,我希望这些项目全部慢慢变成第一类ZK-EVM。在这样的未来里,我们也会有多种ZK-EVM实现,可以用于ZKrollup,也能用来验证以太坊链本身。理论上,以太坊没有必要标准化单个ZK-EVM的实现来供L1使用;不同客户端可以使用不同的证明,我们才能继续从代码冗余中获益。

不论如何,我们还需要一些时间来迎接这种未来。同时,我们也会在扩容以太坊和开发基于以太坊ZKrollup的不同赛道上看到大量创新。

标签:以太坊VITROLTER以太坊交易时间vite币最新消息TROLL价格Eterbase

酷币热门资讯
EFI:怎样使用留存率分析GameFi项目

Oct.2022,DanielDataSource:GameFiProjectAnalysis尽管持续严峻的宏观经济状况一直是GameFi交易量、用户数量和代币价格造成了致命打击.

1900/1/1 0:00:00
BCH:2022 BCH 大会总结:过去一年 BCH 发生了哪些变化?

原文作者:Pantera编译整理:白泽研究院BCH正朝着P2P经济的方向发展,CashTokens以及下一次网络升级将为BCH带来巨大的机会,此外,BCH强大的网络效应将重新定义智能合约.

1900/1/1 0:00:00
比特币:《请出中本聪 迎接新世界》:引言

1.引言目录1.1寻找中本聪的方法1.2可能带来两个康波周期的经济成长1.3中本聪躺赢的日子到头了奋斗的日子开始了1.1寻找中本聪的方法中本聪是谁这件事有许多人研究过,也有很多有分量的报告.

1900/1/1 0:00:00
WEB:17个Alliance DAO演示日初创加密初创项目一览

撰写:JacquelynMelinek编译:深潮TechFlow周三,AllianceDAO的“演示日”活动在FTX崩盘期间举行,我们仍然看到了许多新的且不错的加密初创项目.

1900/1/1 0:00:00
STA:zk 系四大 L2 协议大 PK:进度、异同和生态

作者:念青,ChainCatcher近期,随着zkSync2.0的推出,zk系扩容方案又迎来一波高潮。此外,在上个月波哥大Devcon之后,zkEVM领域又出现了许多“新”的声音.

1900/1/1 0:00:00
FTX:链上分析后的疑问:FTX为何没有把用户资产放冷钱包?

对FTX相关的链上地址追踪后,发现:FTX的用户资金的存放,的确没有超大额冷钱包这种现象,反而是广泛分布在各个交易所、做市商钱包以及银行,不管是U还是ETH.

1900/1/1 0:00:00