在以太坊的白皮书中,就提到了智能合约这个概念。此后,越来越多的区块链开发者,都准备使用智能合约。目前来看,在智能合约的实际落地应用中,最成功的落地场景还是基于以太坊的爱希欧。除了爱希欧,智能合约就没有其他的实际应用了么?为何智能合约对于区块链如此重要,以至于反复被大佬们提及?
要想讲明白智能合约,还要从传统合同说起。传统合同,也就是我们日常生活中接触的合同,无论是手机App上的保密协议,购买房屋时的购房合同,还是办理信用卡时签写的各种文件,这些都属于传统合同。传统合同包括4个部分,合同主体、合同条款、仲裁机构和执法机构、仲裁对象。在区块链中,对应到智能合约的4个部分分别是,合约主体、合约条款、仲裁平台、执法对象。
把传统合同数字化是互联网的卓越功劳,但在区块链领域中,智能合约和传统合同最大的区别是仲裁方式。传统合同需要一个中心化的第三方机构作为担保进行仲裁,而区块链的智能合约则是依靠区块中事先写好的代码来进行仲裁,不需要任何第三方机构的参与,这也就达成了区块链行业的愿景,去中心化,降低社会信用成本。
智能合约能准确、清晰的自动执行事先写好的代码命令,且结果无法被任何人篡改。在区块链中,智能合约的仲裁方式与现实生活中的法庭非常相似,于是就有了代码即法律的说法。
在智能合约的应用层面上,现在较为难落地的是有关合约主体的部分,也就是我们常说的资产上链。同时,正因为不确定性,这也是机遇所在。
在合同主体中,如何将现实中的物体准确的映射到区块链的代码中,是问题的关键所在。在现实生活中,第三方机构,通常是国家,通过法律手段建立了人的信息身份,又通过物权法、产权法确定了财产和人之间的权益关系。而在区块链中,首先需要构建的是合约主体中的数字身份,然后才能通过数字身份确定对应的数字资产,否则一切无从谈起。
智能合约探索至今,各家都有不同的方式去实现。 在以太坊的白皮书中,以太坊包含了一个仲裁平台,以及一个图灵完备,完全无须第三方信任来构建智能合约,这种智能合约是有部分独立的代码来规定智能合约的执行的。但实际上,也有一些少数的区块链智能合约没有独立的代码。总之,无论智能合约如何实现,智能合约的执行总是要通过仲裁来完成。
以太坊智能合约的代码支持 Solidity 编程语言,比特联储(UBTC)的区块链开发者逐渐意识到 Solidity 这种小众编程语言的不足, 已经开始尝试让智能支持更广泛的通用编程语言,如 Java、C#、Kotlin、LUA 。
从理论上讲,智能合约的出现是革命性的,一旦实现,将会引发社会结构的巨大改变。但同时,所有革命性的事物落地,也都需要时间,让我们静静等待。