解读区块链智能合约!

  解读区块链智能合约!

  区块链和智能合约技术的广泛适用性使得该领域参与者按照各自所在学科来解读它,因此现在还缺乏统一的术语定义,对于一个发展如此快速的技术领域来说是一大缺憾。本文作者Josh Stark是律师和区块链咨询开发公司Ledger Labs的运营和法律主管,总结了现在智能合约定义的分类,以及各自的缺陷,呼吁两类参与者互相学习,达成一个合理的定义。

  智能合约没有清晰确定的定义。

  这个创意以下一代区块链平台核心的地位出现在公众视野,同时被视为企业实际应用的关键特性。

  还有人把它描述为“自主机器”、“区块链上的合约”、“区块链上的任何计算”。其中很多关于智能合约本质的争论都仅仅是不同术语的抗衡。

  这些不同定义基本上分为两类;有时被用来描述某特定技术——在区块链上存储、验证和执行的代码。这里我把这种类型的定义称为“智能合约代码”。

  另外智能合约被用来指代该技术的特定应用——法律合同的补充、替代物。我们称这种定义为“智能法律合同”。

  用相同的术语来指代不同概念,当然就算是最简单的问题也难以解答。比如我常常碰到的一个简单问题是:智能合约的功能是什么?

  如果我们讨论的是智能合约代码,问题的答案就取决于该语言用于表达合同的能力,以及合同底层区块链的技术特性。

  但是如果我们说的是用智能合约技术来创建有法律效力的合同或其替代物,答案就不仅仅是技术本身了;而是取决于现有法律条文,法律、政治和商业机构对待该技术的态度。如果商人不信任它,司法不认可,法院无法解读它,那么它就不是真正有用的合同。

  想要改变人们对该术语的已有观念只会徒劳无功,实事求是的讲,目前我们在智能合约这个概念的应用上,或者至少说解读上已经卡壳了。这就要求每个爱好者理解该术语的应用方式并清楚的区分开来。

  作为智能合约代码

  区块链可以运行代码。尽管最初的区块链是用于一些简单程序——主要是代币的交易,技术的进步已经使它可以实施更复杂的交易,识别完善的编程语言。

  因为这些程序是在区块链上运行的,它们的特性有别于其他软件。首先程序本身记录在区块链上,因此具备区块链的永恒性和无需审核等特性;其次这个程序可以控制区块链资产——比如它可以存储和转移加密货币;第三程序由区块链执行,就是说按照预先编写的内容执行,就不可能有人能干涉其运行。

  对开发员等直接与区块链技术相关的人来说,智能合约的概念常常指区块链代码。你可以在以太坊文件、Stackexchange和技术性文章中看到这个术语。它常常出现在以太坊项目中,它的初衷是成为智能合约代码的平台。但是现在智能合约概念一般被区块链社区用来指代区块链上存储和执行的复杂程序。

  把这些程序称为合同的意义在于,这个代码运行着重要或有价值的东西。我们只会在条款可执行性很重要的时候才会选择订立合同的辛苦工作。同样我们只会在代码关乎钱、身份等重要东西的时候才会用智能合约代码。

  因此这个意义上说,智能合约不一定要是我们司空见惯的合同。尽管代码可以表达有条件的金融交易(比如2016年7月1日把1比特币从A转给B),它还可以是控制账户许可的监管型应用(如果A投赞成票,排除B对X应用的投票权,并通知其他账户)。

  很多情况下,智能合约代码都不是孤立存在的,而是作为某个更大应用的一部分。每个去中心化应用、DAO或其他基于区块链的应用都是用智能合约代码搭建的,然后在自己选择的区块链上运行。任何你听过的以太坊上的应用——Augur、Slock.it或Boardroom都是用智能合约代码开发的。

  不完美、误导性、过时的可能

  这个术语受到了很多合理的批评。用“合同”来指代就是一种误导,因为它只看到了单一的用例;没能抓住区块链程序的核心功能——它们有独立机构。

  智能合约程序本身可以存储加密货币余额,甚至控制其他智能合约程序。生成之后,只要收到执行命令就可以自主运行。因此很多人将它称为“智能代理”,更加类似于一般的软件代理概念。

  最终随着区块链技术日趋成熟,这个术语会慢慢从人们视野中淡去。

  开发员习惯于谈论某个特定语言或平台,而不是某个用来描述区块链上复杂程序的通用术语。

  智能合约代码区别于其他代码的功能和目的可以简单从内容上来看,不需要“合同”这种繁杂的类比。也许以后会跟我们现在谈论HTML和JavaScript一样简单,不用去想智能合约是一种“标记”语言,不用去比较与JavaScript在Web应用中作用的不同。

  作为智能法律合同

  金融和法律领域的人往往对智能合约概念有不同的理解。

  这里的智能合约是智能合约代码的特定用例,用区块链补充或代替现有法律合同的方式。这就是我上面提到的定义——用代码来表述、验证和执行合同。

  这些智能法律合同很可能成为智能合约代码和传统法律语言的整合。例如商品供应商和零售商达成智能法律合同。支付条款可以用代码来定义和自动执行。但是零售商会坚持加入赔偿条款,供应商必须保证赔偿次品损失。但是这个条款不可能用代码表述,因为它无法自动执行。在诉讼情况下需要法院去解释和执行。

  商业协议中很多样板条款,保证双方不用负担各种边缘责任,但是这些不一定适用于代码表述和执行。就是说智能法律合同同时需要代码和自然语言(至少可预见的时间内是如此)。

  这是Eris Industries双集成系统、Primavera de Fillipi加密账本交易法律框架(Legal Framework for Crypto-Ledger Transactions)和R3智能合约系统Corda的基本思路。

  智能法律合同是否有受法律认可呢?也许会。无论人们怎么想,合约获得法律效力的条件是很灵活的,符合各方之间的关系,而不依赖于合同形式。任何口头协议或邮件内容都可以成为法律上的合约,只要包含了合约的基本要素。

  很多合约和用例

  世界上合同类型众多,使智能法律合同的分类变得复杂,其中一些显然是智能合约的适用对象。法律合同可以是委托粉刷房子的口头约定,也可以是金融市场的衍生品。

  2015年初开始吸引最多关注的用例还是,把智能法律合同用于股票、债券、衍生品合同等智能金融工具。用代码表述这些合同使金融市场更加自动化,简化了很多程序密集型的金融工具交易和服务系统。

  目前这些智能金融工具还不成规模,尽管很多人仍在努力;R3的Corda项目就是致力于这种智能合约;数字资产控股最近人才收购了Elevance——用代码来开发金融协议的瑞士公司。4月份巴克莱公布了与R3合作用智能合约代码订立的ISDA协议。

  金融工具只是能应用区块链代码的合约之一,随着技术成熟其他资产也可以在区块链上存储和交易。随着新资产类型发布到区块链上,相关合同也会得益于基于区块链的替代品。

  替代传统法律合同

  很多区块链倡导者看到更多可能性,而不仅仅是模仿或完善现有合同。也许智能合约代码可以用于不同的商业活动。

  也许甚至可以把它称为智能合约的第三个定义——用智能合约代码创建有商业价值的全新合同形式。我们把它称为“智能替代合约”。

  它的着眼点是更广泛的合同中现实世界问题,依赖于个人的商业可以制定更稳定、可预测的合同。在有风险的商业贸易中,有强大法律系统的合同是用来表述各方激励机制的主要机制。

  但是也许法律合同不是这些普遍问题的唯一解决方案,智能合约代码提供表述和执行条款的新工具,可以用来创建新的激励系统,足够搭建商业关系。

  这种类型合约常见的案例是M2M商业。智能设备不断增长的环境终究会需要新的商业互动方式。比如自动购买清洁剂的洗碗机或者自动支付加油费的汽车。

  这些交易需要最低限度的信任才可以用于商业,但是都不适用于法律合同,因为其价格相对较高,还需要公司或人这种法律代表的参与。智能替代合约也许可以带来全新的商业模式,在我们的计算机、汽车、手机等设备之间完成交易。

  也许还会有其他不适用于传统法律合同的商业互动。比如那些随着新技术突然出现的新市场,缺乏法律工具,创新速度和适应力都比价低。

  智能替代合约也许可以进一步扩大信任网络,超越法律系统的范畴,带来现在还不可能的商业模式。结论

  智能合约清晰术语的匮乏是个不幸的事实,区块链领域的工作者需要了解不同社区对该术语的解读,准备好去提问一些恼人但很必要的问题,当被问及智能合约的本质和潜力时给出自己的解答。

  这个术语的不同用途说明了该领域存在更大的挑战,区块链技术的跨学科特性,尤其是智能合约的特性,使人们按照自己所在学科来理解它,然后看到的就是稍微改善了的法律合同,忽略了区块链代码超越法律范畴的更大的潜力。

  而开发者们看到了智能合约无可限量的软件开发可能性,又忽略了传统法律合同反映出来的商业现实和细节。

  就像任何跨学科领域一样,他们需要互相学习。

猜你喜欢

转载自www.cnblogs.com/jinsexiaomifeng/p/11695136.html