【新智元导读】北京时间8月3日凌晨,最大的美元比特币交易平台Bitfinex官网挂出公告,由于网站出现安全漏洞,导致用户持有的比特币被盗,随后据路透报道,被盗的比特币共119756枚,总计价值约为6500万美元。在近12万比特币被盗后,Bitfinex网站宣布,暂停所有交易和存提款业务,将寻求各种方式解决客户损失,希望外界保持耐心,以便理清事件原因。区块链的出现给了人商业交易自动化的期望。但如果代码是法律,那么代码里的bug也是法律,修正这些bug本身就是在违反合约。文章指出,智能合约忠实信徒应该谨慎看待一切自动化的想法。智能合约广泛普及意味着我们会失去保证经济顺畅运行的大部分灵活性。而当事情出错时,现实的而非虚拟的机构是可以进行调整的。
至少目前为止,人类的判断仍然好过冰冷的代码
商业也可以变得很简单。设想一下:合约能自动执行,并且不受寻租律师的解释所影响;或者是,公司都自动化了,由一系列自动协议组成,能在公司利润达到特定水平时给投资者红利。
这种“智能合约”在区块链(比特币的核心技术)的拥护者中非常流行。“智能合约”就是一种计算机程序,当一个预先编好的条件被触发时,能自动执行相应的合约条款。一些人认为,“智能合约”不仅能使商业更加高效,还能完全避免人类决策。
但是,人们甚至还没来得及称赞这种技术的伟大,它就已经和现实发生冲突。
合同关系自动化这个想法很久以前就有了。“智能合约”(smart contract)这个术语是由美国计算机科学家和法律学者Nick Szabo于1994年提出的。但是,这个概念因缺乏相应的技术而模糊不清。
之后在2008年,比特币和区块链出现。区块链是一种特殊的点对点数据库,能提供安全、公开和可信赖的交易记录。它能使新数据被添加进来并且防止历史数据被篡改。区块链能确保同一个比特币不会被使用两次,但是它的潜力要远大于此。区块链还允许用户“烤入”(bake in)信息,包括“智能合约”需要的精确指令。
事实证明,比特币的区块链用于执行商业规则还是不够理想。Vitalik Buterin是一位22岁的加拿大裔俄罗斯编程天才,去年他带领自己的程序员们推出了Ethereum——一种新型的区块链,目的是成为“智能合约”的平台。该目的一半技术一半政治。Ethereum将允许开发人员不仅能编程“智能合约”,而且还能编程整个“去中心化自治组织”(Decentralised Autonomous Organisations /DAOs)——比特币也是一种DAO,不需要集中管理,其运行不受自利机构(如政府)的直接管控。
Ethereum的程序员们凭借这一项应用继续不断前行,4月份时,他们创立了一个风投基金。该基金叫做DAO,没有风险投资人。每个人都可以通过向代表该基金的智能合约转让数字币(称为“ether”,相当于是Ethereum的比特币)来加入该基金。这个智能合约给予他们对投资建议的表决权。
该基金吸引的ether价值超过2亿美元。但是后来有人通过程序漏洞黑进DAO,盗走了5000万美元。被盗的资金要等四周后才能全部取回。因此,为了及时恢复被盗的数字币,Ethereum上周同意改变规则,允许原持有者收回其捐赠的钱。
DAO的此次灾难能够反映出早期的问题。平均而言,软件的每1000行代码中有15至50个缺陷。而在Ethereum中,这一数字预计将高达2倍,因为这个系统还不成熟的。正如一位博客作者所说,这些合约对黑客而言就像是糖果。
但是该事件还暴露出更严重的问题,关于智能合约概念的问题。区块链应该是不可改变的。一旦合约加密,就不能被改变,即使是软件的更新也不会有影响。Ethereum团队改变了区块链,因为他们认为DAO很强大,不会出现问题——DAO吸引了14%的在流通的ether。
然而,这却产生了更多的问题:如果代码是法律,那么代码里的bug也是法律,修正这些bug本身就是在违反合约。现在有些人在猜测,DAO的黑客是否会起诉要收回他的战利品。
还有其他原因解释为什么智能合约可能永远不会像它的粉丝希望的那般普及。可以设想这样一个合约,它从其他地方获取数据,然后采取行动。比如说,一份农业保险合同,它会读取天气数据,如果一直没有降雨就会自动赔偿。
虽然理论听起来挺简单,但是区块链的本质再此带来阻碍。它是由许多用户共同控制的,因此他们都必须持有该合约相同的副本,但是目前还没有办法解决这件事。因此,哪一份合约副本应该获取数据?为了避免这样的疑惑,值得信任的组织,比如oracles,应该将数据提供给区块链,但是这样就会违反避免人为干涉的目的。
智能合约的粉丝应该克制他们的积极性。正如现已解散的DAO承诺的那样,不是要创造“一种新的人类组织”,这项技术的现在的最佳用途更为平庸:代管、自动转账等等。成熟的智能合约将会先在传统组织内部产生,之后再取代它们——私有区块链由企业团体维护,比如银行。在智能合约上钻入最深的就有初创企业Symbiont,它打造了一个“智能保险”的交易平台,可进行联合贷款和巨灾保险交换。
有缺陷的人 VS 错误的代码
如果智能合约行得通,商业自动化将达到何种程度?到目前为止,IT已经替代了绝大部分的纸张办公过程,而智能合约意味着一种不同的自动化规则:商业交易自动化。
智能合约忠实信徒希望能完全省略中间过程,直接从银行到政府。但他们应该谨慎看待自己的想法。如果智能合约被广泛普及,我们就会失去保证经济顺畅运行的大部分灵活性。当事情出错时,现实的而非虚拟的机构是可以进行调整的。
在未来许多年里,或者是永远,比起存在bug的冷酷的代码,人类的机构尽管有缺陷,却会是更明智的选择。