來源:經濟學人
譯者:張冬君
【新智元導讀】北京時間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的冷酷的程式碼,人類的機構儘管有缺陷,卻會是更明智的選擇。