區(qū)塊鏈是信任的機器,區(qū)塊鏈是最核心的特性是去中心化,去中心化的特性離不開工作量證明,可能具體的說法不一樣,但是意思基本是一致的,并
“區(qū)塊鏈是信任的機器”,“區(qū)塊鏈是最核心的特性是去中心化”,“去中心化的特性離不開工作量證明”,可能具體的說法不一樣,但是意思基本是一致的,并且還有一個最終的結論——計算保證信任。
對于一個區(qū)塊鏈行業(yè)的高手來說,“計算保證信任“這個結論的邏輯鏈條可能是完整并且清晰的,但對于一個普通人來說,大家對計算的理解還勉強停留在礦機、哈希運算上面,對于“計算是否真的能夠保證信任”這個問題還有很多的疑問。算力本身還有很多問題比如說分叉、51%攻擊等等,自身都難保,真的能保證所謂的信任嗎?如果能的話,那計算又是怎么保證的信任呢?
凡約定會執(zhí)行,就確定會執(zhí)行!在討論之前,先做一個概念上的界定,因為信任是一個很模糊的詞語。通過計算保證的信任,是由以下幾個方面構成的:
一、通過計算保證過程不可逆
比特幣網(wǎng)絡中任何一個節(jié)點,如果想生成一個新的區(qū)塊并寫入?yún)^(qū)塊鏈,必須解出比特幣網(wǎng)絡出的工作量證明的題目,而解出這個問題的答案只能靠強大算力的物理累積,并沒有別的更好辦法。
正因為如此,工作量證明保證了每一個區(qū)塊的出現(xiàn)都是經(jīng)過了大量的計算,最終工作量最大的那條鏈成為主鏈。而且通過特定的鏈式結構,使得一環(huán)扣一環(huán),修改其中任何一環(huán)都需要重復之前的工作量,這樣就使得這個過程基本上不可逆。
當然這種不可逆只是理論上的不可逆,并不是工程上的不可逆。在工程上只要你愿意付出足夠大的代價,也有辦法實現(xiàn)數(shù)據(jù)的可逆,只不過是在另一條鏈上可逆,這個辦法就是硬分叉。比如說以太坊ETH和以太坊經(jīng)典ETC的硬分叉——2016年6月全球最大以太坊項目TheDAO被盜360萬個以太坊,市直高達6000萬美元,這對當時剛剛起步的以太坊社區(qū)來說是致命的。創(chuàng)始人Vitalik Buterin和社區(qū)大部分人認為不能就這樣算了,社區(qū)通過網(wǎng)絡投票的方式?jīng)Q定對以太坊交易進行回滾。
二、通過計算保證結果不可篡改
其實不可篡改的特性和不可逆的特性有很多共同的地方,正是因為整個過程不可逆,所以結果不可篡改,如果你能篡改其中的任何一部分,就相當于過程可逆。
經(jīng)常有人會問不可篡改和不可修改有什么區(qū)別?他們認為一個區(qū)塊鏈應該是不可篡改,但是應該可以修改的。因為如果一個區(qū)塊鏈不能修改的話,會出現(xiàn)很多問題,比如說轉(zhuǎn)錯賬怎么辦?比如說被黑客盜取怎么辦?比如說發(fā)出一筆轉(zhuǎn)賬之后,突然發(fā)現(xiàn)對方是犯罪份子正在執(zhí)行違法犯罪行為,需要緊急終止怎么辦?
如果真的出現(xiàn)上面所說的一筆賬轉(zhuǎn)出去但是突然發(fā)現(xiàn)對方是詐騙行為或者有其它違法犯罪行需要緊急中止,對不起,在這條區(qū)塊鏈上沒有辦法完成。但是在你轉(zhuǎn)帳轉(zhuǎn)出去之后,你可以迅速報警,鎖定地址,通過交易所的協(xié)助或者其它社會工程上的線下行為來追回損失,但是僅依靠區(qū)塊鏈本身是沒辦法停止交易追回損失的。
當前很多非計算共識的區(qū)塊鏈項目都是可以修改的,相當于交易是可逆的。比如采用DPOS共識機制的EOS,它有仲裁委員會,如果通過裁決認定交易非法,那交易是可以回轉(zhuǎn)的,你的損失是有辦法追回的。但是這種非計算共識的區(qū)塊鏈,從本質(zhì)上來說,并不屬于真正的區(qū)塊鏈,更像是帶激勵機制的分布式帳本。
對于一個真正的通過計算保證的不可篡改的區(qū)塊鏈項目而言,數(shù)據(jù)應該不僅是不可篡改,而且是不可修改的。任何的對過去交易數(shù)據(jù)的修改,都會導致交易的可逆,從而動搖整個區(qū)塊鏈的根基。
三、通過算法開源保證業(yè)務邏輯可信
用優(yōu)步打車的時候,他的算法是不開源的;當我用百度搜索的時候,它的算法是不開源的。因為不開源,他的計算過程、排序過程是否合理,是否存在人為操縱和刻意的偏向是不得而知的,從而使得結果的真實性和有效性也無法得到確認。
正如王嘉平博士在文章《區(qū)塊鏈還有多長的路要走?》中說道:
在本質(zhì)上,由于網(wǎng)頁排序(Web Ranking)這個計算過程運行在Google自家的機房,里面真實的邏輯是什么產(chǎn)生的結果是不是合理的、公允的、并且不被操縱的,作為第三方完全無法確信。Google也沒有辦法自證。本質(zhì)原因是這個計算過程依賴特定的物理計算設備(數(shù)據(jù)中心),并且Google完全掌控這個物理計算設備,從而完全掌控了這個計算過程。
區(qū)塊鏈的計算本質(zhì)是一個可以和特定計算設備分離的馮·諾伊曼架構,是可以向第三方證明的可信計算范式,目的是為了計算過程真實可信,支持上層應用上實現(xiàn)業(yè)務邏輯的自證清白,為世界帶來可以計算的信任。
這是從算法開源的角度保證信任。
四、通過計算去除門檻,保證人人都能參與
通過計算能去除門檻,保證人人都能參與,這一點很容易被大家忽略。因為大家會覺得不管使用什么共識機制,反正公鏈都是對所有人開放的,所有人都能參與。
雖然大部分公鏈都是所有人都能參與,但是能不能參與記帳本身,就是記帳是否可信的重要因素。如果每個人都能隨時參與系統(tǒng)的記帳,那么這個系統(tǒng)當然是可信的;如果只有一些選舉出來的人來記帳,或者符合某些資質(zhì)的人才能記帳,那么這個系統(tǒng)總是有值得懷疑的可能性。
五、計算本身只創(chuàng)建可信環(huán)境,智能合約完成剩下的工作
根據(jù)我們上面的說法,我們通過計算構建了這么一個環(huán)境——計算過程不過逆,計算結果不可篡改,計算算法開源,人人都可參與,人人都可驗證,通過這幾點,我們就構建了一個可信的環(huán)境。
就好像說到珠穆朗瑪峰登過頂?shù)娜硕际且庵玖軋远ǖ娜?,這種說法一般是靠譜的,因為他登頂珠穆朗瑪峰這件事就相當于一個工作量證明;就好像說拿過奧運短餐金牌的人都是短跑方面的高手一樣,這種說法也是靠譜的,雖然在現(xiàn)實生活中有很多人沒有拿過奧運金牌也是高手,但是奧運金牌這件事本身就是一個工作量證明,拿到奧運金牌就像這個限制條件就相當于構建了一個可信的環(huán)境。
計算本身并不直接等于信任,計算只是創(chuàng)建了一個可信的環(huán)境,可信環(huán)境本身不是信任,但是在這個可信環(huán)境當中執(zhí)行的智能合約是可信的,是符合我們凡是有約定就必然會執(zhí)行的定義的,所以當我們說到信任的時候其實是說計算加上智能合約之和,畢竟光有計算沒有智能合約也無法構成一個完整的區(qū)塊鏈。
在傳統(tǒng)的互聯(lián)網(wǎng)時代,智能合約就能實現(xiàn)自動化的功能,但是在互聯(lián)網(wǎng)時代,數(shù)據(jù)由中心化組織掌控,業(yè)務由中心化組織設置,代碼不開源,算法隨時調(diào)整,使得這時的智能合約沒有真正可信的環(huán)境。但是區(qū)塊鏈的出現(xiàn),正好給了智能合約這種可信的環(huán)境,讓智能合約變成真正意義上能大規(guī)模自動執(zhí)行的自動合約。
一個由計算所構成的可信環(huán)境,加上在這個環(huán)境下不受人為控制的智能合約,兩者之和等于信任。
(蒙特卡洛)