传统合约是指双方或者多方通过协议来进行等值交换,双方或者多方必须信任彼此,能履行交易,而智能合约则无须彼此信任,因为智能合约不仅是由代码进行定义,也会由代码强制执行,完全自动且无法干预。密码学家和数字货币研究者尼克·萨博早在1994年就提出了“智能合约”的概念,几乎与互联网的概念同时出现。从本质上讲,这些自动合约的工作原理类似计算机程序的if-then语句,智能合约只是以这种方式与真实世界的资产进行交互。当一个预先编好的条件被触发时,智能合约执行相应的合同条款。而在20世纪90年代,萨博关于智能合约如何工作的理论并不能实现,主要是因为当时没有能够支持可编程交易的数字金融系统。因此,萨博当时的智能合约理念还只能停留在理论阶段,无法应用到现实中。而随着区块链技术的突破,智能合约获得了重生的机会,让以往人们幻想中“可编程的钱”能够有机会付诸实践。
1. 区块链技术为智能合约带来重生
简单地说,合约的核心层面就是一个要约、一个承诺以及一种价值交换的行为。而智能合约指的是一种资产的数字化协议,协议的内容包括了标的资产在哪里以及何时将如何执行,这些都是完全基于网络环境实现的,无须托管人干预。萨博将智能合约的定义总结为:“一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。”数字形式意味着合约体现的权利与义务关系可以写入计算机可读的代码中,只要参与双方达成关于智能合约建立的权利和义务的协议,计算机或者计算机网络就可以执行完成。智能合约应用于金融交易具有明显的天然优势,因为金融交易的本质就是价值的转移,在金融交易中被交易资产的本质决定了交易双方选择协议的类型。萨博在1997年的智能合约论文中提到了合约的规范化。他认为多种类型的合同条款,如抵押品、债券、产权界定等,都可以嵌入执行条款的硬件和软件中,通过这样的方式使那些不遵守协议者逃避违约成本的概率降为零。因为,如果当交易双方中有一方没有按照双方协议的合约条款来执行,那么就不会触发合约自动执行,从而使得遵循协议一方的权益得到保护。萨博还提出了非常著名的“自动贩卖机”理论,简而言之就是自动贩卖机利用的是搬运合约,即任何持有硬币的人可以与供应商交易。锁箱和其他安全机制保护储存的硬币和货物不会被破坏,足以允许自动售货机有利可图地在各种各样的区域部署。而类似自动贩卖机,智能合约是通过数字的方法来控制有价值的、各种类型的资产,实现资产控制的不是弹簧之类的安全装置,而是嵌套于计算机可识别的机器语言的基本规则,这种基于数字的执行装置不仅使智能合约可以实现动态的、主动运作的资产交易,而且可以提供更好的观察和核查点。
当萨博在近20年以前提出智能合约理论时,实践一直严重落后于理论,一直没有如何将这个理念转变成现实的清晰路径。现在,技术已经赶上萨博富有远见的头脑,智能合约开始变得可行。其中,最主要的变化就是萨博在智能合约定义中建立的协议,已经被进一步开发,它们以区块链协议的形式出现了。
而像比特币这样的密码学货币正是帮助智能合约成为现实的途径之一。智能合约可以称作是密码学世界真正的“杀手级”应用,很多人都相信在加密货币领域是不需要人类干预就能够自动执行合约,这些合约经过互相协调,成为自动化的资产、过程以及系统的组合。因为比特币本身就是一个计算机程序,智能合约能够与它进行交互,就像它能与其他程序进行交互一样。区块链和其去中心化共识系统的窍门在于保证了每个人都有一个账本的副本,并使每个人的账本都对最终的协议执行发挥影响。如果每个人拥有的账本副本是相同的,那么人们就无须中心化的机构去记录交易。而智能合约是由事件驱动的、具有状态的、运行在一个复制且可分享的账本之上,并且能够保管账本上资产的程序。对于这样可复制、共享的账本,无须双方向对方证明自己是诚实的。
而当我们利用运行计算机代码开展智能合约时,当双方在商定合约后,互相同意一份代码版的合约,对合约使用的外部数据信息源、如何解决纠纷达成共识。双方在签署智能合约之前,需仔细检查代码,确信不存在恶意漏洞,进行测试并查看试运行结果后再进行签字并部署到账本上。如此运行下来,双方都无须花费时间精力重新核实合约条款,双方都确信合约代码能够同时满足各自目的。因为它是运行在可复制、可共享的账本上,双方都能够确信程序的输出结果对双方一致。
2. 智能合约:以法律的力量延伸金融服务
如今的一些技术已经可以被认为是智能合约实践的尝试,比如数字现金协议,能够帮助实现网上支付,同时又保留了纸币现金不可伪造性、私密性和可分性的特点。当我们再深入观察数字现金协议,把其放在智能合约设计的更大范围里,我们不难发现这些协议还能被实施到种类繁多的电子无记名有价证券中,而不只是数字现金。如果将它们应用到一个完全的顾客—供应商交易体系里,我们需要的不只是数字现金协议,更需要一个协议能够完全保证交易。如果交易方付款,商品就会被发送;或者商品寄出去,发货方就会收到钱。而智能合约具有大大减少商业交易欺诈事件并降低执法成本的潜力。另一个将会考虑使用智能合约的领域是合成型资产,这些新型的证券由资产证券与衍生品以各种各样的方式混合而成。通过对这些复杂的期限结构进行计算化分析,以往非常复杂的期限结构支付现在可以建成标准化的合约,以低成本进行交易。
与所有的金融前沿技术类似,我们还要考虑如何将智能合约与我们目前的法律系统相协调。智能合约中的“合约”二字似乎难免让人感觉其与法律概念中的合约有某种联系。不可否认的是,智能合约必须被归类为与法律相关的行为,因为我们生活在一个被法律管理和控制的世界,所有可能的经济交易也都被法律管理和控制着。智能合约可以看作是法律系统的进化,而不是消除。有了智能合约,或许很多个人合约的法律核定会在参与智能合约的各方签署之前就确定好,如果有一方未能达成双方协议中的条款,智能合约不会被触发,也就不会自动生效,避免有交易方篡改交易合约、进行违规操作而需其他交易方利用法律手段维权。律师的职责可以运用在竞争市场中生产智能合约的模板上,帮助合约交易方制定合约确保交易质量以及条款的易用性等。此外,智能合约也有潜力为没有优势的人打开接触司法系统的大门。当合约中的某一交易方违约时,另一方若要寻求法律维权是需要花费金钱和时间的,但能够自动执行协议的智能合约却能够帮助那些无法支付法律费用的人们使用司法系统。
此外理论上,智能合约还能在金融方面为低收入者带来福音,能够使得金融机构更乐意接受低收入者带来的风险。在没有智能合约的情况下,如银行等金融机构为了控制风险很少会贷款给低收入者。但有了智能合约,如果贷款者不能按时还款,收回资产对于银行等金融机构而言就变得更为轻松,也就帮助低收入者得到了更多获得信用贷款的机会。
3. 智能合约:更多的应用场景
智能合约的潜能不只是简单的转移资金,我们生活中很多日常用品都能够被连接到物联网上通过智能合约的形式被使用,比如汽车或是房屋门锁等。由于密码学货币的出现,智能合约这一技术正越来越走进我们的现实生活。它可以在我们生活中的很多小事中得到体现。以欧洲杯比赛为例,假如你赌西班牙队赢,下注500元或者一个比特币,你的朋友赌法国队赢,下同样的注。第一步,你和你的朋友将比特币发送到一个由智能合约控制的中立账户。当比赛结束时,智能合约通过ESPN、路透社或者其他媒体确认西班牙队战胜了法国队,智能合约将自动将你的赌金和从朋友那赢得的钱,发送到你的账户。
再比如已经渗透到我们生活中的打车软件。在实际生活中,Uber或者滴滴等应用程序可以让用户,也就是乘客和司机两端去共同创建智能合约。这些应用程序提供了价值交换的平台,即付费乘车。具体来说,这些应用程序让消费者创建一个包括乘车距离需求、价格以及享受到服务后自动进行付款承诺的要约,而司机可以接受这个要约并提供乘车服务。在这个过程中,双方分别提供了自己所能提供的价值,司机提供了时间和车辆,乘客提供了费用。合约进展顺利的情况下,乘客在特定地点上车并在目的地下车,司机获得乘客提交的费用。(www.daowen.com)
但目前的打车软件合约更像是半自动合约,在这个过程中的某些方面还是需要人类的互动。目前又有一个新玩家Arcade City公司来到了拼车竞技场,这家野心勃勃的初创公司计划使用崭新的方式攻下拼车产业。与Uber中心化管理的方式不同,他们的撒手锏就是去中心化,公司最近正将以太坊整合到他们的运营体系中。Arcade City公司创始人克里斯托弗·大卫独创性地使用比特币众筹获得了一个“免费的Uber公司”。公司的目标是让Arcade City成为第一个大型“主流”的以太坊公司,这就需要调整以太坊来适应公司的非技术用户群,也就是客户和司机,使他们将在世界各地参与点对点交易。Arcade City正在以太坊建立拼车公司模型,首先要从身份和信誉系统开始,建立一个基于以太坊的信誉系统可行性概念验证,用于管理乘客信誉的许多规定将会被编码成智能合约。当然,在测试过程中如果出现各种问题,还会对相关的智能合约进行修改。Arcade City公司希望通过开放的证据、充足的方式来交流和吸取经验,在经过一系列测试完善过程后,还会努力扩大信誉系统,不再只是考虑拼车公司的具体结构,还要转向信誉系统及其他行业系统的互操作性。如今在Uber等中心化管理的拼车公司的司机每天都在担心旧金山总部会降低司机的利润率、担心总部强制干预点对点交易的时候,就不难看出越来越高的“去中心化”的呼声,智能合约的重要性也就不言而喻。
从打车软件智能合约的应用可以看出日常生活中,区块链在物联网领域有着巨大的应用潜力,这也让智能合约的应用大有可为。物联网是一个设备、车辆、建筑物与其他实体通过嵌入软件、传感器和网络相互连接的世界,小到房屋门锁,大到自动驾驶车都可以成为物联网的一部分。但是现在物联网还存在一些问题,比如汽车系统可能会受到恶意攻击,房屋进入系统安全性有待加强,以及互联网普遍存在的安全性问题。但是区块链却有着解决这些问题的潜力。
IBM和三星最近为ADEPT(自动去中心化点对点遥测技术)提出了一个概念验证,使用区块链数据库建立一个分布式设备网络,由ADEPT来提供安全并低成本的设备连接方式。根据可行性执行报告显示,家用电器如洗碗机,可以通过执行“智能合约”来发布命令,要求洗涤剂供应商进行供货。这些合约给予了设备支付订单的能力,并且还能够接收来自零售商的支付确认消息和发货消息,并以手机铃声提醒的方式通知物件主人。通过这些都可以看出在物联网的概念中,区块链技术在未来的应用场景不仅仅是在金融等领域,在生活中给我们带来的便捷和改变更是比比皆是。
最后,我们将智能合约的概念延伸到财产上。智能财产的建立可以通过将智能合约嵌入有形的实物里。这些嵌入的协议基于合约条款将运作财产的钥匙控制权自动交到财产的合法代理人手上。例如,一部车为了防止被偷窃,除非确定拥有者完成正确的“挑战响应协议”(challenge-response protocol),否则车是不会启动激活的。如果车是贷款买的,拥有者无法偿还贷款,智能合约将会自动调用扣押令,并将车钥匙的控制权交给银行。这个智能扣押令(smart lien)应该比回购人机制更便宜也更加有效。同样需要的是当贷款被还清的时候协议可证明地移除扣押令,并排除一些运行中的困难情况。
智能合约是通过区块链协议建立的应用之一,目前围绕区块链应用和智能合约已经建立了两种协议:一种是大名鼎鼎的电子加密平台以太坊;另一种是建立在比特币区块链侧链上的Rootstock。
4. 以太坊(Ethereum)智能合约的基础设施
当今非常火爆的以太坊最初是由一名20岁的俄裔加拿大天才科学家Vitalik Buterin开发的,他凭借其在计算机方面无与伦比的天赋,在数字资产行业拥有极高的地位。这位被称为“天才神童”的以太坊创始人出生于1994年,2011年全年为比特币线上媒体《比特币周刊》工作,2011年后期作为联合创始人创建了《比特币杂志》,曾击败Facebook创始人扎克伯格,获得2014年IT软件类世界技术奖。智商超高的Vitalik甚至还在很久之前就自学中文,在与中国社区用户交流的活动中多次用流利的中文为区块链爱好者解答各类问题。那么,到底什么是以太坊呢?以太坊是一个平台和编程语言,能够让开发人员建立和发布下一代分布式应用,可以说是为开发者提供了一个创建和发布他们各自区块链应用的平台。以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理等,而这些托管应用程序的计算能力是由一个网络来供应的,人们分别贡献自己计算机的处理能力来维护和运行这些应用程序。以太坊平台的多功能性和能够创建、执行智能合约的能力都使它成为银行与金融技术产业的重要选择。通过使用智能合约,金融机构、交易平台甚至银行部门都能够使他们的后台程序自动化运行,减少整个流程所需要的劳动力和时间。使用以太坊技术平台的主要公司包括纳斯达克,银行区块链财团如摩根大通、高盛集团、Visa等。
虽然智能合约的实践发展是基于比特币而产生的,但比特币目前有限的智能合约开发环境也引发了公共区块链的竞争,例如以太坊从理论上来讲就可以运行更复杂的合约。况且公共区块链的交易确认时间,在一般情况下会比私有网络用时更长。但据新的研究表明,比特币的技术也可以克服这些限制,并获取更多的好处。例如,开发人员正在研究被称为机密交易的加密工具——同态加密,以提高安全性。同态加密是一种无须对加密数据进行提前解密就可以执行计算的方法。该工具可以在无须了解交易输入数量的前提下验证一笔公共区块链的交易,这样就提供了更好的隐私性,也是金融机构最喜欢的特性。这种技术允许用户在解决一笔交易时,无须透露它的金额大小,也不用向他人展示账户金额情况。公共区块链的隐私将通过使用“零知识证明”得到进一步提升,除了声明的有效性,这个验证方法并不会透露其他的信息。使用同态加密技术在区块链上存储数据可以达到一种完美的平衡,而不会对区块链的属性造成任何重大的改变。也就是说,公共区块链仍然是公共区块链,只是区块链上的数据将会被加密,这就解决了公共区块链的隐私问题,同态加密帮助公共区块链达到了私有区块链的隐私效果。而同态加密技术不仅提供了隐私保护,它同样允许随时访问公共区块链上的加密数据进行审计或其他目的。如今这样的项目有Zcash,这是一个在公共区块链上的开源加密货币促进支付系统,但是发送方、接收方以及交易的金额都是保密的。就好比当前能通过网络来构建安全的电子商务交易一样,未来在公共区块链上构建私有业务也是有可能的。公共区块链平台也支持智能合约,所以在一定程度上吸引了一些主要金融机构的关注。
5. 侧链和闪电网络:另外的可能
在以太坊越来越受到世界关注的同时,2015年12月Rootstock横空出世。开发者试图通过“侧链”来解决比特币可扩展性的问题,开辟了新的用于实验的可能性。Rootstock是一个建立在比特币区块链上的智能合约分布式平台,它的目标是将复杂的智能合约实施为一个侧链,通过在比特币的一个侧链上建立一个全功能的“图灵完备”的智能合约平台来为核心比特币网络增加价值和功能,这也就意味着Rootstock不仅是用于双方之间的价值交换,而可以用于更复杂的交易。与以太坊不同的是,Rootstock使用不同的开源区块链协议来建立智能合约,它实现了以太坊虚拟机的改进,开发团队通过使用可转换为比特币的代币作为智能合约的“燃料”而移除了以太坊“ether”这种代币的需求。值得注意的是,尽管Rootstock是建立在比特币侧链上的,但它使用的却是与以太坊操作码相结合的图灵虚拟机。这样Rootstock就完全能够与以太坊平台兼容,在Rootstock区块链(也就是比特币侧链)和以太坊区块链上都可以完美运行。以太坊和比特币两大区块链平台的结合和兼容性使得Rootstock的优势更加明显。据2016年3月22日的消息,区块链创业公司RSK Labs已宣布获得了100万美元种子资金,用来支持Rootstock的发展。
说到智能合约,就不得不提到闪电网络理念。什么是闪电网络呢?它的主要目的是实现安全的链下交易,其本质是使用了哈希时间锁定智能合约来安全地进行0确认交易的一种机制,通过设置巧妙的“智能合约”,使得用户在闪电网络上安全进行未确认的交易。2015年2月,约瑟夫·朴恩(Joseph Poon)和萨帝厄斯·追亚(Thaddeus Dryja)发布了一篇他们称之为“闪电网络”的草稿。当时它仅仅是一份不完整的建议,并且没有代码,但它引起了比特币技术社区相当大的兴奋,因为这份草稿让大家看到了即时任意方支付比特币的可能性。可以说,闪电网络就是比特币的一个缓存,基本设计是基于一个网络支付渠道。闪电网络的交易就是未确认的比特币交易。闪电网络不会持有任何人的资金,所有的资金都存放在比特币网络中的多重签名资金交易中,闪电网络所做的就是让参与者之间的签名交易更加方便。简单来说,比如在比特币交易中,双方建立一个交易链,交易链中的交易只有最后一笔需要进入真实的比特币区块链,这就是简单的支付渠道思路。事实证明,只需要少量几乎没有争议的比特币升级,人们就可以生成更加通用的支付通道,它允许双向支付,也允许“条件支付”,条件支付允许构建一个支付网络。实际上,可以通过安全和非信任依赖的方式设定“如果A支付了B,我就支付给C”等智能合约。合约条件发生之后,你的钱包就会自动向比特币网络广播这个支付交易条件,然后只需等待即可。闪电网络这种支付渠道的理念是能够解决比特币可扩展性、小额支付和0确认问题的可行途径,帮助参与者之间直接进行交易,而不是通过区块链发送交易和使用它加密来确保信息安全,只需在最后结算机制时才使用区块链。基于此,闪电网络可以说是链下去中心化交易的杀手级概念应用,当然目前闪电网络还不存在,但如果我们能够在应用中实现这种概念,免费、实时地执行数十亿的小额交易,那么闪电网络的确能够解决我们目前的许多问题。
像比特币这样的密码学货币已经准备就绪,足以帮助智能合约成为现实,最终可能会实现密码学货币和智能合约的双赢。智能合约能够向人们说明虚拟货币独特的益处,这将为虚拟货币吸引更多的用户。智能财产可能是一个很长的路,但是数字现金和合成型资产今天已经出现了,更多的智能合约机制正在被设计出来。到目前为止,对来自截然不同领域如经济学和密码学的自动化合约执行来说,设计准则是很重要的,但两者缺少交叉沟通,一边是对技术缺乏意识,另一边对最好的商业用途缺乏意识。智能合约的理念是要认识到为共同目标而做出的努力,这将在智能合约的概念上进行交汇。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。