如何理性看待智能合约
就像近年来的"区块链"、"人工智能"和"云"一样,"智能合约"也是十分热门的话题之一。
通过智能合约能够实现:
· 自动、公正地执行合约;
· 无需中间人的介入。
在执行合约时,如果无需获得另一方的信任,那么事情的效率会更高。
那么,智能合约究竟是什么?在本文中,我将探究何谓智能合约,以及其运行原理。
智能合约是什么?
通常,合约是双方或多方对某件事达成的协议。
例如,Alice向Bob付钱租住他的房屋(即租金)。Charlie每月向Denise收取一定的费用,当Denise的车坏了时帮她维修(即车险)。
智能合约的不同之处在于,合约条款都是由计算机代码评估和执行的。例如,Alice同意支付500美元给给Bob,3个月后从他那购买沙发。这些代码可以确保Alice是否完成支付,以及是否收到沙发,而且双方都无法退出。
智能合约的关键特点是无需信任第三方,即你不需依赖第三方来执行合约条件。无需依赖对方言行一致,也需要依赖律师和法律体系解决违约问题。一旦出现问题,智能合约会确保合约的执行。
智能合约并不智能
“智能”似乎指合约天生具有智能性,但并非如此。智能合约的智能体现在,执行合约无需另一方的合作。确保合约的执行是智能合约的强大之处。
智能合约会考虑到所有情况,遵循合约精神,即使在最不明朗的情况下也做出公平的裁决。换句话说,智能合约像一名出色的法官。
智能合约并不简单
由于以太坊的大热,人们错误地以为智能合约只存在于以太坊中,这并不对。
从2009年开始,比特币就有智能合约语言Script。而智能合约实际出现在1995年,早于比特币。比特币的智能合约语言与以太坊的区别在于,以太坊是图灵完备的。也就是说,以太坊的智能合约语言Solidity能执行更复杂的合约,但分析难度更大。
虽然复杂的合约能够处理更复杂的情况,但是合约越复杂则越难保证和实施。
在图灵完备的情况下执行合约并不容易,而且很难进行分析。确保图灵完备的智能合约相当于去证明计算机程序不存在漏洞。这是很难的,因为目前几乎所有的计算机程序都存在一定程度的漏洞。
编写智能合约需要多年的学习和过硬的专业知识。但目前很多合约都是由新手写的,当中难免会出现一些问题。
在解决这个问题方面,比特币的做法是让合约不具备图灵完备性。这让合约更容易分析,因为这种情况下更易于列举和检查。
以太坊则是交给合约编写者,合约编写者需要确保合约按其意图执行。
智能合约不是真正的合约
虽然让编写者确保合约听起来不错,但这会带来一些集中性问题。
以太坊的理念是"代码就是法律"。也就是说,以太坊的合约具有权威性,没有人能否决。这个理念指的是,智能合约的开发者是独立的,如果你搞砸了自己的智能合约,那么后果自负。但当发生DAO事件时,这就行不通了。
DAO指的是"去中心化自治组织(Decentralized Autonomous Organization)",DAO在以太坊进行众筹。用户可以将资金存入DAO,并根据DAO投资获得收益。当以太币交易价格到达20美元左右时,DAO募集了1.5亿美元的以太币。
这在理论上听起来不错,但有一个问题。由于代码没有得到很好的保证,导致有些人利用合约的漏洞,从DAO中牟利。
之后,以太坊不再遵循代码就是法律的理念,并将DAO中的所有资金归还。另外,开发人员不在使用图灵完备性。ERC20和ERC721成为以太坊中使用最为频繁的智能合约模板,这两种合同都可以在没有图灵完备性的情况下编写。
智能合约的问题
即使没有图灵完备性,智能合约依然是不错的选择。那么比起普通合约,智能合约更容易使用吗?
例如,智能合约能用于房地产吗?
通过智能合约,Alice可以证明房子的所有权。Bob可以通过付钱给Alice购买房子。当中没有所有权的问题,而且能快速执行,不需要律师等第三方介入,听起来不错吧?
但是,这里存在两个问题。首先,通过集中的组织执行的智能合约并不是去信任的。你仍然需要信任集中的组织。去信任是智能合约的关键特征,因此集中执行并不合理,实际上你需要的是一个去中心化平台。
这就带来了第二个问题。在去中心化的情况下,只有当数字版本与实体版本间存在明确联系时,智能合约才有效。也就是说,当房子数字版本的所有权改变时,实体版本的所有权也必须改变。数字世界需要"了解”现实世界的情况。
当Alice将房子转让给Bob时,智能合约需要知道房子发生了转让。有几种方法可以做到这一点,但都面临相同的问题,现实世界中,必须有信任的第三方来进行验证。
例如,房子可以表现为以太坊上不可替代的代币。Alice可以通过将房子转给Bob获得一定数量的以太币。那么问题来了,Bob需要相信代币代表房子,而且需要确保获取代币意味着房子所有权转给他。
此外,即使政府机构证明代币代表房子,但如果代币被偷了,那会怎么样?房子会属于小偷吗?如果代币丢失怎么办?房子不能再出售了吗?房子代币可以重新发行吗?如果可以,由谁发行呢?
在去中心化的情况下,将数字与实物资产联系起来都是个难题。你名下的实体资产意味着,除了智能合约,你还需要信任第三方。也就是说,拥有智能合约并不意味着拥有实体资产,而且会遇到普通合约相同的信任问题。信任第三方的智能合约则消除了去信任化这个最关键的特性。
即使是电子书,医疗记录或电影等数字资产也面临同样的问题。这些数字资产拥有权还是有一些权威机构决定。
只有数字化无记名产品则没有这个问题。代币的所有权在智能签约平台之外,不具有依赖关系,这才能真正实现去信任化。
结语
智能合约并不是我们预期中的那么有用。
此外,图灵完备性会带来一些意想不到的问题。因此,智能合约需要避免这个问题,DAO事件也证明了这个情况。
智能合约仍然面临一些问题,比如难以确保和实现去信任化。目前只有当用于比特币等去中心化平台时,智能合约才能有效发挥其作用。