编者按:本文来自微信公众号白话区块链(ID:hellobtc),作者:晏文春,创业邦经授权转载,图源:摄图网。
现在我们的生活几乎离不开合同,往大说,工作是与公司签订的劳动合同,买房是与房产公司签订购房合同,买保险是与保险公司签订保险合同;往小了说,网购、定外卖、打车、买彩票都是与相关的服务提供公司签订了相应的合同。可以说,有人的地方就用合约。
甚至我们与人打赌,也是一种合约,但如果一旦一方抵赖,那履行合约就会变得困难。如果有一种合约,事先确定了规则,一旦触发相关条款,合约将自动执行,无需人为干涉,也不用担心有人抵赖。是否存在这样的合约呢?还真有,这便是智能合约。
智能合约(Smart Contract)是上世纪90年代由密码学家尼克·萨博提出的理念,由于当时缺乏可信的执行环境,智能合约没有被应用和发展,直到以太坊的出现,才让智能合约得以“复活”。
那智能合约到底是什么呢?简单来说智能合约就是用计算机语言取代了法律语言记录条款并由程序自动执行的合约。换句话说,智能合约就是传统合约的数字化版本,跑在区块链网络上,由程序自动执行。
自动售货机、ATM取款机,在某种程度上都可以被理解为执行智能合约的机器,但这都不是真正意义上的智能合约。
与传统的合约相比,智能合约有三大特点:
1、合约内容公开透明
智能合约部署在区块链上,其合约内容自然是公开透明的。
2、合约内容不可篡改
同样,因为部署在区块链上原因,智能合约的内容是无法被修改的。
3、永久运行
运行在区块链上的智能合约,同样被区块链上网络节点共同维护,只要区块链在,智能合约就能永久的运行下去。有种“链在合约就在”的兄弟情义之感。
有区块链三大特点加持的智能合约,与传统的合约相比主要有如下优势:
1、去信任。
由于智能合约是基于区块链的,合约内容公开透明、且不可篡改。代码即法律(Code is law),交易者基于对代码的信任,可以在不信任环境下安心、安全地进行交易。
2、经济、高效
相比传统合约经常会因为对合约条款理解的分歧,造成纠纷;智能合约通过计算语言很好避免了分歧,几乎不会造成纠纷,达成共识的成本很低。在智能合约上,仲裁结果出来,立即执行生效。因此相比传统合约,智能合约有经济、高效的优势。
3、无需第三方仲裁
假设熊大和熊二打赌,赌明天是否会下雨,谁输了的一方就需要给对方100元。如果输的人抵赖,赢了的人就得不到奖励。为此,去找第三方仲裁机构,低效且费时费力。但如果赌约写在智能合约上,在达成赌约之时,各自把100元打入智能合约地址,智能合约根据最终的结果,自动执行,赢的一方拿走所有的奖励。可见,智能合约就无需第三方仲裁。
上面讲的都是智能合约的优点,那智能合约真的是智能且没有缺点的吗?其实不然,智能合约也有它的缺点。
如上文所述,智能合约不可篡改的属性,很容易建立起信任。但同时也有不好的一面,如果智能合约存在漏洞,黑客可以利用智能合约的漏洞,为自己牟利。
举个简单的例子,一台自动售货机,本来售价是5块的饮料,由于疏忽,写成了5毛钱,管理员发现之后,可以立刻改正。但如果这台售货机调用的是区块链上的智能合约,那么这个错误将无法修改,直到里面饮料卖完。
另一方面,智能合约本身无法获取(感知)外部的信息,涉及到需要外部信息才能裁决合约,需要对其写入相关信息,它才能作出裁决。比如熊大和熊二打赌明天是否下雨的例子,智能合约本身是不知道第二天是否下雨了没,需要通过其他信息源为它提供信息,比如中央气象台数据,哟了这个信息之后,智能合约才能做出裁决。
从上面两点看,智能合约既不完美也不智能。
综上所述,关于智能合约,我们知道:
智能合约是用计算机语言取代了法律语言记录条款、由程序自动执行的合约。部署在区块上的它,也具备了区块链的数据公开透明、不可篡改、永久运行的特点。
与传统的合约相比,智能合约有去信任、安全、高效、无需第三方仲裁的优点。但智能合约并不完美,而且也不智能或者说它的智能程度很低。