假设有这样一个场景,Alice将房屋作为以太坊上不可替代的Token,通过原子交换,将房屋转租给Bob, Bob需要每月支付一定数量的比特币。有一个前提,Bob相信获得代表房屋的Token就可以获得房屋的所有权。但试想,如果Token被偷了,房屋就属于偷窃者吗?如果Token丢失了,房屋就不能再出租吗?
真正的智能合约需要完全舍弃第三方信任,需要保证数字世界与现实世界的真实匹配。
Jimmy Song 是一位教育家,开发者和企业家,专注于比特币等数字货币研究,本文中,他将智能合约与现实事件结合,讨论智能合约在现实场景中的局限性,告诉你智能合约并非智能。
那么,智能合约到底存在哪些问题?为什么说智能合约不智能呢?让这篇文章告诉你真正的智能合约是怎样的。
作者 | Jimmy Song(比特币教育家、开发者、企业家)
编译 | kou
与"区块链"和"人工智能"一样,"智能合约"也是人们争相谈论的热门话题。
利用智能合约可以做到:
自动、无需信任和公正地执行合同
在合同建设,合同执行和合同执行中取消中间人
未来不再需要律师
为什么人们对区块链会产生如此强烈的兴趣?这是因为,在执行合约过程中,如果不再需要第三方信任,做事效率就会得到极大的提升。
那么,智能合约到底是什么?它真的可以简化未来的工作方式吗?也可以提升未来的工作效率吗?
什么是智能合约?
一份正常的合同是联系两方或更多方之间的某种协议。在租赁方面,Alice会因租住Bob的房屋而给Bob一笔钱;在汽车保险方面,因收取Denise每月支付的汽车保险,Charlie同意修复Denise汽车的任何损坏。
与普通合约相比,智能合约的不同点在于,待判别条件的评估与执行都需借助计算机代码完成,不再需要建立(与第三方的)信任关系。那么,如果Alice购买一套沙发需要支付给Bob 500美元,要求3个月之内进行交付,就会触发智能合约代码,自动判断Alice是否给与Bob 500美元以及是否三个月内完成交付,执行过程中,双方无法自行更改交易。
执行智能合约时,无需信任第三方,不需要第三方去确认各类条件。智能合约执行的是实时的、客观要发生的事情,而不是依靠第三方兑现他们的言论,甚至更糟糕的是,如果出现问题,依靠律师和法律制度来纠正问题。
智能合约,有时也是非常愚蠢的
“smart”一词总会让人觉得智能合约会很智能。然而,真实情况,往往并不是这样的。也许,智能合约的独特之处就在于不需要第三方确认。
智能合约可以确保将未支付房租的租客锁在公寓之外,而不会出现未交房租但仍可居住这样的结果后再将其强制踢出门外的情况。按照合约已既定结果的强大执行力是智能合约的独特之处,而不是智能合约本身存在什么智能。
真正智能的合约会考虑到所有情有可原的情形,参照合约本质,制定出任何情况下都显得十分公平的规则,换句话说,一个真正智能的合约会如同经验丰富、水平极高的法官一样可靠。
然而,事实恰恰相反,智能合约根本不智能。
智能合约是完全基于制定规则的,除了合约之内的条条款款,并不会进行其他方面的考虑,这是不符合法律本质的。
换句话说,如果按照智能合约内容进行价值判断,永远不会带有任何“情感”。
智能合约,貌似并不简单
受以太坊社区对智能合约大量集中宣传的影响,也许你会认为,智能合约只应用于以太坊平台之上,这种看法是错误的。
以比特币为例,从2009年开始,就出现了一种非常广泛的智能合约语言——Script。事实上,智能合约的出现可以追溯到1995年,是早于比特币的。
唯一的差别就是,相比于比特币智能合约,以太坊的智能合约是图灵完备的。
注:在可计算性理论里,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机)可以用来模拟单带图灵机,那么,它就是图灵完备的。
虽然借助合约可以处理更复杂的情况,但是保证和实施变得越来越难。
通过智能合约,安全性意味着处理合约执行的所有可能方式,并确保合约按照制定者的意愿执行。
左上:甲:为了安全,我说我们得雇个人……
乙:打住,这不是首要任务。我们得先开始做项目,这事到时候再说。
右上:甲:嗨,快结项了,我们得做一个安全检查。
乙:太晚了伙计,我们既没有时间也没有预算。
左下:甲:这个网站已经上线10天了,我们还是没做任何安保措施。我有点紧张……
乙:别担心,我们到时候再处理。
右下:乙:崩溃了!网站崩溃了!我们被黑了!
乙:你怎么能让这种事发生!?
图灵完备下的智能合约非常难以分析和执行。确保智能合约的图灵完备性,相当于证明计算机程序不存在任何bug,这是极为困难的。
普通的纸质合同,也需要经验丰富的人去制定。智能合约也是这样,但目前的情况是,任何人,包括IT新人,都可以去写智能合约,事实上,有些人并不懂需要什么样的安全保障。
从各种已被证明的存在缺陷的智能合约中就可以清楚地看出这一点。
智能合约,并不是真正的合约
将确保合约安全性的责任“丢”给合约制定者,在理论上,听起来确实不错,但仍会带来一些中心化问题。
以太坊的理念是" Code is Law "。也就是说,以太坊的合约具有权威性,没有人可以去否决它。
智能合约的开发者是彼此独立的,如果你的智能合约出了问题,你需要自己承受后果。
但当 The DAO事件发生后,情况改变了。
DAO是Decentralized Autonomous Organization(分布式自治组织)的简称,The DAO是一个基于以太坊区块链平台的迄今为止世界上最大的众筹项目。其目的是让持有The DAO代币的参与者通过投票的方式共同决定被投资项目,整个社区完全自制,并且通过代码编写的智能合约来实现。于2016年5月28日完成众筹,共募集1150万以太币,在当时的价值达到1.49亿美元。
事实上,黑客找到了一种不遵循合约制定者意愿就可以获取钱财的方式。
然而,并不能将他们称之为真正的黑客,他们只是在自己擅长的领域找到了智能合约的漏洞而已。
DAO事件之后,“Code no longer is Law”,以太坊开发者将所有进入DAO的资金还原。
我年轻时虚度年华,所以我想申请政府救助
图灵完备的智能合约,已经被证实是很难维护的。
因此,以太坊开发人员不再刻意去追求智能合约的图灵完备性。
目前,以太坊中使用最多的智能合约模板是图灵不完备的ERC20和ERC721。
系统了解 ERC-20、ERC-721等协议,请单击超链接
智能合同,只适用于数字载体
即使放弃图灵完备性,智能合约听起来也还不错。毕竟,没有人喜欢必须通过法律才能获得本属于他的东西或权利,相比于普通纸质合约,智能合约使用起来真的更容易吗?
比如,智能合约真的能用于房地产吗?通过智能合约,可以证明Alice拥有房子的所有权,Bob通过付钱给Alice获得房子的使用权,合约保证交易能快速执行,且不需要律师等任何第三方的介入,听起来真的很不错!
但是,仍然存在两个问题。
通过中心化组织执行的智能合约并没有做到去信任,你仍然需要信任这个中心化组织。去信任是智能合约的关键特征,因此中心化执行并不合理,实际上你需要的是一个去中心化平台。
在去中心化的情况下,只有当数字合约内容与现实真实情景间确实存在一些确定联系时,智能合约才有效。也就是说,在智能合约中房屋所有权发生变更时,现实中的房屋所有权也必须发生了改变。
数字世界需要保证与现实世界的完美契合。
当Alice将房子转让给Bob时,智能合约需要匹配真实情况。
现实中,可以做到数字世界与现实世界的真实匹配,但面临着一个问题,现实世界中,必须有可信任的第三方来进行验证。
左上:甲:从松鼠们宣布他们的资本进入开始,市场发生了很多变化。
右上:甲:许多小公司用橡子买我们的股票,现在我们的股权只有不到50%了。
左下:甲:等等,这些小公司都由松鼠控股,也就是说……
右下:甲:我们被松鼠控股了!!
乙:我希望我的办公室能多布置些木头。
比如,将房屋作为以太坊上不可替代的Token,Alice可以通过原子交换,将房子转给Bob,获得一定数量的以太币。
这就存在一个很关键的问题,Bob需要相信这种Token可以代表Alice的房屋,相信获得代表房屋的Token就可以获得房屋的所有权。
此外,即使政府机构证明Token可以代表房屋,但试想,如果Token被偷,房子就属于偷窃者吗?如果Token丢失,房屋就不能再出售了吗?房屋Token可以重新发行吗?如果可以,由谁发行呢?
在去中心化环境下,无论是水果,汽车还是房屋,将数字资产与实物资产联系起来,是一个很难解决的问题,
对于实体资产交易,除了信任特定的智能合约之外,你还需要信任自身所处环境的司法管辖。
也就是说,拥有智能合约并不意味着拥有实体资产,你会遇到普通合约相同的信任问题。
依赖第三方信任的智能合约丢失了其去信任化的关键特性。
即使是电子书,医疗记录或电影等数字资产也面临着同样的问题。
只有数字化无记名票据才能真正“舍弃”第三方信任。代币的所有权在智能签约平台之外,不具有依赖关系,这才能真正实现去信任化。
因此,智能合约并不像我们想象的那么有用。
目前,智能合约难以确保和实现去信任化,存在太多的外部依赖关系,只有用于比特币等去中心化平台时,智能合约才能有效发挥其作用。
原文链接:
https://medium.com/@jimmysong/the-truth-about-smart-contracts-ae825271811f
最新热文:
这45个场景,正在被区块链抽筋扒皮…
80万年薪挖不来一个区块链工程师的背后,传统IT人转型意愿高达80%,转型潮却远未到来...
几乎所有钱包都有致命漏洞,黑客接触手机2分钟,就能转走币
太简单!只学十分钟,Python菜鸟也能开发一个区块链客户端
了解更多区块链技术及应用内容
敬请关注: