什么是智能合约?

什么是智能合约?了解区块链上自动执行的程序如何运作、支撑着哪些应用、有哪些局限和风险,以及在使用前如何检查。

CCM ResearchCertified Crypto Market2026年10月4日5分钟阅读
分享到XLinkedIn

智能合约是存储在区块链上的程序,在满足预先设定的条件时自动运行。它可以按照自身代码持有和转移资金,无需银行、经纪商或其他中间方来决定是否执行每一步。

在加密领域,几乎所有超越简单支付的功能都由智能合约驱动:代币、去中心化交易所、借贷协议、NFT 和 DAO。了解智能合约能做什么、不能做什么,有助于你判断使用它们的机会与风险。

智能合约如何运作

由代码强制执行合约的想法,是计算机科学家 Nick Szabo 在 20 世纪 90 年代提出的,他用自动售货机作比喻:投入正确的硬币,选择商品,机器就会出货,无需店员。

在区块链上,流程如下:

  1. 1开发者编写代码,例如为 Ethereum 使用 Solidity,或为其他一些网络使用 Rust。
  2. 2代码被部署,通过一笔交易上链,并获得自己的地址。
  3. 3用户调用合约,向该地址发送交易,通常还会附带代币。
  4. 4每个节点都执行代码并就结果达成共识,因此所有人看到的结果都相同。
  5. 5合约状态被更新——余额、所有权记录或设置在链上发生变化。

每一步都需要支付网络手续费。在 Ethereum 上,这种手续费称为 gas;其工作原理请参阅 Ethereum 中的 gas 是什么。

智能合约的用途

用途合约的作用示例
代币记录余额和转账ERC-20 代币合约
去中心化交易所持有代币池并用公式为交易定价自动做市商(AMM)
借贷接受抵押品、发放贷款、清算高风险头寸DeFi 货币市场
NFT记录独特物品的所有权某个系列的 NFT 合约
DAO统计投票并执行通过的提案链上治理合约
多签钱包转移资金需要多方批准项目金库

这些合约中有许多会相互调用,这也是 DeFi 有时被称为“货币乐高”的原因。我们的 DeFi 指南介绍了这些组件如何组合在一起。

智能合约与传统合同对比

把智能合约与大多数人熟悉的纸质协议进行比较,会更容易理解。

传统合同智能合约
书写方式人类语言程序代码
执行方法院、机构、各方的诚意运行代码的区块链网络
灵活性可以重新协商或解释除非设计为可升级,否则严格按编写的方式运行
透明度通常不公开代码和活动通常在链上公开
争议处理法官、仲裁员、律师除代码本身外,没有内置的争议处理方式
速度结算需要数天到数月数秒到数分钟,取决于网络

其优势在于速度快、透明,并且去除了中间方。弱点则是僵化:代码无法权衡公平或具体情境。如果发生了开发者未曾预料的意外情况,合约只会照章执行——即使结果显然不是任何人想要的。我们在什么是测试网和主网?一文中对此有更详细的介绍。

谁编写和控制智能合约

任何人都可以部署智能合约;公有区块链上没有审批流程。这种开放性带来了快速创新,但也意味着诈骗合约与正规合约一样容易部署。部署之后,控制权取决于合约的编写方式:有些合约根本没有所有者,有些由单个钱包控制,还有些由多签或带有时间延迟的 DAO 投票控制。弄清适用哪种模式,是判断任何应用风险的关键一环。延伸阅读:智能合约漏洞攻击。

智能合约做不到的事

智能合约功能强大,但适用范围有限。

  • 它们只知道链上数据。 要使用价格或体育比赛结果等现实世界的信息,它们依赖预言机,预言机将外部数据带上链,可能出现故障或被操纵。
  • 它们不理解意图。 如果你把资金发送到错误的函数,或签署了恶意授权,合约只会按代码规定行事。
  • 它们并不自动成为法律合同。 代码执行与法律上的可执行性是两个不同的问题。
  • 它们无法撤销错误。 已完成的交易通常就是最终结果。

使用智能合约的风险

漏洞与攻击

代码由人编写,难免出错。攻击者会寻找缺陷,并可能在一笔交易中盗空资金。审计有帮助,但不能保证安全——请参阅如何评估智能合约审计报告。

管理员密钥与升级

许多合约可以升级,或带有所有者函数,能够暂停交易、修改费用或增发代币。这些功能可以在紧急情况下保护用户,但也带来了被滥用或管理员密钥被盗的可能。延伸阅读:账户抽象详解。

恶意合约

诈骗代币可能包含隐藏规则,例如禁止卖出或收取高额转账税。一个合约在代币页面上看起来可能很正常,实际运行起来却截然不同。另请参阅:ICO vs IEO vs IDO。

授权

使用 DeFi 通常需要授权某个合约动用你的代币。如果对有漏洞或恶意的合约给予无限授权,日后这些代币就可能被拿走。如果你想进一步了解,请阅读什么是内存池?

使用前如何检查智能合约

  1. 1核实地址:通过项目官网和独立来源进行确认。
  2. 2在区块浏览器中查询:查看创建日期、活动情况以及源代码是否已验证。
  3. 3查看审计情况:确认是否有知名机构的审计,并了解发现的问题是否已修复。
  4. 4弄清谁控制管理员功能——是多签、时间锁,还是单个钱包。
  5. 5从小额开始,并将代币授权限制在所需金额以内。

我们关于如何验证代币官方合约地址的指南详细介绍了前两个步骤。

总结

智能合约是区块链上自动执行的代码,无需中间方即可持有和转移价值。这使开放、可编程的金融成为可能,但也意味着漏洞、隐藏的管理员权限和恶意代码会即时且不可逆地产生影响。请核实地址,了解谁在控制合约,并只授权你所需要的额度。

常见问题

智能合约具有法律约束力吗?

并非自动具有。智能合约是在区块链上执行的软件,本身并不是法律协议。有些法律体系可能会承认通过代码记录或执行的协议,但这取决于国家和具体情况。如果法律上的可执行性很重要,请查阅当地法律或咨询合格的专业人士。

智能合约部署后还能修改吗?

已部署的代码本身通常无法编辑。不过,许多项目采用可升级的设计,例如代理合约,允许管理员把用户引导到新的代码。这种灵活性有助于修复漏洞,但也意味着有人掌握着修改规则的权力。请查明是谁控制着升级密钥或管理员密钥。

哪些区块链支持智能合约?

Ethereum 让通用智能合约流行起来,许多其他网络也支持智能合约,包括 BNB Chain、Solana、Avalanche、Cardano 以及 Ethereum 的二层网络。Bitcoin 在设计上只支持有限的脚本功能。每个平台都使用自己的语言和工具,因此合约不能自动在不同平台之间移植。

如果智能合约有漏洞会怎样?

代码会严格按照编写的方式运行,漏洞也不例外。攻击者可能利用漏洞盗走资金,而交易通常无法撤销。有些项目可以暂停或升级合约来限制损失,而不可变的合约则根本无法修复。审计和漏洞赏金能降低这一风险,但无法将其消除。

本文仅供学习参考,不构成财务、法律或税务建议。加密货币波动剧烈,您可能会亏损。在采取行动之前,请在各币种页面查看实时价格和项目详情。