全新

通过即将推出的 IQ.wiki API,将专家精选的加密货币和区块链知识集成到您的应用中。

0% read

Smart Contract

Smart Contract

A smart contract is a self-executing computer program stored on a blockchain that automatically runs when predetermined conditions are met. The terms of an agreement between parties are written directly into lines of code, and because this code exists across a distributed, decentralized blockchain network, the process automates the execution of an agreement and allows all participants to be certain of the outcome without the involvement of an intermediary. Once completed, the transactions are trackable and irreversible. [2][5][1]

Smart contracts seek to reduce dependence on trusted intermediaries, lower arbitration costs and fraud losses, and minimize both malicious and accidental exceptions. Linked closely with , smart contracts serve as the foundational building blocks for applications, including (DeFi) and (NFT) applications. [1][2]

历史

“智能合约”这一概念和术语最早由美国计算机科学家于1994年提出,他将其定义为“一种执行合同条款的计算机化交易协议”。[1][2] 1998年,萨博还设计了一种名为“比特黄金 (Bit Gold)”的虚拟货币,这比的推出早了十年。萨博经常被传言是匿名的发明者,但他对此予以否认。[1][6]

2009年区块链的启动支持了第一个“协议智能合约”,它建立了一套转移BTC必须满足的条件,例如发送者必须使用正确的私钥进行签名。到2012年,网络演进到支持多重签名(multisig)交易,这是一种更高级的智能合约形式,需要多个私钥才能批准交易。[1]

智能合约的现代始于2013年发布的白皮书,该白皮书提出了一种新型区块链,用于实现更通用、可编程的智能合约。于2015年推出,作为一个“世界计算机”运行,能够同时运行许多独立且复杂的智能合约,显著扩展了它们的功能。[1][3]

智能合约的工作原理

基本机制

智能合约运行在嵌入区块链的专用虚拟机上,遵循以下逻辑:“如果/当 x 事件发生时,则执行 y 操作。” [1] 通过在去中心化网络而非中央服务器上运行,它们使多方能够达成共享的、防篡改的结果,而无需相互信任。单个智能合约可以包含各种条件,一个应用程序可能会使用多个智能合约来促进一系列互连的流程。 [5]

由于智能合约运行在区块链之上,它们会严格按照编程自动且确定性地执行。这保证了合约的结果不能被任何单方更改。开发中使用了多种编程语言,其中 (用于 及其兼容链)、Vyper 和 Rust 是最突出的几种。 [1][3]

优势

  • 安全性与可靠性: 去中心化执行消除了单点故障,并使结果具有抗篡改性。逻辑由节点网络处理和验证,确保了高可用性并完全按照代码执行。 [1]
  • 效率与准确性: 一旦满足条件,合约会立即执行。自动化消除了对手动文书工作的需求,并排除了人为错误的可能性。 [5]
  • 信任与透明度: 由于没有第三方参与,且加密的交易日志在参与者之间共享,信息无法为了个人利益而被篡改。 [5]
  • 成本节约: 它们消除了对中介机构处理交易的需求,从而消除了相关的费用和时间延迟。 [5]

局限性与风险

  • 不可篡改性: 一旦部署,智能合约的代码就无法轻易更改。虽然这是一种安全特性,但也使得修复漏洞变得困难。一种常见的解决方法是使用“可升级”的代理合约,它可以将用户引导至新的、更新后的合约。 [1]
  • 智能合约风险: 合约代码中的缺陷、漏洞或利用程序可能导致安全漏洞和资金损失。因为合约完全按照编写的内容执行,错误的程序将产生错误的结果。这种风险使得全面的安全审计成为开发过程中至关重要的一部分。 [1][2]

这种风险的一个著名例子是 2016 年 6 月对 The DAO 的攻击,该攻击窃取了价值 5000 万美元的以太币。这一事件最终通过一次极具争议的 区块链硬分叉得以纠正,从而从攻击者手中追回了资金。 [4]

预言机问题与混合智能合约

区块链本质上是孤立的系统,无法原生访问外部的链下数据,如现实世界的资产价格、天气数据或体育赛事结果。这被称为“预言机问题”,在没有补充解决方案的情况下限制了智能合约的应用范围。 [1]

为了克服这一限制,智能合约使用“预言机”(oracles),这是一种将区块链连接到外部系统的安全中间件服务。预言机提供链下数据和计算资源,从而实现将链上代码与链下基础设施相结合的“混合智能合约”。这种连接允许智能合约对现实世界的事件做出反应,极大地扩展了它们的潜在用例。 [1][5]

实现与平台

并非所有区块链都具备运行复杂的、可编程智能合约的原生能力。关键的区别在于底层网络执行和存储任意应用程序逻辑的能力,这通常是通过内置的虚拟机实现的。

支持高级智能合约的知名平台包括:

  • 以太坊 (Ethereum): 在其上实现了一种近乎图灵完备的语言,是目前最突出的智能合约框架。
  • 其他兼容区块链: 一个庞大的区块链生态系统与虚拟机 (EVM) 兼容,包括
  • 比特币 (Bitcoin): 基础区块链提供了一种非图灵完备的 Script 语言。虽然这允许创建自定义逻辑,如多重签名账户、支付通道和托管,但它不具备类似于的原生可编程智能合约能力。像 Rootstock (RSK) 这样的二层解决方案为网络带来了兼容以太坊的智能合约功能。

总的来说,这些平台为各种去中心化应用创建高度定制化的逻辑提供了便利。[1]

使用场景与应用

金融产品 (DeFi)

(DeFi) 涵盖了利用智能合约复制传统金融产品(如货币市场、期权、、交易所和资产管理)的应用。这些应用利用无许可的组合性来结合各项服务,从而创造新的金融原语。DeFi 中的智能合约可以安全地管理用户资金,将其进行托管,并根据预定条件在用户之间进行分配。例如, 为寻求固定资产风险敞口的用户自动执行交易,而 则通过智能合约促进无许可且去中心化的借贷。[1][3]

权利管理 (代币)

代币智能合约用于创建、追踪并分配区块链网络上特定数字代币的所有权。代币合约将其发行的代币功能程序化,为持有者提供诸如 中的实用性/保险()、协议中的投票权重()、公司股权(证券型代币)、对独特现实世界或数字资产的所有权主张()等功能。例如,FIL 代币用于支付 的去中心化存储服务,而 代币则允许用户参与 的治理。[1]

游戏与 NFT

基于的游戏使用智能合约来防篡改地执行游戏内操作。一个例子是 ,这是一款无损储蓄游戏,用户将其资金在一个共享池中,随后资金被转入货币市场赚取利息。在预定周期结束后,游戏结束,一名获胜者将随机获得所有累计利息,而其他所有人都可以提取其原始存款。[1]

同样,限量版 NFT 可以拥有公平的分配模型,而 RPG 游戏可以利用随机性支持不可预测的战利品掉落,从而确保所有用户都有公平的机会获得稀有数字资产。许多项目通过 可验证随机函数 (VRF) 获取随机性——这是一种使用密码学证明其防篡改性的随机数生成器 (RNG),意味着 RNG 过程是公开可审计的。[1]

保险

参数化保险将赔付直接与预定义事件挂钩,利用智能合约根据数据输入进行防篡改的创建和执行。例如,农业保险可以通过智能合约实施,保单与季节性降雨等特定天气条件挂钩。保单到期后,如果受信任的预言机数据确认满足预定条件,智能合约将自动发放赔付。像 Arbol 这样的平台使用智能合约和预言机进行基于天气的参数化保险。这种模式确保了及时的赔付并减少了管理开支,并通过智能合约向公众开放了保险的供应端,用户可以将资金存入以赚取保费。[1][2]

投票与治理

智能合约可以通过将决策规则和程序直接编码到合约代码中,应用于 (去中心化自治组织)的投票和治理。DAO 的参与者随后可以与智能合约交互以进行投票、提议更改或参与治理决策。这确保了投票过程的透明性、不可篡改性和防篡改执行,增强了 DAO 治理的民主和去中心化特性。智能合约可以自动统计选票、执行投票规则,并根据预定义条件执行决策,为管理 DAO 事务提供了一种高效且无需信任的机制。 [5]

区块链众筹

智能合约可以通过自动化筹款流程并确保捐款处理的透明与安全,应用于 众筹。通过在智能合约中编码的一套预定义规则,参与者可以向众筹活动发送捐款。随后,智能合约会根据特定条件(例如达到筹款目标或预定的时间表)自动管理资金的释放。由于合约的执行在区块链上是可验证的,这消除了对中间人的需求并增强了参与者之间的信任。此外,智能合约还可以根据合约中设定的条款,促进向贡献者分发代币或奖励。 [5]

其他行业

智能合约的潜在应用延伸到许多其他领域,包括用于交付时自动付款的供应链管理、房地产交易、股票和大宗商品交易,以及用于在征得患者同意的情况下管理敏感数据的医疗保健行业。 [2]

发现错误了吗?

参考文献 (6 来源)

首页分类维基MC事件词汇表