入门基础

智能合约(Smart Contract)

又称: Smart Contract · 合约

定义

智能合约是部署在区块链上、满足预设条件就自动执行的程序代码,DeFi、NFT 和链上代币都依靠它运行。

智能合约是怎么运作的

智能合约本质上是一段放在链上的代码。比如一个兑换合约规定:你转入 A 代币,它就按池子里的比例自动转出 B 代币。整个过程不需要人工审核,执行结果写进区块链,任何人都能查到。

合约一旦部署,代码通常难以修改,漏洞也会跟着一直存在。历史上出现过不少因合约漏洞或权限设计不当导致资金被盗的事件。有些合约保留了管理员权限,可以升级或暂停,这既方便修复问题,也带来项目方作恶的可能。

你在钱包里点“授权”(Approve)时,就是允许某个合约动用你的代币。授权额度设为无限、或授权给来路不明的合约,是常见的资产被盗原因。定期检查并撤销不再使用的授权是好习惯。

举个例子

假设你在去中心化交易所把 1,000 USDC 换成 ETH,ETH 价格 2,500 USDC。第一步,你签名授权合约使用 1,000 USDC,付一次 Gas;第二步,合约执行兑换,按池子报价给你约 0.398 ETH(扣掉 0.3% 交易费和少量滑点),再付一次 Gas。若你当初授权的是无限额度,这个合约以后仍可动用你钱包里的全部 USDC。

常见误区

  • 随手签署“无限授权”,给钓鱼或有漏洞的合约留下后门。
  • 以为经过审计的合约就绝对安全,审计只能降低而不能消除风险。
  • 不看合约地址,和仿冒的同名合约交互。

继续学习与实操

常见问题

智能合约是合同吗?

不是法律意义上的合同,而是自动执行的程序。它“智能”在于条件满足就自动运行,而不是能理解复杂的法律条款。

智能合约能被修改吗?

取决于设计。不可升级的合约部署后无法修改,可升级合约则由持有管理权限的地址进行更新,这时要关注谁控制这个权限。