第三财经网
首页 > 区块链 > 文章正文

什么是智能合约?如何运行?有什么优点?

第三财经网 2025-03-09 09:19 884

欧易交易所

欧易交易所

软件大小:268.26MB

软件版本:v3.4.2

智能合约是运行在区块链上的自动化合约,它们是由编程代码编写而成,可以自动执行、验证和执行合同条款,智能合约不需要第三方信任,而是依赖区块链的安全性和不可篡改性,确保了合同的执行和交易的安全

什么是智能合约?20世纪90年代,Nick Szabo首次提出智能合约的概念。当时,他把智能合约定义为通过结合协议与用户界面,规范和保障计算机网络安全的工具。

Szabo探讨了把智能合约运用于合同协议相关各领域的潜 在用途,例如信用体系、支付流程和内容版权管理。

在加密货币领域,智能合约可界定为运行在区块链中的应用或程序。通常,它们作为一种遵循特定规则强制执行的数字化协议发挥作用。这些规则由计算机代码预定义,经所有网络节点复制和执行。

区块链智能合约支持创建去信任化协议。这意味着合约双方通过区块链做出承诺,而无需相互了解或信任。双方确定,如果没有达到条件,合约不会执行。此外,使用智能合约不再需要中间机构,从而显著降低运行成本。

虽然智能合约已由比特币协议支持多年,但借由以太坊创造者兼联合创始人Vitalik Buterin之手才普及开来。值得注意的是,各个区块链实施智能合约的方式有所不同。 

本文将重点介绍运行在以太坊虚拟机(EVM)中的智能合约,而以太坊虚拟机是以太坊区块链的重要组成部分。下面就和第三财经网小编一起详细了解下吧!

智能合约如何运行?

简单来说,智能合约是一种确定性程序,会在满足某些条件时,执行特定任务。因此,智能合约系统通常遵循“如果……就……”的条件语句。虽然“智能合约”这个概念已广为人知,但它其实既非法定合约,也不智能。它们只是运行在区块链分布式系统中的一段代码。

在以太坊网络中,智能合约负责执行和管理用户(地址)彼此交互时的区块链操作。智能合约以外的地址称为“外部账户(EOA)”。因此,智能合约由计算机代码控制,而外部账户(EOA)由用户掌控。

以太坊智能合约基本上由合约代码和两个公钥组成。第一个公钥由合约创建者提供,另一个公钥即为合约本身,用作每个智能合约的唯一数字标识符。

所有的智能合约部署都通过区块链交易进行,只有在外部账户(EOA)或其他智能合约被调用时才会激活。但是,智能合约一般由外部账户(EOA),即用户首次触发。

智能合约的历史与起源

以太坊的设计部分是为了扩展比特币的智能合约功能。这使得以太坊网络成为一个“图灵完备状态机”——本质上是一个对所有人开放的共享计算机。该网络上的智能合约理论上可以执行常规计算机程序所能进行的任何计算,可能承载各种应用程序,如消息应用、游戏甚至社交媒体平台。

然而,当前的去中心化网络在速度和成本上存在限制,限制了它们能够支持的应用类型。更多内容可以在我们的区块链三难问题文章中找到。还需要注意的是,以太坊只是众多旨在创建共享、可访问计算平台的网络之一。

为什么智能合约很重要?

智能合约使开发人员可以构建各种各样的去中心化应用程序和代币。它们适用于各种用途,如创新金融工具、物流和游戏体验,并且像任何其他加密交易一样,它们都存储在区块链中。一旦将智能合约应用程序添加到区块链中,通常就不能将其撤消或更改,但也有一些例外。

基于智能合约的应用程序通常被称为“去中心化应用程序”或“dapps”,它们包括旨在改变银行业的去中心化金融 (DeFi) 技术。DeFi 应用程序使加密货币持有人可以进行复杂的金融交易,包括储蓄、贷款、保险等,而且无需银行或其他金融机构在世界任何地方参与其中。当前一些比较流行的由智能合约驱动的应用程序包括:

  • Uniswap:一种去中心化交易所,允许用户通过智能合约交易某些类型的加密货币,而无需任何中央机构来设置汇率。

  • Compound:使用智能合约让投资者赚取利息,借款人立即获得贷款而无需中间银行的平台。

  • USDC:通过智能合约与美元挂钩的一种加密货币,从而使一个 USDC 兑换 1 美元。USDC 是电子货币的较新类别,被称为稳定币。

那么,您将如何使用这些由智能合约驱动的工具?想象一下,您持有一些以太坊,并希望兑换为 USDC。您可以在 Uniswap 中放入一些以太坊,然后通过智能合约自动找到最佳汇率,进行交易并向您发送 USDC。然后,您可以将部分 USDC 放入 Compound 中以借给其他人,并获得算法确定的利率——所有这些操作都无需银行或其他金融机构介入。

在传统金融中,货币交换既昂贵又耗时。对于个人而言,将其流动资产借给世界另一端的陌生人并不容易,也不安全。但智能合约能够实现这两种以及大量其他使用场景。

关键特性

以太坊智能合约具有以下常见特征:

分布式。智能合约在以太坊网络的所有节点中复制和分布。这与其他基于中心化服务器的解决方案截然不同。

确定性。满足要求时,智能合约仅执行预先设计的操作。而且,无论由谁执行,结果均保持一致。

自主性。智能合约相对于“自执行”程序,会自动完成各种任务。大多数情况下,未触发的智能合约保持“休眠”状态,不会执行任何操作。

不变性。智能合约在部署后无法更改。只有实现特定功能后,智能合约才可“删除”。所以,我们不妨说,智能合约提供防篡改代码。

定制化。部署之前,智能合约通过各种各样的方式编码。因此,可用于创建种类繁多的去中心化应用程序(DApp)。这与以太坊属于图灵完备区块链这一事实息息相关。

去信任化。在无需相互了解或信任的情况下,两方或多方可通过智能合约交互。此外,区块链技术将确保数据准确无误。

透明性。智能合约的基础是公共区块链,因此源代码不仅不可篡改,而且对所有人公开透明。

智能合约是否可更改或删除?

一经部署,以太坊智能合约无法再添加新的函数。但是,只要合约创建者在代码中预留了“SELFDESTRUCT”函数,该函数之后即可“删除”智能合约,并用新合约取而代之。如代码中未预留该函数,则智能合约无法删除。

值得注意的是,通过所谓的可升级智能合约,开发人员对合约的不变性可进行更灵活的操作。创建可升级智能合约的方式多种多样,每种的复杂程度都有所不同。

举个简单的例子,假设一个智能合约划分为多个较小的合约。某些部分设计为不可变更,而其他部分启用“删除”函数。也就是说,部分代码(智能合约)可删除和替换,而其他功能保持不变。

为什么在去中心化网络上使用智能合约?

你可能会疑惑为何有人会选择去中心化网络而不是像亚马逊网络服务(AWS)这样的集中化云计算服务,尤其是在后者具有速度快且价格实惠的情况下。答案在于为这种速度和成本做出的权衡。

去中心化网络上的智能合约提供了更高的安全性和透明度。由于任何人都可以验证网络上的信息,因此不太需要信任像银行这样的中央机构。这降低了欺诈、黑客或错误的风险,因为合约的执行是公开可验证的。

虽然并非所有应用程序都需要这种无信任性,但对于涉及资金或资产的用例,这种特性特别有价值。例如,数字交易卡游戏、资产交换平台或加密资产的发送和接收系统,都可以从智能合约的安全性和透明度中受益。

智能合约的工作原理

可以把像以太坊这样的去中心化网络想象成一个巨大的共享计算机。智能合约就是在这台计算机上运行的程序。开发人员用编程语言编写这些合约,然后将其部署到网络上。

部署智能合约意味着在网络上创建一个特殊的地址。任何人都可以通过向其地址发送网络的本地代币来与该合约交互。对于以太坊,这将是ETH。这会触发合约的代码,根据预定义的规则自动执行,就像常规编程中的“如果这样,那么那样”序列。

例如,一个简单的以太坊智能合约可以被编程成将发送到其地址的1 ETH分成12等份,每月发送到指定地址,实际上充当信托基金。

本质上,智能合约可以在某些情况下消除对中介的需要。在我们的信托基金例子中,我们绕过了律师和托管账户的需要。我们只需信任代码按预期执行协议即可。

智能合约正在被越来越复杂的方式使用,以创建去中心化应用(dApps),实现无许可资产交换,甚至让玩家对数字资产拥有真正所有权的游戏。

优势和用例

作为可编程代码,智能合约高度可定制,设计方式众多,提供丰富多样的服务和解决方案。

作为去中心化和自执行程序,智能合约可提高透明度并降低运行成本。根据具体实施情况,智能合约还可提高实施效率并降低繁琐费用。

涉及到两方或多方的资金转账或交易,智能合约尤为实用。

换句话说,智能合约可针对丰富的用例量身打造,包括创建代币化资产、投票系统、加密货币钱包、去中心化交易平台、游戏和移动App。智能合约还可与其他区块链解决方案共同部署,覆盖医疗保健、慈善、供应链、治理和去中心化金融(DeFi)等领域。

ERC-20

以太坊区块链发布的代币遵循ERC-20标准。该标准规定所有以太坊代币的核心功能。因此,这些数字资产通常称为“ERC-20代币”,在现有加密货币中占有很大的比重。

许多区块链公司和初创公司都部署了智能合约,以便在以太坊网络中自主发行数字代币。代币发行后,大多数公司通过首次代币发行(ICO)来分配自家的ERC-20代币。大多数情况下,使用智能合约即可通过去信任化的方式,有效实现资金交易和代币分配。

局限

智能合约由人工编写的计算机代码组成。代码会存在缺陷与漏洞,将带来诸多风险。按照理想的做法,智能合约应由经验丰富的程序员编写部署,涉及敏感信息和巨额资金时更该如此。

除此之外,有人认为中心化系统就能提供智能合约的绝大多数解决方案和功能。主要区别在于智能合约运行于分布式P2P网络中,而不是中心化的服务器。而且,智能合约以区块链系统为基础,因此往往不可篡改或难以更改。

智能合约的不变性优势明显,但在某些情况下却适得其反。例如,去中心化自治组织“The DAO”于2016年惨遭黑客攻击,数百万枚以太币(ETH)不翼而飞,其原因就是智能合约代码存在缺陷。

由于智能合约不可变,开发人员无法修复代码。这最终导致了硬分叉,第二个以太坊链由此诞生。简言之,一条链(当前以太坊区块链的一部分)“恢复”到黑客攻击之前的原样,将资金返还原主。另一条链(现在称为“以太坊经典”)则决定不干预黑客攻击,坚称区块链中发生的事件永远不应并篡改。

需要注意的是,该问题并不是由以太坊区块链造成,而是因智能合约的错误执行所引发。

智能合约的另一局限性则与其不明确的法律效应相关。智能合约在大多数国家都处于灰色地带,而且还不适用于当前的法律框架。

例如,许多合约要求交易双方需通过恰当的实名认证且年龄超过18周岁。但区块链技术具有匿名性,加之缺少中间机构,就会与合约要求相冲突。应对该问题的解决方案未来或许会出现。但智能合约运行于无国界的分布式网络中,法律执行难度非常大。

弊端

有些区块链爱好者把智能合约视为即将取代现有大部分商业和官僚系统的自治解决方案。虽然这个想法可能会实现,但要成为常态还任重而道远。

智能合约确实是一项有趣的技术。但是,分布式、确定性、透明性和不变性等特征有时反而降低了智能合约的吸引力。

智能合约的本质弊端在于其并不能很好地解决诸多现实问题。事实上,有些机构目前使用传统的服务器解决方案才是权宜之计。 

与智能合约相比,中心化服务器的维护更容易,成本更低,并且在速度和跨网络通信(互操作性)方面往往具有较大优势。

代币销售与智能合约

智能合约最常见的用途之一是进行代币销售。代币销售,有时被称为首次代币发行(ICO),是新加密货币或代币的初始分发阶段。

代币销售具有多个目的:

  • 分发: 允许项目向支持者社区分发代币。
  • 社区建设: 帮助社区围绕共享项目及其目标进行对齐。
  • 筹资: 可用于为项目开发筹集资金。

智能合约用于定义代币销售的规则,例如代币价格、可用代币数量和归属时间表(代币如何以及何时分发给买家)。这确保了一个公平和透明的过程。

空投与智能合约

空投是项目使用智能合约分发代币的另一种方式。在空投中,项目向符合特定标准的用户发送免费代币,例如持有特定资产或使用特定平台。

智能合约可以自动化确定空投资格和分发代币的过程。这确保了公平和透明,因为规则是预定义的并且在区块链上公开可验证。

智能合约的未来

智能合约仍然是一种相对较新的技术,但它们有可能彻底改变我们的互动和商业方式。随着技术的不断发展,我们可以期待看到更多创新和有影响力的用例出现。

智能合约未来的一些潜在应用包括:

  • 供应链管理: 跟踪产品并验证其在供应链中的真实性。
  • 投票和治理: 创建更安全和透明的投票系统。
  • 去中心化身份: 管理和验证身份而无需中央机构。

随着区块链技术和智能合约的成熟,它们有潜力以前所未有的方式变革行业和赋能个人。

总结

毫无疑问,智能合约对加密货币领域产生了深远影响,也确实为区块链领域带来了重大变革。终端用户不一定直接与智能合约交互。但在不久的将来,智能合约的应用会更广泛,将覆盖金融服务、供应链管理等各个领域。

智能合约和区块链几乎共同颠覆了当今社会的所有领域。但只有时间才能证明,这些突破性技术是否能突破重重障碍,最终实现大规模普及。

以上就是第三财经网小编给大家分享的智能合约的详细介绍了,希望大家喜欢!