了解区块链智能合约
Josh Stark是一名律师,同时也是区块链咨询公司和发展集团的业务及法律负责人。
在这篇文章中,Ledger Labs业务负责人Josh Stark深入探讨了智能合约的概念。
所谓“智能合约”,一直没有明确的定义。
向公众宣传时,这个想法一直被当成是下一代区块链平台的核心组成部分,同时也是实际企业应用程序中的关键能力。
他们的定义各不相同,如“自动化机器”、“存储在区块链中的各方合约”、“发生在区块链中的计算”。关于智能合约性质的许多讨论都是术语之间的辩驳。
不同的定义通常分为两类。有时候该术语用来识别一种特定的技术——在区块链中存储、验证并执行的代码。我们把这种类型定义为“智能合约代码”。
其他情况下,该术语用于指代区块链技术的一个具体应用:作为法律合同的一种补充或替代。我们将其命名为“智能法律合约”。
使用相同的术语来指代不同的概念使得回答如此简单的问题成为不可能。举例来说,有一个我经常被问到的问题很简单:智能合约有什么作用?
如果我们是在谈论智能合约代码,那么答案取决于用于表达区块链合约和技术特征的语言的能力。
但是如果我们问的是使用这项技术来创建一个具有法律约束力的协议,或具有法律约束力协议的有效替代品,那么答案将不仅仅取决于技术。这个答案取决于现有的法律原则以及我们的法律、政治和商业机构决定如何对待该技术。如果业务人员不信任它,立法机构不承认它,法院无法解释它,那么它不会是一个非常实用的“合约”。
尝试改变人们使用这个词语的方式将是徒劳的。实际上,我们现在可能在使用,或者至少在解读“智能合约”这个术语时束手无策。
作为“智能合约代码”的智能合约
区块链可以运行代码。设计第一个区块链的目的是执行一组简单的操作,主要是货币的交易(如代币),技术已经发展到允许区块链执行更复杂的操作,可以在完全成熟的编程语言中进行定义。
因为这些程序在区块链中运行时,相对于其他类型的软件具有独特的特点。首先,程序本身被记录在区块链上,因此具备了区块链的特点持久性和审查抵抗性。其次,程序自身可以控制区块链资产,即它能够存储并转移加密货币。第三,该程序由区块链执行,这意味着它会一直以文字形式执行,没有人能够干扰其操作。
对开发人员和其他直接从事区块链技术的人而言,术语“智能合约”最常用来指代区块链代码。你在以太坊文件、stackexchange(一系列问答网站的平台)和技术文章中能够看到这个术语的使用。该术语尤其和以太坊项目有关,其主要目的是成为智能合约代码的平台。但是今天,该术语一般用来指代在区块链中存储并执行的复杂程序。
称这些程序合约是有益的是因为代码管理一些重要或有价值的事情。我们只能费心地创造一个有约束力的协议,这对于我们强制执行条款时是非常重要的。同样,我们只能在代码控制重要的东西时才能使用智能合约代码,如金钱或身份。
这就是说,智能合约代码不需要与我们通常认为的“合同”相同。虽然代码可以明确表述以此金融交易(2016年7月1日Alice向Bob发送一个比特币),但它也可能是控制账户权限的一个管理应用程序(“如果Alice投了赞成票,那么就取消Bob的投票权并通知如下账户……”)。
在许多情况下,智能合约代码不是单独使用,而是作为一个较大应用程序中的一小部分。每个DApp、DAO或其他区块链应用程序都是使用智能合约代码建立的,在他们选择的区块链上执行操作。任何你了解的以太坊应用程序,如Augur、Slock.it或Boardroom,都是由智能合约代码制作出来的。
不完美、具有误导性且总有一天会过时
这一术语获得了很多有意义的批评。依托“合同”的比喻是具有误导性的,因为它强调了一个较为狭小的用例。该术语未能突出区块链程序的关键功能之一:那就是他们拥有一个独立的机构。
智能合约程序可以自己保存加密货币的余额,甚至控制其他智能合约程序。一旦被创建,他们可以自动进行操作。出于这个原因,许多人更倾向于术语“智能代理”,类似于一个软件代理更为普遍的概念。
最终,这个术语的使用可能会随着区块链技术的成熟而逐渐消失。
开发人员更倾向于指代一种特定的语言或他们正在使用的平台,不同于一个通用术语可以描述区块链中的任何复杂操作。
智能合约代码的功能和目的从上下文中清楚可见,而不需要使用“合同”这种复杂难懂的比喻。最终可能会类似于我们现在如何谈起HTML和JavaScript,不必考虑前者是一种“标记”语言,与JavaScript在整个网络应用程序中起到不同的作用。
作为“智能法律合同”的智能合约
对从事金融或法律行业的人而言,术语“智能合约”通常与上述的定义完全不同。
“智能合约”在这里指的是智能合约代码的特定用例——一种使用区块链技术补充或取代现有法律合同的方式。这是我对该术语的最后一个定义:利用代码表达、确认并执行各方之间的协议。一种智能法律合同。
这些智能法律合同很可能成为智能合约代码和传统法律语言的联合体。例如,想象一下商品供应商与零售商签订智能法律合同。付款条件可以在代码中定义,在交付时自动执行。但是,零售商可能会坚持要求合同中包含赔偿条款,即零售商对有缺陷的产品索赔时供应商需同意赔偿。在代码中增加这一条款是没有意义的,因为它并不能够自动执行,它将在诉讼的情况下通过法院解释并执行。
商业协议尽是样板条款,以防止各方受到不同边缘情况负债的侵害,而通过代码表示和执行并不总是十分适合,这意味着智能法律合同要求(至少在不久的将来)代码和自然语言之间的过渡。
这是Eris Industries双集成系统的基本概念,Primavera de Fillipi提出的加密账目交易法律框架和R3联盟的Corda智能合约系统。
智能法律合同曾经被认为具有法律效力?大概是的。不管多数人的想法是什么,协议成为具有法律效力合同的条件灵活且适应各方之间的潜在关系,而不是依赖于合同采取的形式。从口头协议到电子邮件会话,只要能找到合同中的基本要素,都可以成为法律合同。
许多合同,许多用例
智能法律合同的类别由于实际情况而变得复杂,在世界范围内合同有很多不同类型,其中仅有一些能够使用“智能合约”。
自2015年年初,吸引最多关注的使用案例就是智能法律合同作为智能金融工具,像股票、债券或衍生合约。在代码中阐述这些合同使金融市场变得更加自动化,还能简化交易和金融工具服务相关的集约经营系统。
如今,这些“智能金融工具”不以大规模形式存在,尽管很多人都在努力构建。R3联盟近期宣布,Corda平台旨在促进这种类型智能合同的发展。区块链创业公司数字资产控股(Digital Asset Holdings)最近收购了一家瑞士公司Elevance,该公司已经开发了一种在代码中对金融协议进行建模的方式。今年四月,巴克莱银行透露了计划的细节,与R3合作在智能合约代码中代理ISDA协议。
金融工具只是合约的一种类型,可以从区块链代码中获益。随着技术的成熟,其他资产如房地产或知识产权,都可以通过区块链系统进行存储和交易。随着新资产类型的增加,用于管理资产的协议(如抵押或许可协议)可以从区块链中受益。
传统法律协议的替代方案
许多区块链技术的倡议者看到了更大的可能性。而不是仅仅模仿或补充我们今天使用的法律合同,或许智能合约代码可以用来促进新类型的商业安排。
我们甚至可以给该术语下第三个定义:使用智能合约代码创建新颖但具有商业用途的替代协议形式。我们将其称之为“智能替代合约”。
电子商务取决于彼此之间能够形成稳定、可预测的协议。合同以及较强的法律制度是我们用来激励各方的主要机制,他们对他们之间的关系有足够的信心来从事交易中的风险业务。
但是,也许法律协议不是这个普遍问题的唯一解决方案。智能合约代码提供了一套新工具来阐述并执行条款,它们可以被用来创建激励机制,可能足以使商业关系成为可能。
这种类型被广泛探讨的是机器对机器的商业形式。智能设备不断增长的生态系统,尤其是某种形式的自治,最终将需要一种方式来经营彼此之间的基础商业交流。例如,可以购买自身洗涤剂的洗衣机,或是可以自己付费充电的汽车。
这些交易仍然需要最低水平的信任,在商业上是可行的,但不适合于法律合同,因为这比较昂贵且需要法人(公司或个人)的参与。智能替代合约可能启用一种全新类型的商业,在我们的电脑、汽车、手机和家电之间进行。
可能存在其他类型的商业交流,将不适合传统法律合同。技术使得新市场成为可能,但是由于法律工具的服务不到位,因此创新和适应的速度较为缓慢。
结论
在这一领域缺乏明确的术语是一个不幸的现实。从事于区块链领域的人应注意该术语在不同的社区是如何使用的,被问及“智能合约”的性质和潜能时,准备好提出一系列令人讨厌但有必要澄清的问题。
该术语的不同用法意味着我们行业内更广泛的挑战。区块链技术尤其是“智能合约”的跨学科性质通常会使得人们将该技术当成是自己的学科范围。律师经常研究智能合约,了解略有改善的法律协议,无需了解超越法律范围的区块链代码的更充分潜力。
另一方面,开发人员考虑智能合约并了解软件的无限可能,无需领会体现在传统法律协议中的奥妙和商业现实。
如同所有跨学科的领域,都需要相互学习。
作者:Josh Stark
翻译:Anne@比特币中文网
网址:http://www.coindesk.com/making-sense-smart-contracts/
Scan QR code with WeChat