以太坊虚拟机(EVM)是什么?它如何执行智能合约?

2026-03-02 01:27:40
以太坊虚拟机(EVM)是一种运行在以太坊网络上的去中心化计算环境,用于执行智能合约代码,确保所有节点状态一致。

随着以太坊从单一的价值转移网络发展为可编程区块链平台,EVM 成为支撑其去中心化应用生态的核心执行层。围绕定义、运行结构、执行流程、Gas 机制与安全模型等方面展开分析,有助于理解 EVM 在整个以太坊体系中的关键作用。

以太坊虚拟机(EVM)是什么?

以太坊虚拟机(Ethereum Virtual Machine, EVM)是一个准图灵完备的虚拟计算机,它是所有以太坊账户和智能合约生存的沙盒环境。如果把以太坊区块链比作一本分布式账本,那么 EVM 就是负责更改这本账本每一页内容的“处理器”。

以太坊虚拟机(EVM)是什么?

在以太坊体系中,EVM 属于执行层组件,负责处理交易中包含的合约逻辑。它并不是一个中心化服务器,而是由所有节点共同运行的统一计算规则系统。每当有交易调用智能合约时,网络中的验证节点都会在本地运行同一段合约代码,并根据一致的执行规则得出相同的结果。

EVM 的存在确保了无论在世界的哪个角落、使用何种硬件,只要执行相同的智能合约代码,所有节点都能得到完全一致的结果。这种特性使得以太坊从简单的支付网络进化为一个可编程的全球价值结算层。

EVM 的核心结构与运行环境

EVM 的运行环境旨在确保代码执行的高效性与隔离性,其核心结构主要由以下三个部分组成:

  • 堆栈(Stack):这是 EVM 处理计算的主要空间。它遵循“后进先出”的原则,所有指令的参数和结果都通过堆栈进行传递。为了保持简洁,EVM 堆栈的最大深度为 1024 个元素。
  • 内存(Memory):这是一个临时的、可寻址的字节数组。内存主要用于在智能合约执行期间存储临时数据(如函数参数或局部变量)。一旦合约执行结束,内存中的数据就会被清除。
  • 存储(Storage):与内存不同,存储是永久性的。每个智能合约都有一个与其关联的键值对数据库。在这里修改数据会产生昂贵的 Gas 成本,因为这些信息将被永久记录在区块链状态中。

智能合约是如何被 EVM 执行的?

在以太坊生态中,开发者通常使用 Solidity 等高级语言编写代码,但 EVM 无法直接读取这些代码,它需要经过一系列的转换与处理流程:

  1. 编译与字节码生成:高级代码首先被编译成“字节码”(Bytecode),这是一种由十六进制数字组成的机器可读指令集。
  2. 触发条件(操作码提取):当用户发起一笔交易(如调用某个函数)时,EVM 会将字节码分解为一系列“操作码”(Opcodes),(如 ADD、PUSH),操作栈顶数据并更新存储。
  3. 指令执行: EVM 逐条读取操作码并在其虚拟运行环境中执行相应的计算逻辑,每个调用创建独立上下文,回滚异常时恢复状态。
  4. 状态更新(结果状态):如果执行成功且 Gas 足够,EVM 将更新相关的账户余额或合约存储状态,并将结果广播至网络。

Gas 在 EVM 执行中的作用

为了防止恶意攻击(如死循环代码占用全网资源),EVM 引入了 Gas 机制,用于衡量计算资源消耗。

  • 资源定价:每一条操作码都被赋予了特定的 Gas 成本。例如,简单的加法运算消耗较少,而向永久存储写入数据则消耗巨大。
  • 停机限制:交易发起者必须设定 Gas 上限。如果代码运行中途耗尽了 Gas,EVM 将立即停止执行,撤销所有已发生的更改(状态回滚),但已消耗的 Gas 不予退还。
  • 激励平衡:Gas 费用最终支付给验证者,作为他们提供计算资源维护网络安全的报酬。

EVM 的确定性与安全模型

EVM 最核心的特征是确定性。对于给定的输入和当前区块链状态,无论代码在何时、何地执行,其输出结果必须完全相同。

此外,EVM 采用了沙盒隔离机制。智能合约在 EVM 内部运行时,无法访问宿主机的网络、文件系统或其他进程。这种设计防止了恶意合约破坏运行它的节点服务器,确保了整个分布式网络的鲁棒性。

EVM 与其他执行环境的差异

虽然 EVM 是目前最主流的执行环境,但它并非唯一。

与功能有限的比特币脚本相比,EVM 支持更复杂的逻辑结构与合约交互。

Solana 的 Sealevel(支持并行执行)或波卡的 Wasm 环境相比,EVM 的主要局限在于串行执行——即交易必须按顺序处理,这在一定程度上限制了吞吐量。

然而,EVM 的优势在于其极其强大的网络效应。目前大多数 Layer 2 方案(如 Arbitrum, Optimism)和竞争公链(如 BSC, Avalanche)都选择了“EVM 兼容”,这意味着开发者可以无缝迁移代码,共享以太坊成熟的开发工具链。

总结

以太坊虚拟机(EVM)是以太坊网络中负责执行智能合约的核心计算环境,通过栈式架构、字节码执行与确定性规则,实现去中心化状态更新。Gas 机制为其提供资源计量与安全保障,而确定性设计确保网络共识的稳定性。

总体来看,以太坊虚拟机(EVM)不仅是执行智能合约的引擎,更是 Web3 时代的去中心化操作系统。它通过严谨的堆栈结构、Gas 约束和确定性安全模型,为全球范围内的信任协作提供了技术底座。

FAQ

什么是 EVM 操作码 (Opcode)?

操作码是 EVM 能够理解的最基础指令。开发者编写的高级语言代码最终都会被拆解为如 PUSHPOPMLOAD 等简单操作,由虚拟机逐一处理。

EVM 支持哪些指令?

约 140 条 OpCode,包括算术(ADD)、控制(JUMP)和加密(SHA3)。

为什么 EVM 执行合约需要支付 Gas?

Gas 是为了防止计算资源被滥用。通过为每项操作定价,EVM 确保了网络不会因死循环或恶意的大规模计算而陷入瘫痪。

“EVM 兼容性”意味着什么?

这意味着其他区块链能够运行与以太坊相同的智能合约。这允许开发者无需重新编写代码,即可将应用部署到多个不同的网络中。

EVM 可以访问互联网数据吗?

不可以。EVM 是一个完全封闭的操作环境,无法直接访问外部 API 或互联网。如果合约需要外部数据,必须通过“预言机”(Oracle)将数据写入区块链。

作者: Jayne
译者: Jared
审校: Ida
免责声明
* 投资有风险,入市须谨慎。本文不作为 Gate 提供的投资理财建议或其他任何类型的建议。
* 在未提及 Gate 的情况下,复制、传播或抄袭本文将违反《版权法》,Gate 有权追究其法律责任。

分享

币圈日历
代币解锁
Wormhole将在4月3日解锁1,280,000,000个W代币,约占当前流通供应的28.39%。
W
-7.32%
2026-04-02
代币解锁
Pyth Network 将于5月19日解锁 2,130,000,000 PYTH 代币,约占目前流通供应的 36.96%。
PYTH
2.25%
2026-05-18
代币解锁
Pump.fun 将于 7 月 12 日解锁 82,500,000,000 PUMP 代币,约占目前流通供应的 23.31%。
PUMP
-3.37%
2026-07-11
代币解锁
Succinct 将于 8 月 5 日解锁 208,330,000 大佬代币,占当前流通供应量的约 104.17%。
PROVE
2026-08-04
sign up guide logosign up guide logo
sign up guide content imgsign up guide content img
Sign Up

相关文章

CKB:闪电网络促新局,落地场景需发力
中级

CKB:闪电网络促新局,落地场景需发力

在最新发布的闪电网络Fiber Network轻皮书中,CKB介绍了其对传统BTC闪电网络的若干技术改进。Fiber实现了资产在通道内直接转移,采用PTLC技术提高隐私性,解决了BTC闪电网络中多跳路径的隐私问题。
2024-09-10 07:19:58
Master Protocol:激活 BTC 生息潜力
中级

Master Protocol:激活 BTC 生息潜力

比特币的工作量证明限制了持有者通过直接质押的方式获得收益,尽管比特币在市值上驱动主导机制地位,但大量比特币未充分利用。通过主协议协议,用户可以将比特币质押在第 2 层上,并接收 LST 作为其质押凭证,允许用户在多个场景下再次投资他们的 LST,在不影响流动性的情况下保证收益,透视对再质押协议的采用,用户可以进一步质押LST连接LRT,再次增强他们的投资能力和资产流动性。
2024-07-08 16:45:06
浅谈合并:什么是以太坊2.0?
中级

浅谈合并:什么是以太坊2.0?

一场可能影响整个加密生态的升级
2022-12-14 03:56:45
如何质押 ETH?
新手

如何质押 ETH?

随着以太坊合并正式到来,共识机制将从 PoW 的算力挖矿证明过渡到 PoS 权益证明,将采用质押 ETH 的方式来维护网路正确性,以使质押者获得奖励。而质押前需做好事前准备,包括选择各种质押方式与质押服务商。 随着以太坊合并正式到来,以太坊共识机制将从 PoW 工作量证明转换到 PoS 权益证明,采用质押 ETH 的方式来维护区块链网路,以使质押者获得奖励。而质押前需做好事前准备,包括选择各种质押方式与质押服务商。那么,什么是ETH质押,如何质押ETH?
2025-09-03 06:15:31
什么是稳定币?
新手

什么是稳定币?

稳定币是一种价格较为稳定的加密货币,价格往往与现实中的某种法定货币挂勾。稳定币在DeFi,乃至整个加密货币生态中都具有重要地位。
2025-09-18 12:40:12
链上数据分析:六个分析工具介绍及使用案例
进阶

链上数据分析:六个分析工具介绍及使用案例

随着 DeFi、NFT、GameFi 等赛道的不断发展,链上数据分析对 Web3 用户越发重要。本文将介绍 Etherscan、Dune、The Block、Nansen、Coingecko 等分析工具和使用案例。
2023-09-14 17:52:29