Skip to main content

什么是智能合约

注意:本文档是英文原版的自动翻译。

什么是智能合约

**智能合约(smart contract)**是一段存储并执行在区块链上的程序。一旦部署,当其条件被满足时它就自动运行——执行协议、管理资产或协调操作,而无需人类中介来执行每一步。尽管名为如此,智能合约既不在人工智能的意义上“智能”,也不在法律意义上是“合约”。它是确定性代码:给定相同的输入,它总是产生相同的输出,遵循其开发者所编写的确切逻辑。

可以把智能合约想象成自动售货机。你投入一枚硬币、选择一件产品,机器就把它递出来——没有收银员、没有讨价还价、没有自由裁量。机器精确地遵循其编程规则。智能合约在区块链上做的是同样的事情:它持有资产或逻辑、接收输入(交易),并自动且透明地执行预先定义的操作。

**简而言之:**智能合约是区块链上自我执行的代码——它在无需中介的情况下执行规则,在加密人工智能项目中,它处理经济和治理逻辑,而人工智能计算通常发生在链下。

智能合约如何运作

编写与部署

智能合约起初是用为特定区块链设计的编程语言编写的源代码。最常见的语言是 Solidity,用于 Ethereum 和所有 EVM 兼容链(BNB Smart Chain、Arbitrum、Base、Polygon、Avalanche C-Chain)。Solana 使用 Rust 及其原生框架。其他链有它们自己的语言:Move(Sui、Aptos)、Cairo(Starknet)等。

开发者编写逻辑——合约做什么、它存储什么数据、什么条件触发哪些动作——然后将源代码编译为字节码(bytecode)(区块链的虚拟机可以执行的底层指令)。该字节码在一笔部署交易中被提交到区块链。一旦确认,合约就存在于链上的某个特定地址,并可供任何人与之交互。

执行

当一个用户或另一个合约调用某个智能合约函数时,会发生以下情况:

  1. 调用者提交一笔指定合约地址、要调用的函数和输入参数的交易。
  2. 网络上的每个验证者节点独立地执行该函数,通过相同的字节码处理相同的输入。
  3. 结果——任何状态变更、代币转移、所发出事件或写入的数据——被记录在一个区块中,并成为永久账本的一部分。
  4. 调用者为该计算支付一笔 gas 费用。更复杂的操作花费更多 gas。

这一执行模型具有重要属性:它是确定性的(每个节点得到相同的结果)、透明的(任何人都可以检查字节码和交易历史)和无需许可的(任何人都可以调用一个公开函数)。

Gas 与成本

智能合约内部的每一个计算步骤都要花费 gas——一个衡量所需计算工作量的单位。Gas 费用服务于两个目的:补偿验证者执行代码,并防止滥用(若没有费用,攻击者可以提交无限复杂的计算来拖慢网络)。

Gas 成本因网络而异。在 Ethereum 主网上,复杂操作在高需求期间可能花费数十或数百美元。在像 Arbitrum 或 Base 这样的 L2 网络上,同样的操作可能只花费几美分。在 Solana 上,交易费用通常是几分之一美分。这些成本差异直接影响加密人工智能项目选择在何处部署其链上组件。

不可变性与可升级性

一旦部署,智能合约的字节码就永久存储在区块链上。它无法被编辑、删除或覆盖。这种不可变性是一项安全特性——用户可以精确验证将执行什么代码,并信任它不会改变——但这也意味着部署到区块链上的缺陷无法像传统软件那样被打补丁。

为解决这一问题,开发者使用代理合约(proxy contracts)创建了可升级合约模式(upgradeable contract patterns)。在这种设计中,用户与一个代理合约交互,该代理将调用委托给一个实现合约。团队可以部署一个新的实现并将代理指向它——从而实质上“升级”合约。这解决了缺陷修复问题,但引入了一种信任上的权衡:谁控制了代理的升级机制,谁就能改变合约的行为。可升级合约本身并非坏事,但它将信任从“代码是永久的”转移到了“拥有升级权限的团队会负责任地行事”。

智能合约能做什么、不能做什么

能做:

  • 持有和转移代币及其他数字资产
  • 执行条件逻辑(如果 X,那么 Y)
  • 与同一条链上的其他智能合约交互
  • 发出外部系统可以监控的事件
  • 管理访问控制(谁可以调用哪个函数)

不能做:

  • 访问区块链之外的数据(它们需要**预言机(oracles)**来获取外部数据源)
  • 执行像人工智能推理那样计算密集的操作(gas 成本使其不可行)
  • 按计划自主执行(它们需要外部触发——交易——才能运行)
  • 存储大文件(链上存储很昂贵;项目使用 IPFS 或 Arweave 来存储大量数据)
  • 做出主观判断(它们执行确定性逻辑,而非推理)

最后这一项局限对加密人工智能尤其相关。智能合约无法在人工智能的意义上“思考”或“决策”。它可以路由、结算和执行规则,但实际的人工智能计算必须发生在链下,并将结果反馈给合约。

为什么这对加密人工智能项目很重要

在大多数加密人工智能项目中,智能合约是连接区块链基础设施与人工智能功能的结缔组织。理解它们的角色——及其局限——对于准确解读项目卡片至关重要。

经济层

在许多加密人工智能架构中,智能合约处理经济一侧:算力的支付、向数据贡献者的奖励分配、验证者的质押,以及推理服务的费用收取。人工智能模型运行在链下,但智能合约确保每个人都按规则获得报酬,无需中央权威管理账务。

治理

智能合约可以实现治理机制:提案提交、投票、法定人数要求,以及对已批准变更的执行。对人工智能项目而言,这可以意味着对模型参数、数据集选择或资源分配的治理——透明地在链上进行,而非由创始团队私下决定。

验证检查点

一些项目使用智能合约来存储验证数据:模型权重的哈希、推理结果证明,或证明特定计算已被执行的证明。虽然智能合约本身并不验证人工智能输出(它缺乏计算能力),但它提供了一份可供日后审计的不可变记录。

访问控制与权限

智能合约管理谁可以访问什么。一个构建在区块链上的人工智能推理 API 可能使用智能合约,在允许访问之前检查调用者是否持有所需代币、是否有足够的额度,或是否满足其他条件。这用链上的、透明的访问控制取代了中心化的认证系统。

“不在人工智能意义上智能”这一区分

一个持续存在的混淆来源是:“智能合约”与人工智能毫无关系。这里的“智能”一词意味着自我执行——合约自动执行其逻辑——而非它能推理、学习或适应。人工智能系统从数据中学习并做出预测。智能合约遵循固定规则并产生确定性输出。加密人工智能项目通常将两者结合:智能合约处理链上逻辑(支付、治理、访问控制),而人工智能模型处理链下的智能(推理、预测、分析)。

它出现在 DecAIHub 项目卡片的何处

智能合约通过若干字段和证据指标浮现在项目卡片中:

  • Main chain —— 告诉你项目的智能合约部署在哪条区块链上。Ethereum 上的项目使用基于 Solidity 的合约;Solana 上的项目使用基于 Rust 的程序。链的选择影响合约能力、gas 成本以及与其他协议的可组合性。
  • Token standard —— 像 ERC-20、BEP-20 和 SPL 这样的值指的是定义项目代币如何运作的智能合约标准。一个 ERC-20 代币是 Ethereum 上实现特定接口的智能合约。
  • Type 和 Category —— 依赖智能合约作为核心链上组件的项目通常为 Type: EVM 或 non-EVM(取决于链),并具有反映其角色的 Category(例如 DeFi、AI/Agents | DeFi)。一个 DeFi 协议本质上是一组管理流动性、交易或借贷的智能合约。
  • Evidence(Tier-1) —— 已验证的智能合约地址、审计报告和区块浏览器上已部署的合约代码,是 Tier-1 证据中最有力的形式之一。如果一个项目声称链上功能,那么它的合约地址应当是可验证的。
  • Token model —— 像 fee-mechanism、governance、staking 和 utility 这样的值描述了代币如何与项目的智能合约交互。治理代币通常在基于智能合约的治理系统中授予投票权。

在阅读项目卡片时,请检查项目的链上主张是否由实际部署的合约支持。一个声称基于智能合约的治理却没有可验证合约地址的项目,会引发对其链上存在实质性的质疑。

仅有智能合约本身无法证明什么

已部署智能合约的存在告诉你代码驻留在区块链上,但它并不能证明:

  • 人工智能能力 —— 智能合约无法运行人工智能模型。设计良好的合约的存在证明的是链上经济或治理逻辑,而非 AI reality。AI reality 是通过一套单独的证据(AI_0 到 AI_4 标记)来评估的。
  • 安全性 —— 智能合约代码可能包含缺陷、漏洞或后门。部署不等于安全。经过审计的合约比未经审计的更值得信任,但即便经过审计的合约也曾被利用。检查项目的合约是否由信誉良好的公司审计过。
  • 去中心化 —— 部署在去中心化区块链上的智能合约继承了网络的共识安全性,但合约本身可能有中心化的控制机制:可以暂停或升级合约的管理员密钥、仅限所有者的函数,或中心化的预言机依赖。
  • 不可变性 —— 如果项目使用可升级的代理模式,合约的行为可以被持有升级密钥的人改变。当涉及代理时,“链上”并不自动意味着“永久”。
  • 用户收益 —— 一个智能合约可以在技术上完美无缺却完全无用。代码质量和产品价值是相互独立的问题。

请勿混淆

  • AI model(人工智能模型) —— 人工智能模型从数据中学习、做出预测并生成输出。智能合约执行确定性逻辑。它们在加密人工智能项目中扮演根本不同的角色。人工智能模型是智能;智能合约是执行机制。
  • dApp(去中心化应用) —— dApp 是一个面向用户的、与区块链上智能合约交互的应用。智能合约是后端逻辑;dApp 是完整的产品,通常包括前端、链下服务和智能合约交互。
  • API —— 传统 API 运行在中心化服务器上,可以被其运营者更改、关停或审查。智能合约对区块链上的任何人都可访问,按不可变规则运行(除非可升级),并且无法被单一一方关停。一些加密项目为方便开发者,通过标准 API 接口暴露其智能合约。
  • Legal contract(法律合约) —— 法律合约可由法院和法律机构强制执行。智能合约可由代码和区块链共识强制执行。它们是具有不同执行机制的不同系统。除非司法管辖区的法律明确将其承认为法律协议,否则智能合约并不构成法律协议。
  • Script(脚本) —— Bitcoin 使用一种有限的脚本语言,允许基本条件(如多签要求),但不具备 Ethereum 式智能合约那样丰富的可编程性。当人们在加密人工智能语境中说“智能合约”时,他们几乎总是指具有完全可编程性的 Ethereum 式合约。

常见问题

智能合约会被黑客攻击吗?

会。智能合约是软件,而软件可能有缺陷。常见的漏洞类别包括重入攻击、整数溢出、访问控制失败和预言机操纵。一旦部署,有缺陷的代码就永久存在于链上,并可能被利用。这就是为什么安全审计很重要,以及为什么 DecAIHub 将审计状态作为项目评估的一部分进行追踪。使智能合约值得信任的不可变性也意味着,除非项目使用可升级模式,否则已部署的缺陷无法被打补丁。

智能合约真的不可变吗?

标准的智能合约在部署后是不可变的——合约地址处的字节码无法被更改。然而,许多现代项目使用允许交换实现逻辑的可升级代理模式。在这些情况下,代理地址保持不变,但底层行为可以改变。一个合约是否可升级,以及谁控制升级机制,是评估项目去中心化和信任模型的一个重要因素。

在每条区块链上智能合约都需要 gas 吗?

大多数区块链都收取某种形式的执行费用,尽管术语和定价各不相同。Ethereum 称之为 “gas”。Solana 收取“计算单元(compute units)”和“租金(rent)”。这一概念是普遍的:验证者需要因执行代码而获得补偿,且费用防止垃圾信息。成本水平差异巨大——从高峰需求期间 Ethereum L1 上每笔交易数美元,到 L2 网络和 Solana 上的几分之一美分。

人工智能模型可以存储在智能合约中吗?

将现代人工智能模型的完整权重存储在智能合约内是不切实际的。一个大型语言模型可能拥有数十亿个参数,占用数 GB 的存储。Ethereum 上的链上存储成本约为每 32 字节槽 20000 gas,使得在链上存储模型权重的代价高得令人望而却步。在实践中,项目在链上存储模型哈希或指针(如 IPFS 内容标识符)以供验证,而实际的模型文件驻留在链下。

智能合约在加密人工智能项目中扮演什么角色?

在大多数加密人工智能架构中,智能合约处理协调和经济层:管理算力市场的支付、向数据贡献者分配奖励、执行质押和惩罚(slashing)规则、控制对人工智能服务的访问,以及治理协议参数。人工智能计算本身发生在链下,而智能合约充当信任最小化的结算和验证层。

我如何验证一个项目的智能合约?

在区块浏览器上查找合约地址(如用于 Ethereum 的 Etherscan、用于 Solana 的 Solscan,或用于其他链的相应浏览器)。已验证的合约会直接在浏览器上显示其源代码,允许任何人阅读实际的逻辑。检查代码是否与项目文档相符、合约是否经过审计,以及审计报告是否公开可得。在 DecAIHub 项目卡片中,已部署的合约地址和审计报告作为 Tier-1 证据被追踪。

外部参考

另请参阅