观点 | 以太坊“智能合约”太天真,比特币才是真正的智能合约平台
写在前面:原文作者是来自斯坦福法学院的Conner Brown,其认为 以太坊 等平台的智能合约存在5大根本性问题,因此并不是真正意义上的合同,然后他还解释了比特币的 闪电网络 如何解决这些问题。其总结称,简单性对于智能合约是至关重要的,因为它构成了可预测执行的基础,因此其预测那些使用率和价值最高的智能合约将以类似的方式构建,并利用比特币作为载体。
原文标题为:《Bitcoin: The Blockchain for Truly Smart Contracts》
以下是译文:
智能合约听起来是很有吸引力的,裁掉律师、减去无休止的文书工作以及高昂的法律费用,这些诱惑正是吸引我去学习加密货币的原因。不幸的是,我的梦想很快就破灭了。很明显,现实中的智能合约并没有达到炒作宣传的程度,“智能合约平台”在合同性质上存在根本问题。
很多人都遇到过这些问题,然后断定说智能合约是永远行不通的。事实上,比特币已经做出了正确的设计选择,它使得智能合约在其他人失败的情况下成为可能。
在这篇文章中,我将介绍合同的基本知识,然后解释天真的“智能合约平台”存在的问题,最后展示比特币是如何让智能合约的梦想继续存在。
第一部分:合同基础
首先,让我们介绍一下合同的基本内容。合同是指同意方之间可执行的协议,下面是一个具体的例子:
爱丽丝(Alice)同意鲍勃(Bob)在接下来的三年里每月向他购买价值1000美元的咖啡豆。每个月的第一天,爱丽丝(Alice)会把钱付给鲍勃(Bob)。
合同是双方(爱丽丝和鲍勃)就交易(咖啡豆换美元)达成的协议,它可以是数字化形式的,也可以是书面形式的,甚至只是口头的形式。
合同与单纯的允诺之间的关键区别,就在于合同可以由第三方强制执行。该第三方通常是法律的代理人,如法官,但也可以是私人仲裁员、共同的朋友、暴徒头目等。在违约的情况下(即爱丽丝没有按时付款),受害方可以将合同和证据交给其执法当局,而后者将利用其能力使受害方在合同条款下得到应有的权益。
合同是一个正常运转的经济体的必要组成部分,因为它允许个人依赖他人的行为。因此,企业家可以在知道产品所需组件将按时到达的情况下经营企业。这构成了可预测的交易、计划和专业化的基础。从这个意义上说,合同是社会可扩展 [1] 的,因为它们“克服了人类思维中的缺点……限制谁或多少人能成功参与。”随着越来越多的人可以依靠他人的努力,而不必相信他们个人,整个可能的经济互动网络就呈指数级增长。
使合同具有社会可扩展性的关键特征是,合同可以在没有监督的情况下订立和执行 。一个商人可能与他人进行数千笔交易及签订合同,而不需要见法官来解决冲突问题。
相反,想象一下这样一个世界:你签订的每一份合同(即每次你在餐厅坐下或从亚马逊购买东西)都必须有第三方监督整个交易,以确保一切按计划进行,这太荒谬了!交易成本将如此之高,以至于没有人会首先使用合同。 合同的美妙之处在于,它并不需要第三方总是在场,而是在需要时可以有第三方在场 。这种回退选项足以在陌生人之间建立信任。
通过签订合同,我们用可执行的保证取代了信任的要素,从而改善了劳动分工,为我们这个经济发展的基石世界增添了可靠性。
第二部分:天真的“区块链智能合约”方法
最近,关于合同的讨论有很多。随着过去十年区块链的蓬勃发展,“智能合约”一词的含义,也随着许多分布式网络的涌现而演变。为了本文的目的,我将智能合约定义为双方在分布式协议上执行、核查和履行契约。
要是真这么简单就好了
上面的例子代表了智能合约的天真愿景。该理论认为,人们可以简单地接受现实世界的合同,把它们放到区块链上,并以某种方式最终达成一个更可靠的协议。在这种观点下,(1)有一个合同会被编码到网络中,(2)来自真实世界事件的数据会被网络处理,(3)最后网络基于该信息执行一个操作。然而,这种方法存在着重大问题!
1、预言机(Oracle)问题
如果你的智能合约系统是基于物理世界的信息(即土地所有权、商品价格或商品交付),那么它必须依赖一个称为预言机(Oracle)的服务,该服务可以将该信息提供给智能合约系统。这是一个问题,因为无法客观地知道物理世界是否与内部数据库对应。因此,服务就要求可信第三方为其合同提供信息,这首先破坏了使用去中心化网络的目的。此外,当某部分财产发生问题,但区块链没有正确更新时,就会出现问题。例如,假设你正在区块链上存储土地所有权,如果这块土地本来是要传给家庭成员的,但土地的私钥却丢失或毁坏了,会发生什么?在这种情况下,就会有两种可能。一是由于账本不可变,这块土地就错误地分配给别的人,或者让第三方(即政府代理或客户支持)更改这个账本,以反映发生了什么。
第一种情况意味着,随着时间的推移,账本将变得越来越不正确,而第二种情况,则说明了为什么从一开始就不需要使用区块链。像这样的问题对于区块链网络来说是根本性的,并且说明了为什么智能合约不适用于物理世界的产权。
2、缺乏灵活性问题
合同从来都不是起草者意志的完美表现。在起草合同时,当事人之间往往会产生混淆和误解。然而,在用智能合约语言起草时,就没有出错的余地。每个单词都必须从定义完整的计算机术语中起草,而它们可以由智能合约平台处理。Jeremy Sklaroff在一篇题为《Smart Contracts and the Cost of Inflexibility》 [2] 的奇妙论文中探讨了这个问题。智能合约平台声称通过去除传统语言来降低“效率低下”, 然而,Sklaroff证明,去除传统语言会不利地增加交易成本 。硬编码的合约必须是严格的且是纯粹的自我参照。这意味着,双方必须在没有传统语言的情况下,全面准确地界定合同的所有预期和可能的未来状态。即使是一份简单的咖啡豆交货合同,其可能性也会令人眼花缭乱。
在起草合同时,提及特定贸易的公约、惯例和术语也是很常见的,这大大缩短了起草合同所需的时间。而这些通常被理解的替代品,也不会被智能合约认可,而且需要对其进行完全定义。
总之,人类活动需要需要人类的组成。自然语言具有丰富的解释力和灵活性,其不能简单地被计算机逻辑所取代。
3、违约问题
合同通常是具有各种条款和要求的复杂协议。一项协议的条款是否被违反,很多时候都有待商榷。例如,鲍勃可能相信他是按照合同条款行事的,但爱丽丝可能会对事情有不同的解释。例如,如果送的咖啡豆大小或类型不对,会发生什么情况?这是否构成可处罚的违约行为或微不足道的差异?我们自然希望能提前协商,但这些问题往往难以预料。更糟糕的是,违规行为并不总是故意或有害的 。有了标准合同,对方可以对自己的错误作出解释,受害方可以选择将案件提交法院,或者干脆睁一只眼闭一只眼。这是因为技术违规并不总是有害违规。
为了说明这一点,让我们回到爱丽丝和鲍勃之间的合同例子上来。可能有一个月,鲍勃给爱丽丝送错了咖啡豆。他提前打电话给爱丽丝,告知她这件事,并愿意给她25%的折扣作为弥补。爱丽丝认为这是个好主意,这可以剩下一笔开支,并在自己的店里用这些不同的咖啡豆作为“限时优惠”来促进销售。
像这样的非正式修改是重要的,也是可能的,因为它们在人类互动的可塑性世界中起着作用。另一方面,一个无需信任的智能合约只会看到错误的货物被交付,并惩罚违规方,而这是一个本可以避免的代价高昂的结果。
这种缺乏选择性的执行,是智能合约的另一大问题,标准合同的灵活性是一个特征,而不是一个bug。
4、执行问题
如上所述,合同和允诺的区别在于协议的第三方可以执行合同的条款。那智能合约呢?如果有一个智能合约被用于交付咖啡豆,但实际鲍勃并没有交付咖啡豆,那谁来强制执行?区块链是去中心化的,其没有管辖权,也没有能力影响物理对象,这自然就带来了问题。区块链智能合约的捍卫者通常会采取两种方案: 首先,有人可能会说区块链不能强制执行,但可以用它在法庭上作为证据。不过,在这种情况下,你还是要依靠同样的国家机构来执行合同。一个标准的合同将有同样的保证和更多的隐私 !
另一种选择是staking模型 ,若要使用智能合约,用户就需要进行抵押,以便在发生违约时对其抵押品进行拍卖。 这也带来了它自己的问题,它会是昂贵的 !为每个合同提供抵押品,会带来自身的机会成本,尤其是在处理多个服务的多个合同时。
这两种解决方案都不具有吸引力,并让我们回到为什么要用区块链来执行合同的问题上?
5、可扩展性问题
如上所述,合同的一个关键要素是,合同能够根据需要通过提供第三方监测来扩大规模。然而,以太坊(Ethereum)、Tron和EOS等智能合约平台已经决定忽略这一基本原则。它们通过允许用户将合同直接上传到基础层,而个人创建的任何合同都必须由网络的所有其他验证者进行验证和持续监控。这些平台的结果是令人失望和可预见的。尽管它们没有捕获到多少活跃用户,但主要的智能合约平台已面临难以下载、验证和保持同步的问题。StopAndDecrypt的 这篇文章 做了一个出色的工作,探索了这种设计选择的含义,而这种设计选择适用于基础层上具有表达性语言的区块链,如以太坊、Tron和EOS [3] 。
尽管这些平台被认为与比特币等协议相比更具创新性,但复杂的基础层脚本编写是一种倒退。 通过要求所有验证者验证这些平台上的每一个智能合约的完整性,不可避免的结果就是中心化,然后又回到它们声称要移除的可信第三方的领域,而合同根本不是这样工作的 。
第四部分:法官是独一无二的
在看到以上这些问题之后,人们很容易会认为,这些问题是无法克服的。虽然“智能合约”一词的大多数用法,都只是一派胡言,但我们不应完全放弃这一概念。事实上,比特币已经用闪电网络解决了这些问题。
闪电网络是一个基于比特币协议的点对点支付通道系统。关于这种系统,你可以看 这里 。
广义上讲,闪电网络交互的工作原理如下:双方相互沟通,希望签订开通支付通道的协定。双方签署承诺交易,以表示双方对协定的同意,并将其记录在比特币区块链上。双方遵守闪电网络协议的规则,形成合作的边界。交易一段时间后,双方可以选择通过签署和公布最终的相互交易来终止合同。如果一方试图违反网络规则,窃取对方资金,受害方可以向比特币区块链发布证据,防止被盗。
这些要素与传统的合同概念完全吻合,克服了上面提到的几个问题。
- 条款:LN协议本身的规则类似于合同的条款,协议双方必须相应地采取行动;
- 签署:发布承诺交易是签署和同意合同条款的一种方式;
- 违约:如果一方违反了闪电网络合同的条款,那么该合同就被违约了,受害方可以通过向基本链发布加密证据,使其遭受“法庭”的制裁;
- 执行:最后,比特币协议充当一个虚拟法官,通过逻辑评估其面前的证据,并将资金转移给适当的一方;
网络中固有的灵活性也很强,因为协议是对等式的,就像传统合同一样。每组partner选择他们希望受哪些条款约束。虽然有通用的闪电网络合同(即Eclair或LND的默认版本),但这些条款可以根据双方的需要进行调整。例如,BitRequill最近通过更改默认通道大小限制,打开了第一个 1BTC 的通道 。而随着Schnorr签名和SIGHASH_NOINPUT等协议升级的实现,合同的灵活性将不断提高。而 eltoo提议 只是其中一个例子。
尽管如此,闪电网络最重要的部分,也许在于它对社会可扩展性的理解。如前所述,使合同如此强大的原因是,法官不是交易所必需的,而只是在违约发生时作为后备。
而其它“智能合约平台”如以太坊和Tron,则完全忽略了这种对合同的基本见解。相反,他们选择了这样一种模式,即“法官”(即区块链)坐在肩上,然后观察每一笔交易的发生。
闪电网络的设计完全遵循了这一合同概念。有了闪电网络,数百万笔交易可以在两个人之间进行,而根本不需要法官。这提供了两个明显的好处,一是降低了与网络用户的交易成本,二是增加了合同签订者的隐私。在这一点上,闪电网络的规模和增长其实有部分是未知的,因为很多通道是私有的。然而,一旦出现问题,仁慈的比特币法官就可以介入、评估并解决争议。
最后,值得注意的是,闪电网络只是许多此类例子中的第一个。Jeremy Rubin的POWSWAP为算力衍生品提供了类似类型的智能合约,Richard Myers的Lot 49为mesh网络消息提供了类似的合约。这些创新的智能合约,并没有因为所谓的“表现力”或“图灵完备性”而建立在其他链上,恰恰相反,它们选择比特币,正是因为它的简单性。
区块链领域的人们经常标榜复杂的基础层脚本是最适合智能合约的, 但他们未能认识到,简单性对于智能合约是至关重要的,因为它构成了可预测执行的基础 。由此看来,比特币选择的简单性和安全性是非常明智的。
展望未来,我预计那些使用率和价值最高的智能合约将以类似的方式构建,并利用比特币作为它们的虚拟选择。
结论
闪电网络是第一个真正意义上的智能合约。通过解决困扰其他网络的问题,闪电网络已经成为比特币可能出现的第一个光辉范例,为网络智能合约创新描绘了光明的未来。
我要感谢比特币律师杰里米·斯科拉洛夫(Jeremy Sklaroff)和尼克·萨博(Nick Szabo)的想法,感谢卡托研究所(Cato Institute)邀请我做这项研究。
参考文献:
1.尼克·萨博(Nick Szabo):《货币、区块链和社会可扩展性》,2017年2月9日 unenumerated.blogspot.com/2017/02/money-blockchains-and-social-scalability.html; ↵
2.杰里米·斯科拉洛夫(Jeremy Sklaroff):《智能合约和非灵活的成本》 ,2018年宾夕法尼亚大学法律评论第166卷第263-303页; ↵
3.对于SAD关注即将实现的最新证据,我推荐Eric Wall的这条 推文内容 ,它记录了在以太坊上同步一个全节点的困难; ↵
原文:https://medium.com/@Conner_/bitcoin-the-blockchain-for-truly-smart-contracts-f7100b73da01 作者:Conner Brown 翻译:洒脱喜 稿源(译):巴比特资讯(http://www.8btc.com/article_546954)