它是一种计算机代码,可简化某些协议的执行并消除对中间人的需求。以送货服务为例:智能合约可以在包裹到达后自动向快递员转账...

智能合约的流程是什么(什么是智能合约)(1)

智能合约经常与区块链一起被提及。随着区块链 2.0 的出现(这是 2014 年区块链获得比特币以外的第一个用例时),智能合约已成为该技术的宝贵补充。虽然本质上是高度技术性的,但它们并不一定难以理解。

在本指南中,我们将带您了解智能合约的基础知识。您将了解它们是什么、它们是如何工作的、它们适用于何处,甚至是编写它们的基础知识。

什么是智能合约

从最简单的意义上说,智能合约只是您常用合约的编程版本。其目的是在满足所有先决条件时自动触发先前已结算的合约。由于每个条件都必须手动编程才能执行,这可以显着减少旨在有利于一方的精美印刷量,即使是以另一方为代价。

智能合约的流程是什么(什么是智能合约)(2)

尽管我们现在所指的智能合约随着可编程区块链的实现而声名鹊起,但它们的历史要远得多。计算机科学家、律师和密码学家 Nick Szabo 在 90 年代首次提出智能合约作为一个概念。他将它们描述为“一组以数字形式指定的承诺,包括各方履行这些承诺的协议。” 除了目前的实施之外,智能合约还存在于其他地方:自动售货机被认为是该技术的初级版本,因为它们遵循一般原则,即通过正确的输入,可以保证一定的输出。

尽管名称如此,智能合约在法律看来不一定是有效的、具有约束力的协议,而传统合约往往如此。但是,在区块链的实施中,它们不需要。美国国家标准与技术研究院的解释将它们定义为“在区块链网络上使用加密签名交易部署的代码和数据(有时称为函数和状态)的集合”。这也是以太坊和类似区块链运作的定义。

对于那些了解什么是区块链的人来说,智能合约如何融入区块链的架构似乎是显而易见的。在一个完全去中心化的空间中,没有人拥有大量权力,没有中介机构和第三方来处理合规性和共识。正如我们前面提到的指南所解释的,共识是通过不依赖人工干预的预设机制达成的。程序的合规性和执行也是如此:智能合约是这些概念的程序化实现,消除了人们拥有这种权力的需要。

智能合约如何工作

然而,知道什么是智能合约并不一定能解释它是如何工作的。

最简单地说,智能合约是由定义在它们身上的不同功能组成的。用户通过触发特定功能的交易与他们进行交互。这些功能中的每一个都被详细定义,因此用户可以准确地了解他们将要做什么。

智能合约的流程是什么(什么是智能合约)(3)

网络用户定义智能合约。任何可以用智能合约语言编写代码的人都可以编写自己的代码,只要他们有足够的原生代币可以部署。成本本身取决于您部署的网络及其规定。

一个真实的例子是贸易协定。一旦双方讨论了细节(各自的回报、规定、任何可能使他们重新谈判交易的因素),他们通常会找到一个中立的第三方来确保一切都按信完成。然而,中立的第三方需要花钱——而且不能总是相信他们会保持中立,或者干脆不试图从这种情况中获得自己的优势。最简单的解决方案就是完全删除第三方。但是到时候谁来充当调解人呢?

这就是为什么人们总是偏爱只有机器才能实现的中立性。当前的技术进步仍然没有让机器人有自己的偏好和兴趣,因此它们通常被认为是解决这些问题的最佳解决方案。换句话说,编写智能合约可以让所有相关方公开透明地散列交易细节(因为智能合约无法做未明确编码的事情),从而防止潜在的渎职行为。这也降低了总体成本,因为与律师成本相比,部署和稍后触发智能合约的成本相对较低。

智能合约保证一切都将以编码的方式完成。由于它们不是非常复杂的程序,因此通常可以通过一些基本的编程知识来阅读和理解这些代码。这对于保持一切都在地面上并促进与网络中其他参与者的良好工作关系非常重要。

智能合约可以用来做什么

智能合约的最大优势之一是它们几乎可以用于任何事情,只要它们可以编程。当然,有些用例比其他用例更常见。一些最好的例子包括:

智能合约用例列表远非详尽无遗。但是,它仅用于展示超出许多人在听到该技术时所想到的广泛应用。有了正确的基础设施,智能合约可以远远超出此处概述的用例。

智能合约的好处

智能合约为您开展业务的方式提供的许多好处都可以从我们现在所展示的内容中推断出来。另一方面,有些超出了起初可能显而易见的范围。让我们仔细看看它们。

智能合约的流程是什么(什么是智能合约)(4)

使用智能合约的其他好处将取决于您的个人用例。最重要的是,它们都有一个共同点:它们让一切变得更容易。

潜在的缺点

当然,没有任何技术是灵丹妙药。对于区块链和智能合约来说尤其如此。由于它们仍然相对较新,并且解决了许多行业长期存在的问题,因此通常期望它们能够做的比实际做的要多得多。以下是智能合约可能面临的一些问题:

这些缺点中的每一个的重要性,就像我们列出的好处一样,取决于你实际使用智能合约的目的。尽管如此,如果您正在考虑使用智能合约,了解这些利弊有助于做出明智的决定。

什么是预言机?

在谈论区块链和智能合约时,我们多次表示两者的目标之一是消除对第三方的依赖。但是,在某些情况下,这是无法避免的。其中一种情况是,您需要将真实世界的信息输入智能合约,而无需不断手动查找。

智能合约的流程是什么(什么是智能合约)(5)

区块链预言机就是这样的第三方。它们充当链上数据(即区块链)与链下数据(即我们所说的现实世界)之间的链接。这有助于扩大智能合约的范围。如果没有预言机,智能合约将只能使用他们可以从区块链本身获得的信息进行操作,这并不多。

为了防止数据被操纵,预言机通常也是去中心化的。这意味着它们都在发送相同的数据,并且大多数发送的数据被认为是正确的。如果发现一个预言机经常与其他预言机非常不一致,则可以假定它是恶意的并受到惩罚。有许多不同类型的预言机,实现的类型将取决于网络及其用户的需求。

如何编写智能合约

要编写智能合约,您需要熟悉至少一种用于此目的的编程语言。在以太坊区块链上,您可以选择两种对开发人员友好的语言:Solidity 和 Vyper。你还需要gas:智能合约中的交易越复杂,它需要的gas就越多。每笔交易都指定了它愿意为运行某些代码支付的 gas 数量,因此支付的总费用等于使用的总 gas 乘以 gas 价格。

如何编写智能合约主要取决于您希望它做什么。它越简单,你就能越快完成,即使你的编程知识非常基础。网上有无数的教程可以帮助您入门。

合约必须在部署到区块链之前进行编译。编译还有助于确定您是否正确编写了所有内容以及它是否按应有的方式工作。

要了解更多信息,您可以参考以太坊网站,其中包含许多关于其智能合约如何工作的分步说明!

结论

正如本指南所示,智能合约是一种使原本必须手动完成的事情自动化的方法,区块链技术始终提供所有安全性、透明度和不变性。虽然它们有一些缺点,但智能合约仍然可以解决真正的问题,这意味着知道如何使用一个(甚至自己写一个!)可能是一项非常宝贵的技能。然而,对于初学者来说,简单地了解它们的工作原理是其余部分的一个很好的起点。

,