什么是智能合约以及它们如何运作?

2024-03-20分类:区块链技术 阅读(

智能合约简介

“智能合约”一词由计算机科学家和密码学家 Nick Szabo 在 20 世纪 90 年代首次提出。萨博在其出版物中将智能合约定义为“一组以数字形式指定的承诺,包括各方履行这些承诺的协议”。

智能合约是区块链和加密空间的基本构建模块。随着区块链的普及,智能合约开始蓬勃发展——尤其是随着以太坊的出现,以太坊是支持智能合约的最受欢迎的区块链之一。 

要点:

  • 智能合约是在区块链上运行的自动执行计算机程序。当一笔交易满足智能合约的规则时,数字合约就会执行该交易。
  • 智能合约的一些潜在优势包括自动化、透明度和安全性等。
  • 智能合约的风险可能包括监管薄弱和潜在的脆弱性。
  • 如今,智能合约在现实世界中有无数的用例,包括金融、供应链等。

智能合约如何运作

在区块链领域,智能合约是在区块链上运行的自动执行计算机程序。此类合约旨在​​根据代码的指定条款自动执行和控制事件和操作。该代码包含一组规则和数据,遵循逻辑“如果/当x发生,则执行y”,其中x是事件,y是动作。它就像一个实现一些业务规则的常规应用程序;只是它使用区块链作为执行环境。我们可以使用自动售货机的工作方式进行类比:通过正确的输入,可以保证一定的输出。 

简单来说,我们可以将智能合约视为在区块链中执行合约的数字化方式。与传统的数字协议类似,智能合约涉及两个或多个缔约方,并且在技术上具有法律效力。然而,虽然传统合约和智能合约之间存在一些相似之处,但它们并不相同。智能合约作为一种工具可以帮助我们更加接近一个更加去中心化的世界,并且它们并不是要取代标准协议。

以太坊智能合约

下图以以太坊区块链为例描述了智能合约系统的工作原理。每个合约都由唯一的地址标识。合同条款是用代码写的;一旦合约部署到区块链上,合约代码就无法更改。 

智能合约由区块链节点执行,作为处理用户提交的交易的结果(例如,执行从 ETH 到 CRO 的代币交换)。区块链节点是授权和验证交易的设备,例如计算机,并充当网络中其他节点的通信中心。

然后,这些交易由网络中的每个区块链节点执行,以验证其输出。如果得到所有节点的验证,合约的状态就会相应更新。交易是通过代码自动执行的,理想情况下,如果一切按计划运行,则无需第三方执行合约。

根据收到的交易,合约可以执行各种功能,包括读取或写入其私人存储、将资金存储到其账户余额中、向用户或其他合约发送或接收消息或资金,甚至创建新合约。

智能合约剖析

智能合约是由数据和函数组成的程序,可以在收到区块链上的交易请求时自动执行。以下概述了以太坊区块链中智能合约的组成部分。

数据

任何合同数据都必须分配到一个位置,无论是存储还是内存。数据可以是代币的数量、函数的输出等等。修改智能合约中的存储成本很高,因此开发人员需要考虑相应的数据应该存放在哪里。 

功能

函数定义要执行的操作或通用业务逻辑。用最简单的术语来说,函数可以获取或设置信息以响应传入的事务。有两种不同类型的函数调用:内部函数调用和外部函数调用。内部函数和状态变量只能在内部访问(即从当前合约或从中派生的合约内)。外部函数是合约接口的一部分,这意味着可以从其他合约和交易中调用它们。

活动

事件通知区块链外部的服务,例如去中心化应用程序 (dapp),以通知用户合约的当前状态或发生的事件。事件与函数类似,它们也接受和存储参数;但事件数据保存在交易日志中,智能合约无法访问这些日志。

可以通过“ emit ”关键字调用或分派事件。尽管事件和日志在技术上是智能合约的一部分,但需要注意的是,智能合约无法读取事件数据。

智能合约的优点和缺点

现在已经介绍了基础知识,让我们看看智能合约的优点和局限性。

优点

  • 自动化:智能合约自主运行。
  • 透明度:智能合约中的操作在链上发生时是公开可见的。
  • 安全性:存储在区块链上的交易记录是加密的且不可变的。
  • 准确性:合约的所有信息均以“if-then”语句的条件格式表达,业务逻辑由机器执行,这也可以防止一些手工可能出现的错误。
  • 速度高效:智能合约运行在互联网上,执行速度快,无中介机构。
  • 成本更低:除了避免时间延迟和相关费用之外,执行智能合约的成本可能比手动执行传统合约更低(尽管这尚未经过测试)。

缺点

  • 监管薄弱:关于智能合约没有明确的规定。
  • 不可变:一旦部署,原始智能合约就无法调整,即使它们可能无法按预期工作。
  • 潜在漏洞:智能合约可能因代码中的错误、漏洞或疏忽而导致黑客攻击或利用的风险。

智能合约的应用

智能合约已成为当今区块链应用程序的基本构建块,以下是这些应用程序的一些示例。

去中心化金融(DeFi)

加密货币行业在很多方面都依赖于智能合约。一个很好的例子是去中心化金融(DeFi),自 2020 年以来,智能合约应用数量激增。DeFi 利用智能合约来实现各种传统金融服务——借贷、交易所、衍生品、保险等——从而享受非中介、无需信任且具有成本效益的经济的好处。

金融领域智能合约的用例不仅限于 DeFi。智能合约可以发挥作用的场景还有很多,比如交易、结算等。

数字身份

智能合约支持自我主权身份(SSI),这是Web3中的一个关键数字概念,使用户能够控制他们用来向网站和在线应用程序证明其身份的信息。SSI 使用智能合约为个人提供一个无缝的、以用户为中心的互联网,个人拥有并控制自己的个人数据(交易对手不需要持有用户的敏感数据来验证交易)。这通过促进无摩擦的“了解您的客户”(KYC) 程序进一步简化了流程。

供应链

借助智能合约可以提高供应链的可视性——提供跨品牌、零售商、物流和交易对手的货物跟踪。

保险理赔 

智能合约的另一个经常被引用的潜在用例是在保险领域,有一天,它可以通过使客户更轻松地进行索赔验证和管理,同时提供高效的再保险系统,从而有助于防止或减少保险欺诈。 

房地产 

智能合约可能会在房地产中找到很好的用例,因为它们可以帮助促进需要所有相关方的信任和透明度的可靠交易。智能合约可能会通过加快财产所有权变更流程、简化租赁和租赁协议的便利化以及确保整体安全的点对点交易来发挥作用。

结论——智能合约对于 Web3 来说是必不可少的吗?

虽然智能合约可能非常微妙,但它们是一项值得学习的创新。但是,在与智能合约交互时,请确保使用其相应的用户界面来完成交易,除非您具备直接与智能合约交互的技术知识。否则,如果没有正确的知识,一种可能的错误就是直接将资金发送到合约地址,这不会触发合约的功能,并且资金可能会永远丢失!

Tags: 智能合约