在聽一個區塊鏈微課時,有專家提出“信任不等於信用,信任是人際關系,信用是資金融通”。www.emoneybtc.com這句話指出了很多區塊鏈應用的誤區,本期就詳細探討一下這個問題。
本系列的開篇,在介紹區塊鏈是什麼的時候,提到了這樣一句話:“區塊鏈的價值在於,沒有任何一個中心能夠控制這個系統,數據一旦產生便不可更改,這產生了強大的信任。因此人們常說區塊鏈是一台創造信任的機器。”
區塊鏈能創造信任,那麼能創造信用嗎?首先,我們看一下“信任”的概念,信任是一個復雜的概念,很多學科都涉及到這個概念,但是至今沒有一個統一的定義。
在區塊鏈中,我們認為信任是指:區塊鏈中的節點運行者相信區塊鏈上面的數據是確定的。換句話說,就是區塊鏈中的節點運行者信任區塊鏈上的數據。
而信用的含義則是:在經濟活動中能夠履行承諾。而在經濟學中,信用往往是債務。
那麼,從“信任數據”能否推導到“信用”?需要看具體問題具體分析:
情況一:假設Alice和Bob在以太坊上構建了一個智能合約,Bob將10個ETH轉移到該合約的地址上,約定3天後,Alice調用這個合約,就可以得到這10個ETH。那麼,在這個經濟活動中,3天後Alice調用這個合約,Bob的承諾就會被以太坊自動執行。這裡,信任以太坊上的數據就能得出Bob會履行承諾的結論。
情況二:如果Bob一開始沒有10個ETH呢?簡單說,我沒錢,你能咋地?這樣我們就要看這個函數是怎樣編寫的,是否專門處理了這個情況?
從智能合約的角度來說,一個完善的智能合約,應該考慮到所有異常的情況(違約情況)——Bob沒有在3天內把10個ETH轉移到合約地址中。我們就可以這樣編寫:如果合約賬戶上不足10個ETH,先轉走全部余額,剩下的等合約地址中有的時候再處理,等等。
這裡,在智能合約編寫的時候,實質上是把Bob未來的全部可能性都考慮進去,然後寫成了一個程序上完善的合約。從這個完善的合約上看,該合約是一定能被履行的。但是對於Alice而言,她所期望的履行方式僅僅是正常的情況,而不包括違約情況。
因此,信任數據推導出信任合約,但是合約中只有一部分是真實期望的結果,另一部分(違約情況處理)並不是真實期望的結果,整個過程也沒有產生100%的信用。
於是,問題又回到了和現實社會相同的情況,我們判斷一個主體X是否有足夠的信用,需要收集大量和X相關的數據,然後通過一些數學手段和數學模型,來分析它的信用情況。
而在區塊鏈中,我們只完成了前一半的一小部分——我們有區塊鏈上和X相關的數據,並且這些數據是確定的(很難講數據是真實的,只能用“確定”這個詞)。其他的都不在區塊鏈上,甚至我們有的可能只是X履約的歷史數據,而X的其他數據都無法從區塊鏈上獲取到。那麼,從信用模型角度,這個數據量就很少了。
因此,區塊鏈不能創造信用,它只能創造信任。
依靠信用的交易活動,在區塊鏈上的風險,和在現實世界上的風險沒有區別,甚至可能更高一點(這些交易活動依賴的智能合約可能有bug)。但是,不依靠信用的交易活動,是可以充分相信的。
情況三:仍以Alice和Bob的交易為例,Bob當前沒有10個ETH,但是他有10000個EOS。Alice和Bob之間編寫的智能合約中,Bob首先把10000個EOS轉移到合約地址上,3天後,如果Bob給合約地址充了10個ETH,則Alice 獲得10個ETH,10000個EOS全部轉移回Bob賬戶;如果合約地址上的ETH不足10個,則將10000個EOS轉給Alice。
在這個合約中,合約正常執行的情況和違約情況都能夠在以太坊上正常處理,並且違約情況也是Alice能夠接受的,那麼,信任以太坊上的數據就能得出Bob會履行承諾的結論。但是,情況一和情況三一樣,這種履行承諾,我認為不能稱之為“創造”了信用。
敖萌,現就職於中國信息通信研究院北京泰爾英福網絡科技有限責任公司,主要研究模式識別和區塊鏈,