当我们谈论比特币时,脑海中浮现的往往是“数字黄金”和“挖矿”,但当我们转向以太坊这个更复杂的智能合约平台时,一个问题常常浮现:以太坊以什么进行计算?它和比特币的“挖矿”一样吗?以太坊的计算引擎是一种被称为“以太坊虚拟机”(Ethereum Virtual Machine, EVM)的全球分布式计算机,而驱动这台计算机运行的“燃料”,则是“Gas”

下面,我们将深入拆解这个核心概念。

核心引擎:以太坊虚拟机(EVM)

你可以把EVM想象成一个完全去中心化、运行在全球每一台参与以太坊网络的节点计算机上的虚拟计算机,它不是一个单一的实体,而是由成千上万个独立运行的节点共同维护和执行的规则集合。

EVM的关键特性:

  1. 图灵完备(Turing Complete):这是以太坊与比特币等早期区块链最根本的区别之一,图灵完备意味着EVM可以执行任何你能想象到的计算任务,只要有足够的时间和资源,这使得开发者可以在以太坊上构建从简单代币到去中心化金融、去中心化自治组织乃至复杂游戏等任何类型的去中心化应用,而比特币的脚本系统是“图灵不完备”的,只能执行特定且有限的指令,安全性更高但灵活性不足。

  2. 确定性执行:为了保证所有节点对交易和智能合约的执行结果达成一致,EVM要求所有操作必须是确定性的,这意味着,对于同一份输入数据和代码,无论在哪个节点上运行,都必须产生完全相同的输出结果,任何依赖于随机数、外部时间或特定硬件环境的操作都是不允许的。

  3. 沙箱环境:智能合约在EVM中运行在一个隔离的“沙箱”里,这意味着一个合约的代码无法直接访问你的本地文件、操作系统或其他网络资源,这种隔离机制极大地提高了安全性,防止恶意代码对网络或用户设备造成破坏。

当你在以太坊上发起一笔交易或调用一个智能合约时,这笔交易会被广播到网络中,每一个验证你交易的节点,都会在自己的EVM实例上,按照预设的规则一步步执行这笔交易,最终得到一个统一的结果。

计算的“燃料”:Gas

既然EVM可以执行任何复杂的计算,如果有人故意发起一个需要消耗巨大资源的“死循环”代码(例如一个无限循环的计算),会不会让整个网络瘫痪?为了解决这个问题,以太坊引入了Gas(燃料)机制。

Gas的本质:

Gas并不是一种加密货币,而是一个计量单位,用于衡量在EVM上执行特定操作所需的计算工作量,你可以把它想象成汽车的油耗,每一步操作(比如加一个数、存储一个数据、发送一次交易)都需要消耗一定量的Gas。

Gas机制如何工作:

  1. Gas Limit(Gas上限):在发起一笔交易时,你必须设置一个Gas Limit,即你愿意为这笔交易支付的最大Gas量,这相当于你给汽车的油箱加满油,设定了一个最大容量,如果你的交易在耗尽所有Gas之前就执行完毕,剩余的Gas会退还给你,如果代码中出现无限循环,当Gas耗尽时,交易会失败,但所有已消耗的Gas将作为手续费支付给矿工/验证者,你不会得到任何退款。

  2. Gas Price(Gas价格):这是你愿意为每单位Gas支付的价格,通常以Gwei(以太币的亿分之一)计价。随机配图