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