文/Vitalik
感谢PSE、PolygonHermez、Zksync、Scroll、MatterLabs和Starkware团队的讨论和审稿。
最近有许多“ZK-EVM”项目发布了公告。Polygon开源了他们的ZK-EVM项目,ZKSync发布了他们的ZKSync2.0计划,相对较新的Scroll最近也宣布了他们的ZK-EVM。PrivacyandScalingExplorations团队、NicolasLiochon等人的团队也在不断努力,从EVM到Starkware的ZK友好语言Cairo的alpha编译器,当然还有一些我不知道。
所有这些项目的核心目标都是相同的:使用ZK-SNARK技术来制作类似以太坊交易执行的加密证明,或者更容易验证以太坊链本身,或者构建相当于以太坊提供的,但更具可扩展性的ZK-rollup。但是这些项目之间存在细微的差异,以及它们在实用性和速度之间做出的权衡。
这篇文章将尝试分类不同“类型”ZK-EVM的EVM等效性,以及尝试实现每种类型的好处和成本。
概览
类型1
金色财经合约行情播报 | BTC放量下跌,市场整体情绪悲观:据火币BTC永续合约行情显示,截至今日16:00(GMT+8),BTC价格暂报6886美元(-4.24%),20:00(GMT+8)结算资金费率为-0.010397%。
昨日下午BTC开始震荡下跌,于凌晨3点跌至6700美元一带,目前在6700美元上方做窄幅盘整。根据火币交割合约数据,BTC季度合约成交量出现翻倍放量,持仓量从昨日至今小幅增加,精英多头占比降低,季度合约贴水继续增加。昨夜数字货币市场出现放量下跌,值得注意的是,在国际原油期货出现历史上负价的情况下,比特币持仓量并未出现明显变化。市场整体处于悲观情绪,投资者需注意风险。
USDT于火币全球站OTC的报价为7.16元,溢价率为1.09%。USDT报价微幅增加,显示资金流入意愿并不强烈。[2020/4/21]
1型ZK-EVM力求完全且毫不妥协地与以太坊等效。他们不会改变以太坊系统的任何部分来更容易生成证明。它们不会取代哈希、状态树、交易树、预编译或任何其他共识逻辑,无论多么外围。
优点:完美兼容
其目标是能够像今天一样验证以太坊区块,或者至少验证执行层端.
1型ZK-EVM是我们最终需要的,使以太坊第1层本身更具可扩展性。从长远来看,在2型或3型ZK-EVM中测试的对以太坊的修改可能会被引入到以太坊本身,但这种重新架构也有其自身的复杂性。
1型ZK-EVM也是Rollup的理想选择,因为它们允许Rollup重用大量基础架构。例如,以太坊执行客户端可以按原样使用来生成和处理rollup区块,因此工具例如区块浏览器、区块生产等非常容易重用。
金色财经行情播报丨BTC连涨5日最高涨幅23.3% MACD双线穿越零轴:据火币行情显示,截至18:30,BTC已经连涨5日,自3月30日低点5860USDT至4月2日最高7225USDT,最高涨幅达23.3%。
目前,在BTC 12小时图中,MACD双线自2月下旬起首次实现上穿零轴线,在得到布林带中轨支撑后,逐渐向上轨逼近,且开口不断收窄。市场整体受BTC牵引上行,主流币全部小幅上涨。[2020/4/3]
缺点:证明时间
以太坊最初并不是围绕ZK友好性设计的,因此以太坊协议的许多部分需要大量计算才能进行ZK证明。1型ZK-EVM旨在精确复制以太坊,因此它无法缓解这些低效率。目前,以太坊区块的证明需要很多小时才能产生。这可以通过巧妙的大规模并行化证明者工程或从长远来看通过ZK-SNARKASIC来缓解。
谁在建造它?
PrivacyandScalingExplorations团队ZK-EVM正在构建1型ZK-EVM。
类型2
类型2ZK-EVM力求完全等同于EVM,但不完全等同于以太坊。也就是说,它们“从内部”看起来与以太坊一模一样,但它们在外部存在一些差异,特别是在区块结构和状态树等数据结构方面。
目标是与现有应用程序完全兼容,但对以太坊进行一些小的修改,以使开发更容易并更快地生成证明。
优点:VM级别的完美等效
2型ZK-EVM对保存诸如以太坊状态之类的数据结构进行更改。幸运的是,这些是EVM本身无法直接访问的结构,因此在以太坊上运行的应用程序几乎总是可以在2型ZK-EVMRollup上运行。你将无法按原样使用以太坊执行客户端,但可以通过一些修改来使用它们,并且仍然可以使用EVM调试工具和大多数其他开发人员基础设施。
金色晚报 | 2月25日晚间重要动态一览:12:00-21:00关键词:俄罗斯首富、加密货币税务、提案
1.海淀成立领导小组开展区块链技术服务政务领域系列工作。
2.新西兰国税局计划取消对加密货币的消费服务税。
3.俄罗斯首富Vladimir Potanin将推出其区块链平台和代币。
4.新加坡上诉法院驳回Quoine交易所上诉 因其非法逆转交易。
5.Bithumb内部人士回应收购BitMax合约:没有收购只是财务投资。
6.EOS Nation多签提案setinflation已获得全票通过。
7.V神对ProgPoW提案“先斩后奏”的方式表示批判。
8.嘉楠科技遭集体诉讼 被指违反证券法。
9.CoinMex将关闭所有币种的资产充值及提现。[2020/2/25]
有少数例外。对于验证以太坊历史区块的Merkle证明以验证有关历史交易、收据或状态的声明的应用程序出现了一种不兼容。用不同的哈希函数替换Keccak的ZK-EVM会破坏这些证明。但是,我通常建议不要以这种方式构建应用程序,因为未来的以太坊更改甚至会在以太坊本身上破坏此类应用程序。更好的选择是让以太坊本身添加面向未来的历史访问预编译。
缺点:改进但仍然很慢证明时间
2型ZK-EVM提供比1型更快的证明时间,主要是通过删除依赖于不必要的复杂和ZK不友好密码学部分的以太坊堆栈。特别是,他们可能会改变以太坊的Keccak和基于RLP的MerklePatricia树,可能还会改变区块和收据结构。2型ZK-EVM可能会使用不同的哈希函数,例如Poseidon。另一个自然的修改是修改状态树以存储代码哈希和keccak,从而无需验证哈希来处理EXTCODEHASH和EXTCODECOPY操作码。
行情 | 金色盘面:BTC突破带动市场走强:金色盘面分析:压抑了数日的行情终于在BTC带动下爆发了,TRX7.43%,IOTA5.34%,ADA4.81%、EOS3.46%,主流币全线走强,市场回暖,多头趋势明显。提醒投资者理性看待市场波动,做好风控。(登录金色财经APP—发现,查看更多币种的独家点评。)[2018/10/8]
这些修改显著提高了证明者的时间,但它们并不能解决所有问题。必须按原样证明EVM的缓慢性以及EVM固有的所有低效率和ZK不友好性仍然存在。一个简单的例子是内存:因为anMLOAD可以读取任何32个字节,包括“未对齐”的区块,所以不能简单地将MLOAD解释为读取一个区块;相反,它可能需要读取两个连续的区块并执行位操作来组合结果。
谁在建造它?
Scroll的ZK-EVM项目正朝着Type2ZK-EVM方向发展,PolygonHermez也是如此。也就是说,这两个项目都还没有完成。特别是,许多更复杂的预编译还没有实现。因此,目前这两个项目都被更好地考虑为Type3。
类型2.5
显著改善证明者时间最坏情况的一种方法是大大增加EVM中很难进行ZK证明的特定操作的gas成本。这可能涉及预编译、KECCAK操作码,以及调用合约或访问内存或存储或恢复的可能特定模式。
更改gas成本可能会降低开发人员工具的兼容性并破坏一些应用程序,但通常认为它比“更深”的EVM更改风险更小。开发人员应该注意不要在交易中超过一个区块容量的gas,永远不要使用硬编码的gas量进行调用。
分析 | 金色盘面:BTC/USDT 恐慌杀跌 再创新低:金色盘面综合分析:BTC/USDT夜盘多头失守6400之后,市场出现恐慌性抛售,价格逼近6000,目前尚未出现止跌信号。但在2小时K线图可以看到MACD出现了明显的背离,这是一个值得关注的信号,一旦底背离形成,多头有望发动反击。[2018/8/11]
管理资源约束的另一种方法是简单地对每个操作可以调用的次数设置硬限制。这在电路中更容易实现,但在EVM安全假设下的表现要差得多。我将这种方法称为Type3而不是Type2.5。
类型3
3型ZK-EVM几乎与EVM等效,但在精确等效性方面做出了一些牺牲,以进一步缩短验证者时间并使EVM更易于开发。
优势:更容易建设,更快的验证时间
3型ZK-EVM可能会删除一些在ZK-EVM实现中极难实现的功能。预编译通常位于此处列表的顶部。此外,3型ZK-EVM有时在处理合约代码、内存或堆栈方面也存在细微差别。
缺点:不兼容较多
3型ZK-EVM的目标是与大多数应用程序兼容,并且只需要对其余部分进行最少的重写。也就是说,将有一些应用程序需要重写,因为它们使用3型ZK-EVM删除的预编译,或者因为对VM不同处理的边缘情况的微妙依赖。
谁在建造它?
Scroll和Polygon在其当前形式中都是3型ZK-EVM,尽管它们有望随着时间的推移提高兼容性。Polygon有一个独特的设计,他们正在ZK验证他们自己的称为zkASM的内部语言,并且他们使用zkASM实现来解释ZK-EVM代码。尽管有这个实现细节,但我仍将其称为真正的Type3ZK-EVM;它仍然可以验证EVM代码,它只是使用一些不同的内部逻辑来完成它。
今天,没有ZK-EVM团队想成为Type3;Type3只是一个过渡阶段,直到完成添加预编译的复杂工作并且项目可以移动到Type2.5。然而,在未来,Type1或Type2ZK-EVM可能会自愿成为Type3ZK-EVM,方法是添加新的ZK-SNARK友好型预编译,为开发人员提供低验证时间和gas成本的功能。
类型4
4型ZK-EVM系统通过获取以高级语言编写的智能合约源代码并将其编译为明确设计为ZK-SNARK友好的某种语言来工作。
优势:非常快的验证时间
通过不对每个EVM执行步骤的所有不同部分进行ZK证明,并且直接从更高级别的代码开始,可以避免很多开销。
我只是在这篇文章中用一句话描述了这一优势,但这不应该被解释为价值判断!直接从高级语言编译确实可以大大降低成本并通过更容易成为证明者来帮助去中心化。
缺点:不兼容较多
一个用Vyper或Solidity编写的“正常”应用程序可以被编译下来,它会“正常工作”,但有一些重要的方式使很多应用程序不“正常”:
合约在4型ZK-EVM系统中的地址可能与它们在EVM中的地址不同,因为CREATE2合约地址取决于确切的字节码。这破坏了依赖尚未部署的“反事实合约”、ERC-4337钱包、EIP-2470singletons和许多其他应用程序的应用程序。
手写的EVM字节码更难使用。许多应用程序在某些部分使用手写EVM字节码以提高效率。4型ZK-EVM系统可能不支持它,尽管有一些方法可以实现有限的EVM字节码支持来满足这些用例,而无需努力成为一个完整的3型ZK-EVM。
很多调试基础设施不能被继承,因为这样的基础设施运行在EVM字节码上。也就是说,通过从“传统”高级或中级语言更多地访问调试基础架构,可以缓解这一缺点。
开发人员应该注意这些问题。
谁在建造它?
ZKSync是一个4型ZK-EVM系统,尽管随着时间的推移它可能会增加对EVM字节码的兼容性。Nethermind的Warp项目正在构建一个从Solidity到Starkware的Cairo的编译器,它将把StarkNet变成事实上的4型ZK-EVM系统。
ZK-EVM类型的未来
一些类型并不比其他类型明确地“更好”或“更差”。相反,它们权衡空间上的不同点:编号较小的类型与现有基础架构的兼容性更高,但速度较慢,编号较高的类型与现有基础架构的兼容性较差,但速度更快。一般来说,探索所有这些类型的空间是健康的。
此外,ZK-EVM项目可以轻松地从较高编号的类型开始,并随着时间的推移跳转到较低编号的类型。例如:
ZK-EVM可以从类型3开始,决定不包含一些特别难以ZK证明的功能。之后,他们可以随着时间的推移添加这些功能,并转向类型2。
ZK-EVM可以从类型2开始,后来成为混合类型2/类型1的ZK-EVM,通过提供在完全以太坊兼容模式下运行的可能性或使用可以更快证明的修改状态树的可能性。Scroll正在考虑朝这个方向发展
通过添加处理EVM代码的能力,从类型4开始的系统可能会随着时间的推移变成类型3
如果以太坊本身采用其修改以变得更加ZK友好,那么类型2或类型3ZK-EVM可以成为类型1ZK-EVM。
1型或2型ZK-EVM可以通过添加预编译来验证ZK-SNARK友好语言中的代码,从而成为3型ZK-EVM。这将使开发人员在以太坊兼容性和速度之间做出选择。这将是类型3,因为它打破了完美的EVM等效性,但出于实际目的和目的,它将具有类型1和2的很多好处。主要缺点可能是某些开发人员工具无法理解ZK-EVM的自定义预编译,尽管这可以修复:开发人员工具可以通过支持包含预编译的EVM代码等效实现的配置格式来添加通用预编译支持。
就我个人而言,我希望随着时间的推移,通过ZK-EVM的改进和以太坊本身的改进相结合,使其对ZK-SNARK更加友好,一切都将成为类型1。在这样的未来,我们将有多个ZK-EVM实现,它们既可用于ZKRollup,也可用于验证以太坊链本身。从理论上讲,以太坊不需要为L1使用单一的ZK-EVM实现进行标准化;不同的客户端可以使用不同的证明,因此我们继续从代码冗余中受益。
但是,要实现这样的未来,还需要相当长的时间。与此同时,我们将在扩展以太坊和基于以太坊的ZK-rollup的不同路径中看到许多创新。
2022年8月9日,美国财政部外国资产控制办公室(OFAC)宣布制裁混币器TornadoCash,将TornadoCash添加到特别指定国民(SDN)名单中,其中特别标示出38个加密货币地址.
1900/1/1 0:00:00“Aptos是一个第1层区块链项目。该团队由Diem的原始创建者、研究人员、设计师和建设者组成.
1900/1/1 0:00:00?撰文:0xLaughing,律动BlockBeats?? OpenSea的月交易量和日交易量自Luna暴雷引发连锁反应,整个加密市场暴跌,NFT市场也一夜进入寒冬.
1900/1/1 0:00:00周报概要:1、上周NFT市场成交量稳中有降,较上周下降约9.7%;其中X2Y2周成交额持续位居榜首,份额占比50.6%.
1900/1/1 0:00:00欧易OKX&领英正式发布全球首份《2022全球区块链领域人才报告-Web3.0方向》,报告全文近2万字,耗时近3个月,数据样本覆盖180个国家,囊括了全球区块链行业概览.
1900/1/1 0:00:00在它存在的13年里,比特币从默默无闻上升到1万亿美元的高点,在此过程中结算了超过60万亿美元的总转账量。尽管有这些成就,但比特币的去中心化设计将其限制在每秒仅能进行7笔交易.
1900/1/1 0:00:00