链资讯 链资讯
Ctrl+D收藏链资讯
首页 > DOT > 正文

NFT:深度解析 zkEVM:工作原理、构建难度、重要性以及开发进展等_NFT-Starter

作者:

时间:

原文标题:《zkEVM知识问答--Alchemy》

原文来源:Alchemy

零知识以太坊虚拟机是一种生成零知识证明来验证程序正确性的虚拟机。ZkEVM?旨在以支持零知识技术的方式执行智能合约。?

ZkEVM?是零知识?(ZK)?汇总的一部分,这是以太坊第?2?层扩展解决方案,通过将计算和状态存储转移到链下来提高吞吐量。ZK-rollup?向以太坊提交交易数据以及验证链下交易批次有效性的零知识证明。?

早期的?ZK-rollup?缺乏执行智能合约的能力,并且受限于简单的Token交换和支付。但是,随着与?EVM?兼容的零知识虚拟机的引入,ZK-rollups?开始支持以太坊?dApp。

在本文中,我们将探讨?zkEVM?的工作原理、重要性以及存在哪些类型的?zkEVM。?

什么是?zkEVM?

zkEVM?是与?EVM?兼容的虚拟机,支持零知识证明计算。与常规虚拟机不同,zkEVM?证明程序执行的正确性,包括操作中使用的输入和输出的有效性。?

我们将进一步分解此定义以使其更易于理解:

EVM?兼容性?

EVM是执行部署在以太坊网络上的智能合约的运行时环境。EVM?充当「世界计算机」,为运行在以太坊区块链上的去中心化应用程序?(dApps)?提供动力。?

如果虚拟机可以运行为在?EVM?环境中运行而创建的程序,则它是「与?EVM?兼容的」。这样的虚拟机可以执行用?Solidity?或以太坊开发中使用的其他高级语言编写的智能合约。ZkEVM?与?EVM?兼容,因为它们无需对底层逻辑进行大量修改即可执行以太坊智能合约。

支持零知识技术?

EVM?从未设计为支持零知识证明,这使得构建与?EVM?兼容、对零知识友好的虚拟机变得困难。然而,研究的进步在某种程度上使得将?EVM?计算包装在零知识证明中成为可能。

重庆:让区块链等数字技术与农业、工业、服务业深度融合:12月9日,重庆市政府印发《重庆市数字经济“十四五”发展规划(2021—2025年)》,《规划》提出5个方面建设内容及方案,包括推动新型基础设施建设,实现信息基础设施全面升级,让传统基础设施数字化、网络化和智能化水平大幅提升;推动数字产业化能力大幅提升,让“芯屏器核网”产业链条不断延伸、产业集群效应显著增强,新兴数字产业加快布局;推动产业数字化取得重大进展,让大数据、人工智能、区块链等数字技术与农业、工业、服务业深度融合;推动数字化治理效能达到更高水平,让数字政府、数字社会建设持续深化;推动数字经济开放水平显著提高,围绕中新(重庆)国际互联网数据专用通道建设,创新探索南向、北向、西向国际互联网数据专用通道建设,重大开放平台建设取得突破。(重庆日报)[2021/12/10 7:30:01]

不同的?zkEVM?项目采用不同的方法将?EVM?执行与零知识证明计算相结合。每种方法都有独特的权衡,我们将在本指南的后面部分进行探讨。?

zkEVM?是如何工作的?

与?EVM?一样,zkEVM?是一个虚拟机,它通过程序操作在状态之间转换。但是?zkEVM?更进一步,通过生成证明来证明计算的每个部分的正确性。本质上,zkEVM?使用一种机制来证明执行步骤遵循规则。?

要了解?zkEVM?的工作原理,让我们回顾一下?EVM?当前的工作原理。?

EVM?的工作原理

以太坊虚拟机是一种状态机,它响应一些输入而从旧状态移动到新状态。每个智能合约执行都会触发?EVM?状态的变化。以下是智能合约交易期间发生的情况的高级概述:

1.?合约字节码从?EVM?的存储中加载,并由?EVM?上的点对点节点执行。节点使用相同的交易输入,这保证了每个节点都达到相同的结果。?

2.EVM?操作码与?EVM?状态的不同部分交互。操作码执行读写操作——从状态存储读取值并将新值写入到?EVM?的存储。?

BMEX与布拉格社区达成深度战略合作关系:据官方消息,目前BMEX与布拉格社区达成深度战略合作关系,旨在为合约交易者普及更多行业知识,提升区块链交易生态整体质量。 布拉格社区是一家专注于资本市场交易领域的服务机构,通过沉淀区块链知识普及、数字金融行情分析、策略指导等知识,为旗下团队给到系统化运作赋能支持。

BMEX是一家数字资产综合服务平台,致力于为用户提供安全、信赖的数字资产交易及资产管理服务。[2021/3/19 19:01:27]

3.EVM?操作码在返回新值之前对从状态存储中获得的值执行计算。此更新导致?EVM转换到新状态。这个新状态被其他节点复制并保持到另一个事务被执行。?

显示程序如何在以太坊虚拟机?(EVM)?中执行的图表。

zkEVM?的工作原理?

zkEVM?生成零知识证明来验证每次计算中的各种元素:

1.字节码访问:是否从正确的地址正确加载了适当的程序代码??

2.读写操作:程序是否在计算之前从堆栈/内存/存储中获取了正确的值?湾。程序在完成执行后是否将正确的输出值写入堆栈/内存/存储??

3.计算:操作码是否正确执行??

zkEVM?的架构

zkEVM?分为三个部分:执行环境、证明电路和验证者合约。每个组件都有助于?zkEVM?的程序执行、证明生成和证明验证。?

1.执行环境?

顾名思义,执行环境是在?zkEVM?中运行程序的地方。zkEVM?的执行环境功能与?EVM?非常相似:它采用初始状态和当前事务来输出新的状态。

2.?验证电路?

证明电路产生零知识证明来验证在执行环境中计算的交易的有效性。使用前状态、交易输入和后状态信息作为输入来完成证明生成过程。之后,证明者获得该特定状态转换有效性的简洁证明。?

HECO借贷平台FilDA在MDEX LP深度突破1350万美元,3日累积增幅高达650%以上:2月10日14点10分,HECO 借贷平台 FilDA在MDEX LP深度达到1350万美金,3日累积增幅高达650%以上,位居HECO项目前三,HECO借贷项目第一位。

据了解,FilDA作为首个基于Heco的跨链借贷DeFi项目,于2021年1月5日晚20:00开启创世挖矿Fair launch,首发13种资产的借贷功能,同时也是Heco首个公开平台各项APY数据,存借双向实时透明数据的借贷项目。[2021/2/10 19:25:55]

显示?zkEVM?如何为程序生成有效性证明的图表。

3.?验证者合约?

ZK-rollups?将有效性证明提交给部署在?L1?链上的智能合约进行验证。输入和输出也提交给验证者合约。然后验证者在提供的证明上运行计算,并确认提交的输出是根据输入正确计算的。?

什么是?zkEVM?操作码?

ZkEVM?操作码是用于在与?EVM?兼容的?ZK-rollup?中执行程序的低级机器指令。与?EVM?一样,用高级语言编写的合约必须编译为?VM?可以解释的低级语言。该字节码指定了在?VM?中部署程序时用于执行程序的操作码。

我们需要?zkEVM?操作码,因为常规的?EVM?操作码在零知识证明电路中的使用效率很低。通常有两种方法可以为?zkEVM?创建操作码:

为原生?EVM?操作码构建?ZK?电路

为?ZK?证明计算创建新语言

为原生?EVM?操作码构建零知识电路?

这种方法需要在算术电路中实现所有EVM?指令集——这是一项复杂且耗时的任务。好处是开发人员可以使用现有的区块链开发工具创建智能合约,或将现有的以太坊合约移植到?ZK-rollups,而无需进行大量修改。??

声音 | 甘肃省厅王立朝:区块链等现代科技已经与工作深度融合:12月13日,甘肃省高级人民法院、甘肃省人民检察院、甘肃省厅联合召开新闻发布会通报追逃攻坚专项行动成果。甘肃省厅党委委员、副厅长王立朝表示,当前正处于信息化社会,大数据、人工智能、区块链等现代科技已经与工作深度融合,机关对人、地、物、事、组织、网络等基础要素已经具备了全方位掌控能力,布建起了社会治安防控的天罗地网。正是有了这些新技术新手段,在行动中我们日均抓获在逃人员28名,其中单日抓获的最高纪录达到了60名。[2019/12/13]

为?ZK?证明计算创建新语言

这种方法需要构建一种新语言——旨在支持有效性证明——并开发自定义操作码。开发人员需要直接用新语言编写合约,或者将?Solidity?源代码编译为自定义?zkEVM?操作码。?

虽然这种方法通常比第一种方法更容易实现,但它也有缺点。例如,开发人员可能无法访问现有的以太坊基础设施和资源。?

根据?EVM?兼容性分类的零知识虚拟机。

是什么让构建?zkEVM?变得困难?

由于?EVM?在构建时并未考虑?zk-proof?计算,因此它具有对证明电路不友好的特性。下面简要概述了使构建?zkEVM?变得困难的四件事:

特殊的操作码

基于堆栈的架构

存储开销

证明成本

1.特殊的操作码?

与常规?VM?不同,EVM?使用特殊的操作码来执行程序和错误处理以及其他操作。这增加了为?EVM?操作设计验证电路的过程的复杂性。?

2.?基于堆栈的架构?

EVM?使用基于堆栈的架构,虽然比基于寄存器的结构更简单,但增加了计算证明的难度。这就是为什么著名的零知识?VM,例如?ZkSync?的?zkEVM?和?StarkWare?的?StarkNet?使用基于寄存器的模型。?

声音 | 陈宗建:利用区块链等技术和实体经济的深度融合:据中国金融商报网3月10日报道,新经济专家陈宗建在接受美国华文新锐媒体《中美创新时报》湾区经济专题访谈时表示,相比较粤港澳大湾区和杭州湾大湾区,数字自贸区将是渤海大湾区最大的亮点。他认为,数字自贸区建设尤其是先行示范区的建设一定要以若干科技手段、市场机制、政策机制和法律机制等创新举措作为推进手段。要以数字科技手段推进数字自贸区建设,充分运用大数据、云计算、物联网、人工智能、区块链等技术和实体经济的深度融合。[2019/3/10]

3.?存储开销

EVM?的存储布局依赖于?Keccak?散列函数和?MerklePatriciaTrie,两者都有很高的证明开销。一些?zkVM,比如?ZkSync,试图通过替换?KECCAK256?函数来回避这个问题——但这可能会破坏与现有以太坊工具和基础设施的兼容性。

4.?证明成本?

即使解决了上述问题,仍然需要应对证明生成过程。生成零知识证明需要专门的硬件以及大量的时间、金钱和精力投入。?

尽管并非详尽无遗,但此列表提出了一些阻碍构建与?EVM?兼容的?zkEVM?的问题。尽管如此,零知识技术的几项突破使得缓解这些问题成为可能——导致人们对?zkEVM?解决方案重新产生兴趣。?

为什么?zkEVM?很重要?

构建功能齐全的?zkEVM?将鼓励与?EVM?兼容的ZK-rollup?项目的开发。这具有几个优点:

安全的可扩展性

成本更低

更快的最终确定性和资本效率

网络效应

1.?安全的可扩展性

根据协议规则,所有验证节点必须重新执行在以太坊虚拟机中执行的所有计算。这种方法确保了安全性,因为以太坊节点可以独立验证程序的正确性,但它限制了以太坊网络只能管理约?15-20?个交易的可扩展性)。

与?EVM?兼容的?ZK-rollup?可以解决以太坊的吞吐量问题,而不会破坏网络安全。与其他扩展协议一样,ZK-rollups?不受以太坊共识协议规则的负担,并且可以优化执行速度。一些估计表明,ZK-?rollups每秒可以处理约?2000?笔交易,而不会产生以太坊的高额费用。

但是,ZK-rollups?与其他扩容项目相比具有更高的安全保障;他们用有效性证明来验证链下计算的正确性。这意味着智能合约在?L2?上执行的交易可以在?L1上可靠地验证,而无需节点重新执行操作。这可以在不降低安全性的情况下显着提高以太坊的处理速度。?

2.?更低的成本

Rollups?通过将交易数据作为?CALLDATA?写入以太坊来从以太坊主网获得安全性。然而,乐观汇总和零知识汇总的不同之处在于它们必须在以太坊上发布多少数据。

因为乐观汇总不提供链下交易的有效性证明,所以它们需要在链上发布所有与交易相关的数据。如果不将所有数据都放在链上,挑战者就无法构建用于对无效汇总交易提出争议的欺诈证明。?

相反,ZK-rollups?可以将最少的数据发布到以太坊,因为有效性证明已经保证了状态转换的可信度。zkEVM?甚至可以省略交易输入并仅发布最终状态更改,从而进一步降低?CALLDATA?要求。?

3.?更快的确定性和资本效率?

除了更好的安全性之外,ZK-rollups?与乐观?rollups?相比还有另一个优势:更快的最终确定性。区块链中的确定性是交易变得不可逆转所需的时间;只有当网络参与者有客观证据证明其有效性时,交易才能最终确定。?

使用?ZK-rollups,在?zkEVM?中执行的交易通常在发布到以太坊后立即完成。由于每个交易批次都带有即时可验证的有效性证明,因此以太坊主链可以快速应用状态更新。?

由于乐观汇总仅在没有证明的情况下发布?VM?事务,因此必须经过质询期才能使事务达到最终确定性。挑战期是?1-2?周,在此期间,任何人都可以在交易提交到以太坊后对其进行挑战。?

较慢的最终确定性对用户体验有很多影响。例如,在延迟期到期之前,用户不能从汇总中提取资产。流动性提供者可能会解决问题,但如果提款涉及高价值资产甚至?NFT,则可能无效。?

zkEVM?没有上述问题。更快的最终确定性非常适合高级用户,例如需要无缝移动资产的?NFT?交易者、DeFi?投资者或套利交易者。?

4.网络效应

构建与?EVM?兼容的?zkVM?的最重要原因是利用以太坊的网络效应。作为全球最大的智能合约平台,以太坊拥有庞大的生态系统,为开发者和项目提供价值。?

例如,开发人员可以访问经过实战测试和审计的代码库、广泛的工具、文档等。创建一个与以太坊基础设施不兼容的新?zkVM?将使项目和开发团队无法利用以太坊的网络效应。?

有哪些类型的?zkEVM?

当前的?zkEVM?项目分为两大类:支持原生?EVM?操作码的?zkVM?和使用自定义?EVM?操作码的?zkVM。下面我们比较不同的?zkEVM?协议并解释它们是如何工作的:

PolygonzkEVM

PolygonHermez?是一个带有零知识虚拟机的PolygonZK-rollup,旨在支持?EVM?兼容性。为此,EVM?字节码被编译成「微操作码」并在?uVM?中执行——一个使用?SNARK?和?STARK?证明来验证程序执行正确性的虚拟机。?

结合这两种证明类型的决定具有战略意义。STARK证明的生成速度更快,但?SNARK证明更小,在以太坊上验证成本更低。?

PolygonHermezzkEVM使用STARK?证明电路来生成状态转换的有效性证明。STARK?证明验证?STARK?证明的正确性并提交给以太坊进行验证。?

zkSynczkEVM

zkSync?是一个与?EVM?兼容的?ZK-rollup,由?MatterLabs?开发并由其自己的zkEVM提供支持。ZkSync?使用以下策略实现与以太坊的兼容性:

1.?将?Solidity?编写的合约代码编译成?Yul,一种中间语言,可以编译成不同虚拟机的字节码。?

2.?将?Yul?字节码重新编译为专门为?zkSync?的?zkEVM?设计的自定义、电路兼容的字节码集。?

与?PolygonHermez?一样,zkSynczkEVM?在语言级别而不是字节码级别实现?EVM?兼容性。例如,zkSync?的?zkEVM?不支持传统的乘法和加法操作码。?

ScrollzkEVM

Scroll是一个正在开发的新的零知识?EVM?实现。Scroll?团队计划为每个?EVM?操作码设计零知识电路。这将允许开发人员在?Scroll?上部署以太坊原生智能合约?EVM,而无需修改底层?EVM?字节码。?

除此之外,ScrollzkEVM?将使用「密码累加器」来验证存储的正确性。这用于证明合约字节码是从给定地址正确加载的。?

它还提供了一个将字节码与执行跟踪链接起来的电路。执行跟踪是一个序列,指定执行了哪些?VM?指令以及执行顺序。证明者将在证明生成期间提交执行跟踪,以验证计算与原始字节码是否一致。?

AppliedZKPzkEVM

AppliedZKP是由以太坊基金会资助的一个项目,旨在开发与?EVM?兼容的?ZK-rollup?以及为以太坊区块生成有效性证明的机制。最后一部分至关重要,因为将块与有效性证明配对将消除节点重新执行块的需要。?

AppliedZKP?的创新在于计算与存储的分离。它使用两种类型的有效性证明——状态证明和EVM?证明:?

状态证明

检查涉及存储、内存和堆栈的操作是否正确发生。状态证明本质上是验证读写操作的准确性。?

EVM?证明

检查计算是否在正确的时间调用了准确的操作码。EVM?证明验证计算本身,并确认状态证明为每个操作码执行了正确的操作。?

AppliedZKPzkEVM?使用总线映射来链接状态证明和?EVM?证明。此外,在以太坊区块被视为有效之前,必须验证这两个证明。

我们在?zkEVM?的开发进度中处于什么位置?

除了?zkSync,大多数零知识?EVM?仍在开发中。然而,零知识技术的不断发展意味着功能齐全的?zkEVM?的前景比以往任何时候都好。?

标签:NFTDIDBAYCBAYNFT-StarterDID币BAYC币Baymax Finance

DOT热门资讯
DCG:DCG 的 7 个 “ 葫芦娃 ” 集体过火山:灰度正丧失竞争力,交易所 Luno 成交量巨低_FTX

撰文:PANews,蒋海波Genesis在Luna/UST、三箭资本、Babel、FTX/Alameda等事件中数次踩坑,最终于11月16日宣布暂停赎回和新贷款的发放.

NFT:解析:BitKeep Wallet 上线支持 KEY3.id 推出的 .bayc 等蓝筹 NFT 域名_DID币

作者:KEY3.id 12月5日,DID应用KEY3.id宣布与知名钱包BitKeepWallet合作.

区块链:Istanbul 区块链周将于今年 11 月在土耳其举办_ZKS

Istanbul区块链周,是欧亚地区Web3和数字资产的首要活动,将邀请全世界前往Istanbul,这是加密货币采用率最高的城市之一.

RED:国外爆火的 Reddit NFT 给我们带来了什么启示?_DIT

原文作者:EricChoi原文编译:深潮TechFlowReddit是一个流行的线上网站,允许用户讨论、投票和分享内容。它拥有超过15亿注册用户,4.3亿月度活跃用户,以及5200万日活跃用户.

DIT:一文详解 Web3 操作协议 dappOS_web3.0币种

作者:AvatarDAO原文标题:《Web3的安卓操作系统-dappOS》用Web2的体验带你走进DApp要让下一个十亿用户加入Web3,用户体验真的很重要.

WEB:Web3 尚未被主流采用的 6 个主要原因_DEFI

作者:ChainLinkGod 编译:DeFi之道 Web3代表了我们今天所知道的互联网的基本演变,用去中心化的协议和社区保留的所有权取代了中心化的看门人和中介.