智能合约在区块链的背景下会是怎样的
扫描二维码
随时随地手机看文章
尼克·萨博是一位计算机科学家、加密大师,他在1994年写成了《智能合约》(Smart contracts)论文,是智能合约的开山之作。
在智能合约中,“合约”即“合同”(也称协议),但“智能”(smart)与人工智能用的是“intelligence”是两个概念。
比特币之后兴起的以太币,它所依赖的平台(以太坊),即允许用户自由布置智能合约。当然,在以太坊上布署一个智能合约是需要花费以太币的,需要“矿工们”把智能合约的代码记录在区块里,并且发送给每一个结点,因此智能合约同样是不可修改的。
现在我们用的“滴滴”或“Uber”,可以理解为“智能合约”的雏形。乘客发出请求,司机作出承诺。在智能合约下,几乎不存在违约的情况,例如乘客打车后拒绝付款会被剥夺再次打车的权利。那么,在“滴滴打车”的样态中,司机与乘客的权利义务不是写在纸上,而是写进了计算机代码,所有人的行为及后果均是由代码决定的,这便是“智能合约”的雏形。
怎样才能把传统协议变成智能合约呢?以抵押协议为例,在抵押协议中客户向银行作出承诺,如果届期不还钱,车辆就归银行所有。如果要把它变成智能合约,就需要把这个承诺写进计算机代码,这在智能架驶时代是可以实现,比如通过计算机代码的设置,客户届期未按时还钱,车辆将会拒绝客户使用,反倒是将架驶权限(如新的使用密码)发送给银行,银行转而拥有车辆的使用权。
因此,智能合约的本质在于将合约的履行或者违反合约的后果都写进计算机代码,由计算机程序自动执行。在智能合约下,任何任性的行为,计算机代码都会赋予其相应的代价。
Lessig在他的《代码:网络空间的法律》中,为了解释代码在赛博空间(syberspace,可以理解为计算机程序所架构的空间)中的作用,引入了“架构”的概念。代码便是虚拟空间的架构。
法律和架构在管理参与者方面是皆然不同的。法律依赖于个人将规则内化为自觉进而规范人的行为,个人行为一旦超越了法律的界线还需要法院强制执行。然而,架构通过塑造空间本身管理行为,它既不依靠个人对规则的信仰,更不依靠法院执行。因此架构在效率上明显优于法律。
依据架构执行合约时,不需要任何个人或者组织来决定如何执行合约,你可以称架构执行为自我执行(self-enforcing),在这种情况下,违约甚至不可能发生。
“区块链”语境下的“智能合约”,还有一个重要的特点:去中心化,或者说它是不可修改的。“区块链”背景下的智能合约,则是分布在每一个结点(可以理解为一个服务器)上,它的内容是不可调整的。以借钱的合约为例,合约一旦定立,它就发布给每一个结点,合约内容不可更改;而且一旦届期,合约会自动从借款人帐户中扣掉比特币或以太币给借款人。