2008年,中本聪通过比特币提出去中心化货币的概念,开启了区块链时代,比特币的脚本系统功能有限,仅支持简单的交易验证,无法实现复杂的逻辑处理,2015年, Vitalik Buterin 等人发起以太坊(Ethereum)项目,首次提出“智能合约”(Smart Contract)的理念,旨在构建一个“可编程的区块链”,允许开发者在其上部署自动执行的、去中心化的应用程序(DApps),以太坊的诞生,标志着区块链从“货币工具”向“计算平台”的跨越,而智能合约则是这一跨越的核心技术。
智能合约的概念最早由计算机科学家 Nick Szabo 在1994年提出,他将其定义为“一套以数字形式定义的承诺,包括参与者之间的协议,以及协议执行和强制履行的机制”,智能合约是运行在区块链上的自动执行程序,当预设条件被触发时,合约会按照代码规则自动执行操作,无需第三方干预。
以太坊智能合约的核心思想是“代码即法律”(Code is Law):合约一旦部署到区块链上,其代码逻辑便不可篡改,所有交易和状态变更公开透明,由网络中的节点共同验证和执行,这种特性使其在金融、供应链、数字身份等领域具有广泛的应用潜力。
以太坊智能合约的运行依赖于其底层架构,包括账户模型、虚拟机(EVM)和Gas机制,以下从三个维度解析其原理:

以太坊采用账户模型而非比特币的“UTXO模型”,所有参与者(用户、合约)都以账户形式存在,账户分为两类:

每个账户包含三个关键属性:
当EOA发起一笔合约调用交易时,交易中会包含目标合约地址、调用函数名、参数等信息,网络节点会验证交易有效性,并通过EVM执行合约代码。
以太坊虚拟机(EVM)是以太坊网络的“计算核心”,是一个图灵完备的沙盒环境,所有智能合约的执行都在EVM中进行,其核心作用包括:
EVM以栈(Stack)为基础架构,合约代码被编译成字节码(Bytecode),节点通过EVM解释器逐行执行字节码,完成计算、存储、转账等操作,一个简单的“存币合约”字节码可能会执行“读取用户输入金额→更新账户存储→返回成功状态”的逻辑。

由于EVM是图灵完备的,理论上合约可能包含无限循环或消耗大量资源的操作(如死循环、大数组计算),为避免此类问题攻击网络,以太坊设计了Gas机制:
执行过程中,EVM会实时消耗Gas,若Gas耗尽但代码未执行完毕,交易回滚(状态不变),已消耗Gas不予退还;若执行成功,Gas剩余部分退还给用户,这一机制既保证了合约的安全性,又通过矿工竞争Gas Price实现了资源的市场化分配。
智能合约的完整生命周期包括部署、调用、升级(可选)三个阶段:
开发者通过Solidity等编程语言编写合约代码,编译为字节码,然后通过一笔“创建交易”(Creation Transaction)将合约部署到以太坊网络,交易中包含合约字节码和初始化参数,节点验证后,EVM执行字节码,生成合约地址,并将合约代码写入区块链,此后,该合约即可通过地址被调用。
用户或其他合约通过交易调用合约的公开函数(如transfer()、balanceOf()),调用时需指定函数名和参数,节点执行EVM代码,读取/修改合约状态(Storage),并返回结果,DeFi中的借贷合约,用户调用deposit()函数存入ETH,合约会更新用户的存款余额和账户状态。
以太坊合约部署后代码不可更改,但可通过“代理模式”(Proxy Pattern)实现逻辑升级:将核心业务逻辑与数据存储分离,通过代理合约转发调用到逻辑合约,升级时只需替换逻辑合约地址,数据保持不变,这一机制解决了合约“不可篡改”与“可迭代”之间的矛盾。