何为“智能合约”?和区块链又有什么关系?
“智能合约”(smart contract)这个术语至少可以追溯到1995年,是由多产的跨领域法律学者尼克·萨博(Nick Szabo)提出来的。他在发表在自己的网站的几篇文章中提到了智能合约的理念。他的定义如下:
“一个智能合约是一套以数字形式定义的承诺(promises) ,包括合约参与方可以在上面执行这些承诺的协议。”
智能合约概念可以简单的概括为: 一段代码 (智能合约),被部署在分享的、复制的账本上,它可以维持自己的状态,控制自己的资产和对接收到的外界信息或者资产进行回应。或者可以这样简单的概括:它是运行在可复制、共享的账本上的计算机程序,可以处理信息,接收、储存和发送价值。
那么,我们该如何理解这段话呢?
回顾一下比特币区块链系统中的转账:
Alice 转账给 Bob 100比特币,在比特币区块链系统中是这样记录的:
本质上,这就是一个合同。这个合同里面规定了 Alice 要转给 Bob 100比特币,该合同立即生效。注意,里面有一个“解锁信息”,这个“解锁信息”本质上就是 Alice 证明自己是 Alice 的地址持有者时需要提交的一个信息。
显然,像比特币区块链系统里面,纯UTXO模式的这种合同用处是很有限的。首先,比特币是一个独立运行的封闭系统,它的转账脚本没有提供和外界进行交互的接口。所有信息(这里主要是解锁信息)只能在脚本提交到区块链之前定死,之后就只能按照固定方式运行。这对于“合同”来说是不符合实际应用的。
在我们实际生活中,一个完整的合同制定——执行流程是按照如下方式随着时间流逝而进行的:
其中,条件的达成通常是一个外部输入的事件,这意味着,我们实际生活中的合同通常是“事件驱动”型的。这个“事件”是否发生通常不是区块链上的数据能够判断出来的,而是依靠事件发生的时间点,通过链外输入数据的方式实现。
比特币中的交易是使用比特币区块链底层平台定义的一套脚本语言来写的,由于当初比特币区块链系统是按照一个数字货币的模型进行设计的,因此它并不需要这些复杂的能力。但是如果我们需要区块链技术在其他商业场合进行应用,很多时候就需要这些能力。比如我们利用以太坊平台来实现某个业务,那么整个流程是这样子的:
从理论到实践
当萨博在近二十年以前,在网络提出了智能合约理论时,实践一直严重地落后于理论。一直没有如何将这个理念转变现实的清晰路径。
现在,技术已经赶上萨博富有远见的头脑,智能合约开始变得可行。在这二十年中发生了什么事情呢?
简而言之,萨博在他的智能合约定义中建立的协议,已经被进一步开发。它们已经以比特币协议的形式出现,或者更加一般地说,这些协议能够实现中本聪共识。
在这些协议被开发的同时,我们获得了另一个必需的构件:第一种真正的、原生的数字资产,即作为货币的比特币。没有这种资产,智能合约也将不可行,因为金融部门在过去的几十年中,一直对任何创新抱有极端的敌意。
最后,另一个还没有结出果实的概念是智能财产。我们正在进入一个计算和连接无所不在的时代,通俗地讲,就是物联网。物理实体能够从互联网中检索信息和向互联网发送信息,它们也能够通过软件控制它们自身的使用,这使得我们能够建立萨博所指的嵌入式合约(embedded contracts)。
智能合约的构建及执行步骤
基于区块链的智能合约的构建及执行分为如下步骤:
1、智能合约的构建:由区块链内的多个用户共同参与制定一份智能合约;
2、智能合约的存储:智能合约通过P2P网络扩散到每个节点,并存入区块链;
3、智能合约的执行:智能合约定期进行自动机状态检查,将满足条件的事务进行验证,达成共识后自动执行并通知用户。
智能合约的两个系统
目前,智能合约系统主要有两个,一个是我们比较熟悉的以太坊(Ethereum),另一个是Symbiont
以太坊是一个开源的区块链底层系统,就像安卓一样,提供了非常丰富的API和接口,让许多人在上面能够快速开发出各种区块链应用。目前已经有超过200多个应用在以太坊上开发。
以太坊主要是使用Solidity编写智能合约,并在微软云服务上提供了智能合约工具箱,运行在以太坊区块链上,其平台因多功能性和智能合约执行能力成为银行业和互联网金融行业的首选,纳斯达克、摩根大通、VISA和高盛等多家金融机构均使用以太坊的智能合约系统。
Symbiont起源于Counterparty(合约币)项目,旨在建立第一个用于发行区块链智能证券和交易智能证券的平台。它是由Overstock.com公司旗下Medici项目的前成员创立的,这家智能证券交易平台已完成了一轮700万美元的融资,其公司的估值已达到了7000万美元。Symbiont并不赞同以太坊的智能合约系统,因此正在建立一个匿名的、拥有更加安全代码库的智能合约系统,这个系统不需要打破并重建金融网络体系,能够最大限度地保证电子货币的流通性。目前,数字安全巨头金雅拓与Symbiont达成合作协议,让金融机构更安全地在以区块链为基础的平台上执行交易和智能合约。
为什么智能合约是区块链革命中最重要的部分?
我们传统的合约是通过合约的内容来执行的,与计算机代码是没有任何联系的。而这种书面上的合约大多情况下是需要存档的,而基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可攥改。同时,由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。
可以用区块链的一些领域可以是:智能合约、证券交易、电子商务、 物联网、社交通讯、文件存储、 存在性证明、身份验证、 股权众筹等。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。