在继续以太坊黄皮书的探索之旅中,本次学习笔记(第4部分)将聚焦于整个以太坊系统的“心脏”——以太坊虚拟机(Ethereum Virtual Machine, EVM),EVM是以太坊区块链上智能合约的运行环境,是“代码即法律”理念得以实现的技术基石,黄皮书第9章(以最新版本为准,章节号可能略有差异)对EVM的规范进行了详尽的定义,理解其核心机制对于深入把握以太坊的工作原理至关重要。

EVM概述:一个确定性图灵完备的虚拟机

EVM本质上是一个基于栈的虚拟机,它被设计为确定性的(Deterministic)和图灵完备的(Turing Complete)。

  • 确定性:这意味着对于给定的初始状态和输入,EVM总是会产生相同的输出和最终状态,这是所有区块链节点能够对交易和智能合约的执行结果达成共识的前提,任何依赖于随机数、外部时间或其他非确定性因素的运算都会破坏共识,因此EVM严格禁止此类操作。
  • 图灵完备:这意味着EVM可以执行任何可计算的任务,理论上可以模拟任何其他图灵机,为了防止无限循环等消耗网络资源的行为,EVM引入了Gas机制,对每一步计算都消耗Gas,从而使计算在有限资源内完成。

随机配图