目录

什么是智能合约 ?

概述

你是否听说过“代码即法律”?就是用程序来执行规则。 如果真是这样,我们还需要律师吗? 我们可以生活在一个完全自动化的世界,代码决定了我们能做什么、不能做什么。 随着当前区块链智能合约的发展,这种场景可能比我们想象的更近。

智能合约是什么?

智能合约是一段以确定的方式自动执行的代码, 通常在区块链上存储和执行,使其安全并且无需信任。 智能合约具有接收、存储、发送资金,甚至调用其他智能合约的能力。 它们遵循 if-then 语义,这使得智能合约非常容易编写。

智能合约旨在消除决策中的人为因素。 在传统合同中,人为因素通常被证明是最容易出错和不可靠的因素。

现在我们用自动售货机来类比智能合约,它们有一些相似之处。 典型的自动售货机程序允许某些确定的操作,并且可以根据输入进行状态转换, 它以完全确定的方式运转。 例如,如果你想买一罐 2 美元的可乐,但你只投入1美元,无论你尝试多少次都无法得到饮料。 相反,如果你投入 3 美元,机器会给你一罐可乐和合适的零钱。 即使是找零,也是机器通过编写程序预先定义的。

智能合约可以完全依赖区块链上可用的信息,例如,如果你给我 10 个Token A,我会给你 10 个Token B(假设两个Token在同一条区块链上,Token可以是普通的Token,也可以是N FT,它可以是现实在区块链上的一种映射)。智能合约也可以依赖区块链外的数据源,例如以太坊价格或上证指数价格。 依赖外部数据将使智能合约变得更加困难,因为它们必须信任现实世界的数据。 通过使用预言机服务可以最小化所必须的信任,但即使是预言机服务,其本身也必须是可信的。 有一些项目通过某些激励措施来使预言机更有可能提供正确可信的数据。 Chainlink 在该领域目前属于领跑者,后面我们会专门来讲预言机和Chainlink的原理。

以太坊和其他链的智能合约

以太坊是一条很典型的区块链,它支持智能合约,并支持程序员实现自己的智能合约,并为此创建Solidity语言来专门编写智能合约程序。在以太坊中,所有部署的智能合约都是不可变的,一旦部署它们就无法修改,这会产生某些风险,我们稍后讨论。 以太坊上的智能合约也是去中心化的,这意味着没有一台机器能控制合约。 事实上,以太坊网络的所有节点都存储相同合约和相同的状态。

虽然以太坊是目前最流行的通用智能合约平台,但它并不是唯一的,它的竞争对手也不少,例如 Cardano、Tezos、EOS、BSC,DFINITY,都具备独有的特性。

传统合同的问题

智能合约一词是由著名的密码学家尼克·萨博在 1990 年代初期创造的。 这个名字虽然不是很好理解,但它在区块链行业中很常用

为了理解智能合约的好处,我们假设一个场景与传统领域对比。

假设我们要编写以下合约。

如果 Alice 发送 X 个Token A 而 Bob 发送相同数量的代币 B,则代币将被交换,Alice 将收到 Bob 的代币,Bob 将收到 Alice 的代币。

如果Alice和Bob需要交换Token,Alice发送X个TokenA给Bob,则Bob就发送X个TokenB 给 Alice。

在没有智能合约世界中,Alice和Bob不需要互相信任,就可以完成交换的一种方式是,与第三方创建托管合约。 第三方将从 Alice 那里收集Token A,等待 Bob 提供相同数量的Token B,然后向 Alice 和 Bob 各自发送他们的交换代币,Alice和Bob交易完成。

我们可以想象下 Alice 和 Bob 可能面临的一些问题。

信任中介

无法保证第三方在收到 Alice 和 Bob 的资金后不会丢失资产,或者带着资产逃跑。 我们只能依靠中介的声誉或者某些保险。 这种方法不是确定性的,如果出现差错,它可能会由于多种因素而产生不同的结果。相反,智能合约会以完全自动化、确定的方式运作,确保双方在满足条件时都能收到资金。 智能合约本身也可以持有资金,这在传统世界中是不可能实现的。

效率

由于中间人的存在,Alice 和 Bob 可能需要等待几天或几周才能完成Token的交换。 或者他们想在周日进行交换的话, 中介是否还在工作? 有了智能合约,这些问题都会消失,并且可以在满足起始设置的条件后,几秒钟内就完成。

成本

传统合约不仅因为中介要从中获利成本高昂,而且如果合同出现任何问题,还存在仲裁和执行等巨大的隐性成本风险。

可复用性

其他想要交换Token的人,都可以使用交换 Alice 和 Bob Token的智能合约。 在传统世界中,他们必须单独签署的合约并向中介支付各自的费用。

欺诈

这是中介本身的另一个隐含成本。 在交换之前,中介必须确保 Alice 和 Bob 的代币都是合法的。 欺诈在传统金融中非常普遍,大多数公司都拥有庞大的风控团队,只是单纯的防止公司受到欺诈。 而智能合约,可以通过数字签名在区块链上验证代币,可以很明确的判断 Alice 和 Bob 是否都有资格花费他们各自的代币。

使用案例

智能合约的用途越来越多,支付、去中心化金融、供应链、众筹、NFT。 智能合约也是去中心化应用程序(Dapp) Da的基本构建块。 我们谈几个智能合约的例子。

去中心化金融(DeFi) 是严重依赖智能合约的新兴行业之一。 在这个空间中已经建造的一些东西包括。

去中心化稳定币

通过巧妙地使用智能合约加某些激励措施,我们可以创建与美元挂钩的稳定币,而无需在现实世界中存储美元。 MakerDAO 是稳定币的代表公司之一。

流动性提供商

一些智能合约可以让用户以无需许可,完全去中心化的方式提供流动性和交换代币。 Uniswap 或 Kyber Network 是此类协议代表。

众筹

在众筹方面,您可以想象一个合约,一旦社区通过验证满足了某些目标,就会自动解锁资金。

远不止于此,也可以想象一些更具未来感的例子。比如可以通过智能合约促进拼车、公寓租赁等等之类的事情。

慈善

智能合约在慈善上, 你可以想象一个完全自动化的基金,它可以在没有任何中间人的情况下直接向最需要的人汇款。 例如,该基金可以确定某个地区遭受飓风袭击,并将资金重新定向到那个地区。 就目前而言,这听起来很不可能,但是这种事情素需要的一切区块链正在构建和完善。

智能合约的用途几乎是无限的,后面的视频我们会再继续介绍智能合约的方方面面。但在实现这些之前,我们必须解决一些问题。

风险

智能合约的主要风险之一是困扰所有其他软件的问题——BUG。

漏洞

智能合约有名的漏洞是 DAO 攻击,黑客能够从智能合约中提取资金,导致价值数百万美元的以太币损失。 这导致以太坊硬分叉,并在以太坊社区中引起了很多分歧。

Protocol changes.

协议变化

即使智能合约经过多轮审核没有任何错误,我们仍然不能保证平台级别的变更不会导致其他问题。可能会存在这种情况,以太坊协议的升级,可能会导致某些智能合约和预期行为不一致。

和现实世界的交流

通过预言机和现实世界交流不是很容易

确实,预言机提供了一种可信的方式将信息从现实世界获取到区块链中。 例如,它们可以提供现实世界中以太坊或上证指数的价格。 但是其他的场景,比如你租了一间公寓或一辆汽车,并造成了一些意外损坏。 智能合约在没有人为干预的情况下如何知道这些损坏? 这样的例子还很多。

除了上述风险之外,监管或税收等方面也存在风险,但事物总是在进步,问题也总是朝着解决的方向前进。

智能合约和律师

回到我们的主题,真的可以用代码代替律师吗?

不完全是,至少现在不是。

但是在可见的未来,肯定会有越来越多的合同被自动化,尤其是在金融方面。不过即使在一个完全自动化的世界里,律师也可以提供可以转化为代码的宝贵知识。

另外,在涉及加密行业的法律方面依然存在许多监管挑战,这将使律师在一段时间内非常忙碌。

尽管如此,如果我是一名律师,我会开始考虑更多地了解智能合约和编码,因为我相信它们将在未来发挥重要作用。

总结

让我们快速总结一下智能合约的优缺点。

Pros Cons
fully automated software bugs
deterministic results protocol changes
trustless unclear regulation
fast unclear tax
precise
secure
cost efficient
transparent

尽管智能合约存在一定的风险,但我们必须记住,我们还处于早期阶段,目前遇到的大多数问题都是可以解决的。

如果您对视频有任何疑问或对下一篇文章有任何建议,请留言评论。