作者:PSE Trading Analyst @cryptohawk,Mirror

TL;DR

1.虚拟机是一个软件仿真的核算机体系,为程序供给履行环境。它能够模仿各种硬件设备,使程序在受控且兼容的环境中运转。

2.以太坊虚拟机(EVM)是一种依据栈的虚拟机,用于履行以太坊智能合约;zkEVM 在 EVM 等效 / 兼容上做了一定的 zk-proof 生成功率优化;

zkVM 则放弃 EVM 等效 / 兼容性,将 zk 友爱化的优先级提高;

privacy zkVM 则是在 zkVM 上叠加了原生隐私特性;

SVM、FuelVM、MoveVM 共性是经过并行履行寻求功用极致,但在规划细节上有各自的特色;

ESC VM、BitVM 分别在 ETH 和 BTC 链前进行了一定创新性的核算层试验,但现在环境下实在落地需求较低。

3.EVM 巨大的用户生态决定了任何放弃它的区块链网络短期内都难以与其抗衡,因而非 EVM 生态经过转译器 / 编译器 / 字节码解释器乃至 VM 兼容层引进 EVM 生态用户,运用非 EVM 的虚拟机特性构建新的生态叙事,或是一条必备的成功之路。

1.1 什么是 VM?

虚拟机(VM)是虚拟化核算资源的构建块,它具有与核算机简直相同的功用,包含运转运用程序和操作体系。虚拟机的这个概念并不新颖,该技能被广泛运用于众多技能生态体系中。

在区块链的布景下,虚拟机(VM)是一种运转程序的软件,一般被称为履行区块链智能合约的运转时环境。虚拟机一般经过模仿不同的硬件设备来供给一个虚拟的核算机环境。不同的虚拟机能够模仿的硬件设备有所不同,但一般包含 CPU、内存、硬盘、网络接口等。当一笔链上买卖被提交时,虚拟机担任处理该买卖并更新受该买卖履行影响的区块链状况(整个网络的当前大局状况)。改动网络状况的详细规矩由 VM 界说。处理买卖时,VM 将智能合约代码转化为节点 / 验证器硬件能够履行的格局。

VM 傍边最为重要的内核便是 LLVM(low-level-virtual-machine),他能够看作是编译器最重要的内核。图中是原始 EVM 的运作计划,智能合约经过 LLVM IR 的中间代码进行转化,转化成 Bytecode。这些 Bytecode 会存储在区块链上,当智能合约被调用的时候,便会将 Bytecode 转化成对应的 Opcode,再由 EVM 和节点硬件来履行。

Rollup强势下跌 VM 还有故事要讲

1.2 主流 VM

1.2.1 EVM——区块链 VM 共一石,EVM 独占八斗,其余共分两斗

代表项目: Optimism、Arbitrum

作为现在行业内开发者&用户活跃度最高的区块链生态,以太坊虚拟机 EVM 是一种依据仓库的虚拟机,它经过模仿 CPU、内存、存储器和栈等硬件设备来供给一个虚拟的核算机环境,以此履行智能合约的指令并存储智能合约的状况和数据。EVM 的指令集包含各种操作码 Opcode,例如算术操作、逻辑操作、存储操作、跳转操作等。

Rollup强势下跌 VM 还有故事要讲

EVM 模仿的内存和存储器是用于存储智能合约的状况和数据的设备。EVM 将内存和存储器视为两个不同的区域,它能够经过读取和写入内存和存储器来访问智能合约的状况和数据。

EVM 模仿的栈用于存储指令的操作数和成果。EVM 的指令会集的大多数指令都是依据仓库的,它们从栈中读取操作数并将成果推回栈中。

Rollup强势下跌 VM 还有故事要讲

EVM 的规划进程,显然是自下而上的,先敲定了模仿的硬件环境(仓库、内存),再依据对应的环境规划了自己的一套汇编指令集(Opcode)与字节码(Bytecode)。以太坊社区为了 EVM 履行功率规划了两种编译型的高档言语——Solidity 和 Vyper。Solidity 自不必着重,Vyper 是 Vitalik 针对 Solidity 中存在的部分缺点进行改进后规划的 EVM 高档言语,可是在社区没有获得很高的采费用,所以渐渐淡出历史舞台。

1.2.2 zkEVM——我全都要:兼容 EVM 环境 + 支撑大局状况根转化生成 zk-proof

代表项目:Taiko、Scroll、Polygon zkEVM

因为 EVM 在构建时并未考虑 zk-proof 核算,因而它具有对证明电路不友爱的特性,特别是在特别的操作码、依据仓库的架构、存储开销以及证明本钱等方面。而 zkEVM 是一种以兼容 zk-proof 核算的方法履行智能合约的虚拟机,让 EVM 的履行进程能够经过 zk-proof/validity-proof 来更高效、低本钱地验证。比较起 OP Rollup 履行层只需照搬 EVM,而构建 EVM 的 ZK 友爱化是 ZK Rollup 的额定应战。

ZK-rollups 不简略与以太坊虚拟机(EVM)兼容。 在电路中证明通用 EVM 核算比证明简略核算(如前面描绘的代币传输)更困难且更耗费资源。

然而,零常识技能的前进(在新选项卡中翻开)重新点着了人们对将 EVM 核算包装在零常识证明中的爱好。 这些尽力旨在创立一个零常识 EVM (zkEVM) 完成,能够有用地验证程序履行的正确性。。

与 EVM 一样,zkEVM 在对某些输入履行核算后在状况之间转化。 不同的是,zkEVM 还创立零常识证明来验证程序履行中每一步的正确性。 有用性证明能够验证触及虚拟机状况(内存、仓库、存储)和核算自身的操作的正确性(即,该操作是否调用了正确的操作码并正确履行了它们?)。

Rollup强势下跌 VM 还有故事要讲

主意很美好,实际很骨感,现在 Rollup 在完成 ZK 友爱化和 EVM 兼容(乃至等效)上难以分身,即要么尽或许完好仿制以太坊 L1 履行层,包含哈希、状况树、业务树、预编译等,使得以太坊 L1 履行客户端能够按原样运用来处理 Rollup 区块;要么放弃 EVM 兼容性,重新创立现有的 Opcode,用于在电路中进行证明 / 验证,然后答应履行智能合约。

1.2.3 zkVM——鱼和熊掌不能兼得:zk-proof 功率导向的非 evm 虚拟机

代表项目:Starknet、Zksync、RISC ZERO

zkVM 放弃了 EVM 兼容性,以数据证明与状况更新为核心目标,在密码学和高档言语之间找到了一层公约数,来为各类运用供给一个通用的结构。

Starkware 因为在整个 ZK 范畴起步较早,技能积累较为充沛,具有一定的技能领先。他是代表性的 ZK 中心主义的技能架构,围绕 ZK 构建了 Cairo VM 和 Cairo 的言语。其缺点在于 Cairo 的学习本钱较高。

ZKsync 的结构兼容了 EVM 和 ZK 两方面的特色,将 Solidity 和其自主开发的电路言语 Zinc 做了一个交融,在编译器内部将两者在 IR 层面上做了一致。其长处在于编译器内核的 LLVM 能够兼容多种言语。

RISC Zero 运用 RISC-V 架构树立模仿器答应程序员用 Rust、C/C++ 和 Go 等通用言语为 zkVM 编写程序,这意味着运用逻辑不需求局限于能够用 Solidity 表达的内容,答应写出与链无关的代码。

1.2.4 Privacy zkVM——zk 友爱 + 原生隐私支撑尝试点着生态新火花

代表项目:Aleo、Ola、Polygon Miden

区块链作为一个公共账本体系,一切买卖都在链前进行,这意味着包含与地址或账户相关的财物信息的状况变化是揭露通明的。因而,在致力于扩容解决计划之外,一些区块链团队相信下一个要完成的关键功用是隐私。

Privacy zkVM 除掉 zk 友爱支撑扩容的特性外,因为其自身的编程言语原生支撑的隐私特性,使其上层运用开发者能开出依据隐私相关的 dapp,这将带来新的运用场景和宏大叙事,比方彻底解决 MEV 问题、保证用户数据一切权等。当然,Privacy zkVM 规划上的杂乱程度需求更巨大的技能团队完成落地,或许需求还等待几年时刻才干完成。

1.2.5 SVM——退潮之后,仍有余烬:功用规划已达极致的履行环境

代表项目:Eclipse Mainnet、Nitro、MakerDAO Chain(maybe)

SVM,即 Solana 虚拟机,主打高功用履行环境,智能合约首要运用 Rust 言语编写。比较单线程核算的 EVM 和 EOS WASM 履行环境,经过要求 Solana 业务描绘业务在履行时将读取或写入的一切状况, SVM 完成了非堆叠业务和仅读取相同状况的业务并发履行。

Rollup强势下跌 VM 还有故事要讲

别的,为了完成快速验证 / 广播很多买卖块,Solana 网络上的业务验证进程广泛运用了 CPU 规划中常见的流水线优化。以满足一系列过程处理的输入数据流而且每个过程都有不同的硬件担任的情况。一个典型比方是洗衣机和烘干机,它按次序洗涤 / 烘干 / 折叠多批衣物。 清洗有必要在枯燥之前进行,枯燥之前有必要进行折叠,但这三个操作中的每一个都由独自的单元履行。

Rollup强势下跌 VM 还有故事要讲

别的,SVM 依据寄存器,而且具有比 EVM 小得多的指令集,使得 SVM 的履行更简略在 ZK 中证明。对于达观 Rollup,依据寄存器的规划能够更轻松地设置检查点。

1.2.6 Fuel VM——buff 叠满:UTXO 结构下的并行虚拟机

代表项目:Fuel

Fuel VM 是依据 EVM、Solana、WASM、BTC & Cosmos 技能结构下的改良,跟 EVM 比较有以下特色:

Rollup强势下跌 VM 还有故事要讲

最为独特的是,Fuel 不仅类似 SVM 设置访问列表(access lists),具有非堆叠业务并行履行买卖的能力,还选用 UTXO 模型,分代币 UTXO 和合约 UTXO,进一步提高了访问功率和核算吞吐量。

Rollup强势下跌 VM 还有故事要讲

别的,Fuel VM 经过自己的范畴特定言语 Sway 和支撑东西链 Forc 供给了强大且流通的开发人员体验,其开发环境保留了 Solidity 等智能合约言语的长处,一起选用 Rust 东西生态体系中引进的典范。

未来 Fuel VM 还将完成 Sway 言语晋级内容,包含字节码巨细方面的编译器优化、Sway 将支撑更多后端(EVM 后端已经在开发中)、抽象将愈加具有经济性、更多运用程序将从 Solidity/Vyper 搬迁到 Sway、改进编译器级别的重入剖析等。

1.2.7 ESC VM——Ordinal/Smartweave 的继承者:以太坊之上的核算层

代表项目:Ethscriptions Protocol

ESC VM,即 Ethscriptions Virtual Machine,是 Ethscriptions Protocol 提出的一种智能合约计划。Ethscriptions Protocol 自身是以太坊链上类似于 BTC Ordinal 的协议,专心于探究不同于智能合约和 L2 的低本钱替代计划。

Ethscriptions 答应用户以极低的本钱绕过智能合约存储和履行,经过提早约好的协议规矩,运用于 Tx 中的 calldata 进行核算。简略来说,只要一笔成功的以太坊买卖,其 calldata 符合规定有用的数据标准&仅有&「to」地址不为 0,即能够为合法创立了一个 Ethscription,「from」地址为创立者,「to」地址为具有者。

规划之初,每个 Ethscription 更偏向于 NFT 的方式,比方图片 NFT,直接将图片内容经过 Base64 格局写入 calldata 中:

Rollup强势下跌 VM 还有故事要讲

最近比较火的 eths 则是参考了 brc-20 的协议标准进行创立的 Ethscription:

Rollup强势下跌 VM 还有故事要讲

ESC VM 引进的智能合约,被称为「哑合约」(Dumb Contract),作为一个逻辑合约公示,但自身不以 EVM 方式进行链上交互。别的,ESC VM 还增加了一种特别格局「核算机指令」,运用这种格局创立的 ethscriptions 会被 ESC VM 辨认与哑合约交互,比方 Deploy - 布置哑合约,Call - 调用哑合约。

该计划存在一些局限性,一是 「哑合约」的函数不是 payable 的,也就是说假如你想经过哑合约来发送 ETH,有必要经过一个「桥合约」,而「桥合约」自身存在控制权滥用&财物盗用危险;二是生态存在准入门槛,不答应恣意创立哑合约,其代码需求经过 Ethscriptions Protocol 管理提案进行界说。

总结下来,ESC VM 是将以太坊 L1 作为数据存储层,在此之上树立的一个核算层,经过将合约逻辑、合约调用、合约调用等数据内容放在以太坊 tx 的 calldata 内完成,ESC VM 的大局状况共识是 ESC VM 客户端共识,近似于 Arweave 的 SmartWeave 完成逻辑,只不过 SmartWeave 的数据存储层是 Arweave。

1.2.8 Bit VM——一个风趣的研讨试验:BTC 之上的点对点履行通道

代表项目:ZeroSync

ZeroSync 创始人 Robin Linus 于 10 月 9 日发布了一篇白皮书「BitVM:Compute Anything On Bitcoin」,精确来说它不是一个 VM,而是企图创立一个图灵齐备的核算空间,其合约存储在比特币链上,可是合约的逻辑履行在链下。假如以为对方违约,己方能够在链上发起应战,假如对方无法作出正确回应,则己方能够拿走合约中的一切资金。

其长处在于,能够赋予比特币图灵齐备性而不需求对比特币协议进行任何修正,不需求新的操作码,不需求软分叉,随时能够运用。

其缺点也很明显,一是只支撑两方之间的买卖(一方证明、一方验证),二是创立一个合约需求创立很多数据以及预签署很多买卖,链下信息存储本钱巨大。

下面是对技能逻辑的简略介绍:

(1)点输入许诺

点输入许诺答应证明者为逻辑门设置输入值 0 或 1,在这个许诺里存在两个哈希值 H(A0)、H(A1),证明者需求揭示一个哈希原像,例如 A0,则将输入值设置为 0,若揭示 A1,则将输入值设置为 1。

(2)逻辑门许诺

有了输入值之后,经过组合比特币的与、非等操作码,能够在比特币脚本中组合恣意逻辑门。

(3)二进制电路许诺

将数以亿计的逻辑门组成一个二进制电路,就能够完成图灵齐备性。为了将这个二进制电路许诺到比特币网络中,需求将一切逻辑门放进一个 Taproot 地址的叶节点里。

Rollup强势下跌 VM 还有故事要讲

(4)应战 - 呼应环节

只是将电路许诺在链上还不够,买卖双方需求一种有用的方法来验证合约的核算成果是否正确。在抱负情况下,合约在链下运转,双方都很协作且对成果无争议则大快人心。但假如买卖双方存在争议,则需求进入应战 - 呼应环节验证核算成果,并经过比特币脚本强制分配通道余额。

Rollup强势下跌 VM 还有故事要讲

因而,BitVM 远非某种 Bitcoin Rollup 或 L2,不具有完好的虚拟机履行环境、大局状况、用于发布杂乱智能合约的高档言语,也无法答应恣意数量的用户轻松与这些合约进行交互。用个很通俗的例子来形象阐明:BitVM 像是在人人能够用移动终端的时代里,构建了一台比房间还大的巨型核算机。

1.2.9 MoveVM——Facebook Web2 基因传承下的产物

代表项目:Aptos、Sui

Move 是一种用于编写安全智能合约的编程言语,最初由 Facebook 开发,为 Diem 区块链供给支撑,在 Diem 区块链项目中止后,以 Aptos、Sui 为代表的项目连续了 Move 言语的运用。Move 区块链最大特色是数据存储选用大局存储,由以账户地址为根的树组成,每个地址能够存储资源数据和模块代码。

Rollup强势下跌 VM 还有故事要讲

Move 有两种不同类型的程序:模块和脚本。模块是界说结构类型以及对这些类型进行操作的函数的库。结构类型界说了 Move 的大局存储方式,模块函数界说了更新存储的规矩。模块自身也存储在大局存储中。而脚本是可履行文件的入口点,类似于传统言语中的 main 函数,是未在大局存储中发布的临时代码片段。

Rollup强势下跌 VM 还有故事要讲

总结,Move 模块类似于体系可履行文件运转时加载的动态库模块,而脚本类似于主程序。 用户能够编写自己的脚本来访问大局存储,包含调用模块,而发布模块或履行脚本经过 Move VM 进行操作。

1.3 生态发展趋势

在 EVM 网络效应如此强大的现在,EVM 用户向非 EVM 链生态搬迁已成为新兴区块链项目的最大增加点,这将带来更多的 Dapp 可组合性,更大的衔接性或许会在未来几年引发更快的用户增加。

1.3.1 钱包前端兼容

将 EVM 用户引进非 EVM 链历来都是一个首要妨碍,但最近推出的 Metamask Snap 将打破这一妨碍。 EVM 用户能够持续运用 MetaMask,无需切换钱包。 得益于 Drift 的开源贡献构建了出色的 MetaMask Snap 完成,UX 相当于与任何 EVM 链交互。 Eclipse 主网用户将能够与 MetaMask 中的原生运用程序交互,或运用 Solana 原生钱包(如 Salmon)。

Rollup强势下跌 VM 还有故事要讲

1.3.2 VM 后端兼容

1.3.2.1 转译器 / 编译器

代表项目:Wrap

Warp 是一个 Solidity-Cairo 转译器,现在已经由以太坊闻名基础设施团队 Nethermind 开发完成。Warp 能够把 Solidity 代码转译为 Cairo,但转译后的 Cairo 程序往往需求修正并增加 Cairo 特性(如调用内置函数,优化内存等)才干最大化履行功率。

1.3.2.2 字节码解释器 /VM 兼容层

代表项目:Kakarot、Neon EVM

Kakarot 是一个布置在 Starknet 上以 Cairo 编写的、以智能合约方式完成的 EVM 字节码解释器,它以 Cairo 智能合约的方式模仿了 EVM 的仓库、内存、履行等方面。比较起代码转译,Kakarot 完成了 EVM 背面 Opcode 与 Pre-compile 的逐条完成,并树立了 Account Registry、Blockhash Registry 等组件针对账户地址映射、Block 信息获取等方面进行了额定处理,让 kakarot 具有了更高原生的兼容性。

Rollup强势下跌 VM 还有故事要讲

Neon EVM 是一种作为智能合约运转的 EVM,能够布置在任何 SVM 链上。Eclipse 主网自身选用了 SVM 作为履行环境,但经过 Neon EVM 带来了完全的 EVM 兼容性(包含 EVM 字节码支撑和以太坊 JSON-RPC),而且吞吐量比单线程 EVM 更高。别的每个 Neon EVM 实例都有自己的本地费用商场,即一个区块高度上单合约账户交互相关的核算单元存在上限(区块核算单元的 1/4),因而用户只需求在特定热门合约交互或区块塞满时需求支付 priority fee。在这个意义上来说,运用程序布置自己的合约即可获得近似运用程序链的优势,以此下降因某一特定合约交互 tx 拥堵时对整个网络用户体验、安全性或流动性造成的破坏。

Rollup强势下跌 VM 还有故事要讲

此时快讯

【英国财政部将实施新规:要求加密货币公司向FCA申请授权】金色财经报道,声明显示,英国财政部将继续实施新规定,要求加密货币公司向英国金融行为监管局(FCA)申请授权。将在2024年通过次级立法加快实施新的加密货币行业规定。加密货币新规的范围通常将涵盖从海外向英国消费者提供服务的公司。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注