智能合约 Smart contract 的概念是由计算机科学家、加密大师尼克·萨博(Nick Szabo)在1994年提出来的。本文不会涉及计算机专业知识,只是宏观去介绍一下智能合约的最重要的几个特点。
首先一个特点,智能合约是基于区块链的。实际上,即使程序内容不是个合约,只要是运行在区块链上的计算机程序,都叫做智能合约。
Nick 提出智能合约的这个概念,是受到自动售货机的启发,网上很多文章说,Nick 被自动售货机砸中,就像牛顿被苹果砸中,于是诞生了智能合约的思想。智能合约是自动执行的合约,这跟售货机类似。投币之后,合约是自动执行的,不需要人的参与。
从1994年提出智能合约的概念,到2017年智能合约真正在社会上小有影响力,这其中间隔了 many years ,是什么阻止了智能合约的普及呢?答案就是不可篡改的数据。而区块链的诞生,为人类第一次带来了不可篡改的数据,所以才让智能合约又回到了人们的视野中。我们的工业自动化程度最近几十年有了飞速的发展,智能合约可以理解为社会的自动化过程,为何却发展的如此之慢呢?原因就是工业上处理的是物和物之间的关系,而智能合约处理的是人和人之间的关系,而人是充满怀疑的动物。区块链带来的是不可篡改的数据,智能合约基于区块链来运行,相当于所有交易都是是可跟踪的,不可逆的。于是,我和你通过智能合约来达成合作,其实我是不需要信任你的,因为一切都是透明的。
智能合约的执行通常也都会涉及到钱的问题。早在1998年,尼克·萨博就设计出了一种叫比特黄金(bit gold)的去中心化的数字货币,但是后来失败了。区块链带来了数字货币,为智能合约的成功带来了一个新的因素。要保证计算机程序能够强制执行合约条款,需要合约方提前把钱存入到合约中,类似于网购时把钱存入到支付宝中,注意合约不输入任何人,相当于让机器实现了自己的经济独立,这是计算机历史让从来没有的事情。
总之,区块链是智能合约运行的基础,这是智能合约的第一大特点。
智能合约的第二个特点是规则明确。
智能合约也称“代码化的合约”,代码是结构化语言,是计算机使用的语言,区别于人类使用的自然语言,代码是没有歧义的,是规则明确的。而传统合约基于自然语言来写的,有歧义。这就为何最终合约破裂后合约双方往往会有争执,对付公堂。而有意思的是,即使到了法院,法官使用的法律本身也是自然语言写成的,也一样是有歧义的,这就是为何往往审理都会旷日持久了。如果最早合约都是用代码来完成的,这些麻烦就都可以避免了。Nick 说,法律是潮湿的代码,代码是干燥的法律。
智能合约有赖于数字社会的建设。区块链保证了合约执行的数据安全,但是如果智能合约涉及到了物理世界的输入和输出,那么还是有可能要部分基于对人的信任,这样智能合约的作用也就打了折扣。我们以一个租房合同为例,智能合约订立好之后,是需要输入的,也就是租户的付款信息,假设他使用法币通过银行付款,那么就需要银行提供对应的 API 来证实这次转账过程,这需要银行加快数字化建设。如果使用数字货币,那么输入本身就是数字化的了。再说输出,如果真的还是需要物理的钥匙去开门,那么租户还是会担心房东耍赖的。如果是智能门锁,到时候开锁过程也许只是需要合约给租户的一个数字秘钥即可,甚至如果门锁更加智能,也有可能直接是租户跟门锁签订合同了,完全不需要房东参与。
总之,智能合约的规则是非常简单明确的,未来我们的物理世界越来越数字化,智能合约能够发挥的作用也会越来越大。
最后要说的是智能合约的第三个特点,就是去中介。
首先一个最大的中介就是平台。我们日常也可以用到很多代码化的合约,类似于使用共享单车,或者是使用支付宝的担保交易,这些也都很方便了,但是他们都不是智能合约。因为这些合约,不是基于不可篡改的数据,而是基于对大公司大平台的信任。我们无法验证支付宝数据库中的数据,因为数据是私有的,我们只是选择信任蚂蚁金服这家公司。去掉中介,好处很多。首先是灵活,平台不会让我们随便的使用它们的数据做各种智能合约,这就很不方便,而使用区块链则会更灵活。其次是安全,区块链都是顶级密码学专家稿的,其实安全性也要高于企业系统,而且是以一个近乎免费的价格提供给所有人使用的。
其他类型的中介也都一样是高成本和不灵活的。传统合约,基本都离不开可信第三方,离不开中介,律师,法院,金融机构,华尔街,银行都是各种各样的中介。而智能合约是可以去中介的,这样带来的是更透明,高效,低成本的世界。
以上就是对智能合约的介绍了。总结起来智能合约有三个特点,第一个是基于区块链,因为区块链是目前唯一一个提供不可篡改数据的技术。第二个是规则透明,代码是干燥的法律。第三个是去中介,摆脱对第三方的依赖,摆脱了对信任的依赖。总之,智能合约让我们看到了可编程金融和可编程社会的美好前景。
参考