
智能合约简介
“智能合约”一词最早由计算机科学家和密码学家 Nick Szabo 在 1990 年代引入。在他的出版物中,Szabo 将智能合约定义为“一组以数字形式指定的承诺,包括各方履行这些承诺的协议。”
智能合约是区块链和加密空间的基本构建块。随着区块链越来越受欢迎,智能合约开始蓬勃发展——尤其是随着以太坊的出现,以太坊是支持智能合约的最受欢迎的区块链之一。
要点:
- 智能合约是在区块链上运行的自动执行的计算机程序。当交易满足智能合约的规则时,数字合约将执行该交易。
- 智能合约的一些潜在优势包括自动化、透明度和安全性等。
- 智能合约的风险可能包括监管薄弱和潜在的脆弱性。
- 如今,智能合约在现实世界中的用例层出不穷,包括金融、供应链等。
智能合约如何运作
在区块链空间中,智能合约是在区块链上运行的自执行计算机程序。此类合约旨在根据代码的指定条款自动执行和控制事件和动作。此代码包含一组遵循逻辑“如果/当 x 发生时,则执行 y”的规则和数据,其中 x 是一个事件,y 是一个动作。它就像一个实现某些业务规则的常规应用程序;只有它使用区块链作为执行环境。我们可以使用的类比是自动售货机的工作方式:通过正确的输入,可以保证一定的输出。

简单来说,我们可以将智能合约视为一种在区块链中执行合约的数字化方式。与传统的数字协议类似,智能合约涉及两个或多个缔约方,并且在技术上具有法律可执行性。然而,虽然传统合约和智能合约之间有一些相似之处,但它们并不相同。智能合约作为一种工具可以帮助我们更接近一个更加去中心化的世界,它们无意取代标准协议。
以太坊智能合约
下图以以太坊区块链为例,描述了智能合约系统的工作原理。每个合约都由一个唯一的地址标识。合约的条款是用代码写的;一旦合约被部署到区块链上,合约代码就无法更改。
智能合约由区块链节点执行,作为处理用户提交的交易的结果(例如,执行从 ETH 到 CRO 的代币交换)。区块链节点是授权和验证交易的设备,例如计算机,并充当与网络中其他节点的通信枢纽。
这些交易随后由网络中的每个区块链节点执行以验证其输出。如果所有节点都验证了,则合同的状态将相应更新。交易通过代码自动执行,理想情况下,如果一切按计划运行,则无需第三方执行合约。
根据收到的交易,合约可以执行各种功能,包括读取或写入其私人存储、将资金存入其账户余额、向用户或其他合约发送或接收消息或资金,甚至创建新合约。

智能合约剖析
智能合约是由数据和功能组成的程序,可以在收到区块链上的交易请求时自动执行。以下概述了以太坊区块链中智能合约的组成部分。
数据
任何合同数据都必须分配到一个位置,存储或内存。数据可以是令牌的数量、函数的输出等。在智能合约中修改存储的成本很高,因此开发人员需要考虑相应的数据应该存放在哪里。
功能
函数定义要执行的操作或通用业务逻辑。用最简单的术语来说,函数可以获取或设置信息以响应传入的事务。有两种不同类型的函数调用:内部和外部。内部函数和状态变量只能在内部访问(即,从当前合约或从它派生的合约中)。外部函数是合约接口的一部分,这意味着它们可以从其他合约和通过交易调用。
事件
事件通知区块链外部的服务,例如去中心化应用程序 (dapps),以通知用户合约的当前状态或发生的事件。事件类似于函数,它们也接受和存储参数;但事件数据保存在交易日志中,智能合约无法访问这些数据。
可以通过“ emit ”关键字调用或分派事件。虽然事件和日志在技术上是智能合约的一部分,但需要注意的是智能合约无法读取事件数据。
智能合约的优缺点
现在已经涵盖了基础知识,让我们看看智能合约的好处和局限性。
优点
- 自动化:智能合约自主工作。
- 透明度:智能合约中的操作在发生在链上时是公开可见的。
- 安全性:存储在区块链上的交易记录是加密的且不可更改的。
- 准确:合约的所有信息都以if-then语句的条件格式表达,业务逻辑由机器执行,也可以避免一些人工操作可能出现的错误。
- 速度高效:智能合约运行在互联网上,执行速度快,无中介。
- 成本更低:执行智能合约的成本可能比手动执行传统合约的成本更低,此外还可以避免时间延迟和相关费用(不过,这还相对未经测试)。
缺点
- 监管薄弱:没有关于智能合约的明确规定。
- 不可变:一旦部署,原始智能合约无法调整,即使它们可能无法按预期工作。
- 潜在漏洞:智能合约可能会由于代码中的错误、漏洞或疏忽而导致被黑客攻击或利用的风险。
智能合约的应用
智能合约已成为当今区块链应用程序的基本构建块,以下是这些应用程序的一些示例。
去中心化金融(DeFi)
加密行业在很多方面都依赖于智能合约。一个很好的例子是去中心化金融(DeFi),自 2020 年以来,智能合约应用数量激增。DeFi 使用智能合约来实现各种传统金融服务——借贷、交易所、衍生品、保险等——从而享受非中介、无需信任且具有成本效益的经济的好处。
金融领域智能合约的用例不仅限于 DeFi。智能合约还有很多其他场景可以大放异彩,比如交易、结算等。
数字身份
智能合约支持自我主权身份(SSI),这是Web3中的一个关键数字概念,使用户能够控制他们用来向网站和在线应用程序证明其身份的信息。SSI 使用智能合约为拥有和控制个人数据的个人提供无缝的、以用户为中心的互联网(交易对手不需要持有用户的敏感数据来验证交易)。这通过促进无摩擦的“了解客户”(KYC)程序进一步简化了流程。
供应链
在智能合约的帮助下可以提高供应链的可见性——提供跨品牌、零售商、物流和交易对手的货物跟踪。
保险理赔
另一个经常被引用的智能合约潜在用例是在保险领域,它有朝一日可以通过让客户更轻松地进行索赔验证和管理,同时提供高效的再保险系统,来帮助预防或减少保险欺诈。
房地产
智能合约可能会在房地产中找到很好的用例,因为它们可以帮助促进需要所有相关方的信任和透明度的可靠交易。智能合约可能会通过加快财产所有权变更过程、简化租赁和租赁协议的便利化以及确保整体安全的点对点交易来发挥作用。
结论——智能合约对 Web3 来说是必不可少的吗?
虽然智能合约可能非常微妙,但它们是一项值得学习的创新。但是,在与智能合约进行交互时,请确保使用其相应的用户界面来完成交易,除非具备直接与智能合约进行交互的技术知识。否则,在没有正确知识的情况下,一个可能的错误是直接将资金发送到合约地址,这不会触发合约的功能,并且资金可能会丢失——永远!