為什么這個(gè)世界需要區(qū)塊鏈
我們需要你明白區(qū)塊鏈所面對的問題的背景,以及能夠產(chǎn)生最大化價(jià)值的環(huán)境,還有該問題與“信任和正直”的聯(lián)系。在本章的最后,你會(huì)對區(qū)塊鏈存在的目的有一個(gè)更為深入的了解,并且你會(huì)對區(qū)塊鏈本身產(chǎn)生不同的認(rèn)識(shí)。
1面對各自獨(dú)立的計(jì)算集群,牧羊犬在哪里
前面兩部我們指出了區(qū)塊鏈的通用意義,并且強(qiáng)調(diào)了在一個(gè)完全分布式的端到端系統(tǒng)中區(qū)塊鏈的重要性:在一個(gè)分布式系統(tǒng)中確保系統(tǒng)的完備性。
但是為什么在一個(gè)分布式系統(tǒng)(或者一個(gè)特殊的端到端系統(tǒng))中確保其完備性那么重要而又如此困難?在這一節(jié)中,我們會(huì)通過對完全去中心化的端到端網(wǎng)絡(luò)中的完備性與信任之間的關(guān)系來探索這個(gè)問題。
對以上問題的理解取決于你自己對完備性的重要性的理解,以及是否能意識(shí)到區(qū)塊鏈所面向的這個(gè)核心問題。
最后,我們會(huì)展開描繪區(qū)塊鏈所能帶來極大價(jià)值的一些行業(yè)。
2隱喻
在很多語言中,都會(huì)用成語或者短語描繪一個(gè)場景:一個(gè)人試圖在紛亂的人群中進(jìn)行協(xié)調(diào)組織。比如在英語中會(huì)用”嘗試去組織一群貓“(“try to herd cats”)去描述管理一群倔強(qiáng)而特立獨(dú)行的動(dòng)物們是一個(gè)多么巨大的挑戰(zhàn)。
在一個(gè)完全去中心化的端到端系統(tǒng)中,我們會(huì)遇到類似的問題,而管理的對象是一臺(tái)臺(tái)獨(dú)立工作的電腦,他們沒有中心化的管理方來進(jìn)行協(xié)調(diào)。
接下來我們來看這個(gè)去中心化的端到端系統(tǒng)面臨的主要問題,以及區(qū)塊鏈和這個(gè)問題的關(guān)系。
3端到端系統(tǒng)中的信任與完備性
信任與完備性是一枚硬幣的兩面。放在軟件系統(tǒng)的語義中,完備性是對一個(gè)系統(tǒng)的非功能性的特點(diǎn)描述:安全,完整,持久,正確,并不會(huì)失控和錯(cuò)誤。而信任引申至人類之間對可靠、真相以及對一些事或人無理由的相信。信任往往建立在早期,并且會(huì)在之后的行為中受到合作的影響而發(fā)生變化。
在一個(gè)端到端系統(tǒng)中,這意味著人們?nèi)绻嘈胚@個(gè)系統(tǒng)并且這個(gè)系統(tǒng)運(yùn)作的結(jié)果增強(qiáng)了他們的信任,他們就會(huì)進(jìn)一步的進(jìn)入這個(gè)系統(tǒng)并且給出貢獻(xiàn)。
整個(gè)端到端系統(tǒng)通過系統(tǒng)的完備性來滿足用戶的預(yù)期,并且增強(qiáng)他們對系統(tǒng)的信任。如果因?yàn)橄到y(tǒng)缺乏完備性使得用戶沒有對這個(gè)端到端系統(tǒng)增加足夠的信任,那么用戶就會(huì)拋棄這個(gè)系統(tǒng),進(jìn)而使得這個(gè)系統(tǒng)終結(jié)。
意識(shí)到信任對端到端系統(tǒng)的重要性之后,核心的問題就變成了:我們?nèi)绾卧谝粋€(gè)完全去中心的端到端系統(tǒng)中確保完備性的提供?
滿足并確保一個(gè)完全去中心化系統(tǒng)的完備性需要好多因素,其中最重要的兩個(gè)如下:
了解系統(tǒng)中的節(jié)點(diǎn)數(shù)目
了解節(jié)點(diǎn)的信任度
如果我們知道了一個(gè)端到端系統(tǒng)中的節(jié)點(diǎn)數(shù)目,并且知道了他們的信任度,那么就更有可能去滿足并確保系統(tǒng)的完備性。
然而在現(xiàn)實(shí)中的去中心化端到端系統(tǒng)中,我們只能面臨一個(gè)最糟的情況:我們不知道系統(tǒng)中的節(jié)點(diǎn)數(shù)目,更不知道節(jié)點(diǎn)的信任度,但是我們需要把他開放給所有人。
4端到端系統(tǒng)中的完備性威脅
為了簡化起見,我們列舉了兩個(gè)主要的端到端系統(tǒng)的完備性威脅:
(1) 技術(shù)性故障
端到端系統(tǒng)是由網(wǎng)絡(luò)中互相連接的獨(dú)立計(jì)算機(jī)組成,任何一臺(tái)計(jì)算機(jī)的任意一個(gè)硬件部件或者核心軟件,或者這個(gè)系統(tǒng)所依賴的網(wǎng)絡(luò)的組件都有發(fā)生故障或者制造錯(cuò)誤的風(fēng)險(xiǎn)。因此一個(gè)分布式系統(tǒng)必須面對節(jié)點(diǎn)故障或者系統(tǒng)錯(cuò)誤運(yùn)作帶來的風(fēng)險(xiǎn)。
(2) 惡意節(jié)點(diǎn)
惡意節(jié)點(diǎn)是端到端系統(tǒng)所面臨的第二大完備性威脅,這一類威脅不是技術(shù)問題,但是可能比技術(shù)問題更難以處理:有人出于自己的利益而剝削整個(gè)系統(tǒng),或者占據(jù)這個(gè)系統(tǒng)的主要資源。
有人認(rèn)為這一類的問題更是一個(gè)社會(huì)或者組織問題。不可信節(jié)點(diǎn)與惡意節(jié)點(diǎn)構(gòu)成了端到端系統(tǒng)面臨的最大威脅,因?yàn)樗麄冊谄茐倪@個(gè)系統(tǒng)的基石:信任。一旦用戶無法信任他們的聯(lián)接方,他們就會(huì)不信任這個(gè)系統(tǒng)轉(zhuǎn)而離開。
5區(qū)塊鏈?zhǔn)侨绾谓鉀Q核心問題的
滿足并確保完備性、并且在最好的情況中都做到系統(tǒng)的高可靠和高可信已經(jīng)被很好的解決了。真正的挑戰(zhàn)發(fā)生在面對最差情況的時(shí)候,而這就是區(qū)塊鏈解決的問題。
通過使用區(qū)塊鏈技術(shù),一個(gè)不知道內(nèi)部節(jié)點(diǎn)數(shù)量也不知道節(jié)點(diǎn)可信度的端到端系統(tǒng)也可以實(shí)現(xiàn)并確保整個(gè)系統(tǒng)的完備性。在計(jì)算機(jī)科學(xué)領(lǐng)域,這是一個(gè)由來已久的問題:拜占庭將軍問題。有興趣的讀者可以進(jìn)一步的搜索并了解該問題。
6展望
在這一步中我們強(qiáng)調(diào)了端到端系統(tǒng)中完備性與信任的重要性,并指出區(qū)塊鏈所解決的核心問題,強(qiáng)調(diào)了在現(xiàn)實(shí)世界中的去中心化端到端系統(tǒng)中,確保完備性與可靠性的重要性與困難程度。