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