当我们谈论以太坊时,虚拟机(Virtual Machine, VM)是一个核心概念,它是以太坊区块链上智能合约的运行环境,负责执行合约代码、处理交易和维护状态,并非所有在以太坊生态系统中运行的虚拟机都完全相同,除了我们最熟知的以太坊虚拟机(EVM)之外,还存在一些针对特定需求、优化或兼容性而设计的其他虚拟机,本文将带你探索以太坊的虚拟机世界,了解它们有哪些。

以太坊虚拟机(EVM - Ethereum Virtual Machine)

这是以太坊网络中最著名、最核心的虚拟机,也是以太坊生态系统的基石。

  • 定义:EVM是一个基于栈的图灵完备虚拟机,被设计为在以太坊网络上执行智能合约代码,所有以太坊上的交易和智能合约执行最终都由EVM来完成。
  • 特点
    • 图灵完备:意味着它可以执行任何可计算的算法,只要资源允许。
    • 基于栈:操作数在栈上传递和操作。
    • 确定性:对于相同的输入和状态,EVM总是产生相同的输出,这是区块链一致性的关键。
    • 沙箱环境:智能合约在EVM中运行,被隔离在沙箱环境中,不能直接访问外部资源(除了通过以太坊API进行有限的交互)。
    • Gas机制:为了防止无限循环和恶意消耗网络资源,EVM执行操作需要消耗Gas(燃料)。
  • 作用:它是以太坊“世界计算机”的核心引擎,负责处理所有账户状态变更、合约逻辑执行和交易验证。

兼容EVM的其他虚拟机(EVM-Compatible VMs)

随着以太坊生态的发展,许多Layer 2扩容方案以及其他区块链为了兼容以太坊丰富的开发者工具和dApp生态,都推出了与EVM兼容的虚拟机,这些虚拟机在指令集、运行时行为上与EVM高度一致,使得为以太坊开发的智能合约可以不经修改或只需少量修改就能在这些链上部署和运行。

  • Polygon虚拟机(PVM - Polygon Virtual Machine):虽然Polygon本身是一个Layer 2扩容方案生态系统,但其早期的PoS链(现在成为Polygon 0)使用的是改进版的EVM,后来也发展出针对不同场景的虚拟机,强调高性能和兼容性,PVM确保了以太坊工具的无缝迁移。
  • Arbitrum虚拟机(ArbVM):Arbitrum是流行的Optimistic Rollup方案,其ArbVM在保持EVM兼容性的同时,引入了优化的执行机制,以实现更高的吞吐量和更低的交易费用,它能够正确处理Arbitrum的欺诈证明和挑战机制。
  • 随机配图