前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何理性看待智能合约

如何理性看待智能合约

作者头像
CDA数据分析师
发布2018-07-30 16:16:36
3940
发布2018-07-30 16:16:36
举报
文章被收录于专栏:CDA数据分析师

作者 Jimmy Song

编译 Mika 本文为 CDA 数据分析师原创作品,转载需授权

就像近年来的"区块链"、"人工智能"和"云"一样,"智能合约"也是十分热门的话题之一。

通过智能合约能够实现:

· 自动、公正地执行合约;

· 无需中间人的介入。

在执行合约时,如果无需获得另一方的信任,那么事情的效率会更高。

那么,智能合约究竟是什么?在本文中,我将探究何谓智能合约,以及其运行原理。

智能合约是什么?

通常,合约是双方或多方对某件事达成的协议。

例如,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事件也证明了这个情况。

智能合约仍然面临一些问题,比如难以确保和实现去信任化。目前只有当用于比特币等去中心化平台时,智能合约才能有效发挥其作用。

原文链接:

https://medium.com/@jimmysong/the-truth-about-smart-contracts-ae825271811f

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CDA数据分析师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档