區塊鏈公鏈“三元悖論”專題系列之去中心化(Decentralization)
京東智聯云云產品研發部潘熙之
圖片描述

圖片描述
二級標題
二級標題
二級標題
一、什麼是“去中心化”?
圖片描述

圖片描述
圖片描述
去中心化與分佈式架構的區別
二級標題
二級標題
二級標題
圖片描述

圖片描述
圖片描述
二級標題
二級標題
二級標題

三、我們在什麼情況下需要“去中心化”?
在實際場景中,通常有以下兩種典型場景,是可以用區塊鏈作為工具來進行“去中心化”的,一是該場景已有中心,我們想要去掉中心(或是降低中心化程度);二是該場景沒有中心(或是沒有合適的中心),我們想通過一套工具去實現該場景下的統籌管理。
二級標題
二級標題
二級標題
四、區塊鏈系統“去中心化”技術的發展路徑?
去中心化技術是伴隨著互聯網應用一起發展的,從最早的Napster到BitTorrent,再到我們今天的區塊鏈系統,去中心化技術經歷了一代又一代的更新和變化,其中首先要提到的技術就是p2p網絡。
P2P網絡:P2P(Peer to Peer)網絡也稱對等網絡,是一種在對等者(Peer)之間分配任務和工作負載的分佈式應用架構,一般使用socket進行網絡編程;在P2P網絡中的節點既可以是服務端,也可以是客戶端,這就導致P2P網絡中的每個節點間都是相互平等的,這與區塊鏈系統“去中心化”的概念高度重合;所以,在區塊鏈系統中,P2P技術是實現去中心化特性中相當重要的一部分。
在區塊鏈系統的設計中,“去中心化”特性的最初目的是為了提升系統的生存能力,比如“去中心化“可以增加系統的彈性、容錯性,抵抗外部攻擊等;但當系統發展到了一定的程度,比如在解決了系統生存問題之後,區塊鏈系統就會進化出更多的東西,進入求發展的階段。
而在發展過程中,“去中心化“技術主要遇到的設計挑戰有以下幾個方面:
共識的達成:在一個“去中心化“的區塊鏈系統中,共識機制的改變(包括系統的治理方式,價值分配等)是需要基於系統參與者之間達成一致共識的情況下才能進行,如果不能達成共識,則任何系統參與者都可以另建一個社區、一條鏈;這就是共識機制的去中心化過程,也稱作區塊鏈公鏈系統的硬分叉過程。而滿足這種要求,則需要係統設計者在具體場景中,尋找到一個平衡點,以保證既能讓系統參與者產生一致的目標,又不用擔心自己在參與系統當中的付出與收穫是否公平。

容錯機制:當區塊鏈系統發展到一定階段後,隨著節點數量越來越多,肯定會出現一些錯誤節點,這些錯誤節點會向系統傳輸錯誤數據以乾擾系統的正常運行,這時就需要一套容錯機制來保證系統的正常運行;通常來說,區塊鏈系統去中心化的程度越高,可容納錯誤節點的能力也就越高;
帶寬門檻:對於每一個想要加入系統的節點來說,網絡帶寬的參與門檻越低,能加入系統的人就越多,也越有利於去中心化;而對於區塊鏈系統來說,去中心化程度越高,主動治理系統的付出就越少,反之就需要投入更多的精力去主動進行系統治理。
目前應對上述問題的具體方法主要分為兩類:一是通過修改共識機制的方式,使系統各節點間可以更高效的進行驗證(上一篇文章了我們介紹了通過改變共識機制提高TPS的方法),同時有助於提升系統的容錯性;二是通過零知識證明、同態加密、安全多方計算(MPC)等密碼學相關技術,使得節點間進行驗證的時候,不必驗證區塊的完整信息,而只需驗證區塊頭(PreHash、Hash、TimeStamp)及所使用的密碼學相關信息即可,大大降低了節點所需帶寬,同時有利於共識的達成。
圖片描述

圖片描述
圖片描述
混合共識(Hybrid Consensus)
零知識證明技術:零知識證明(Zero-Knowledge Proof)技術是一種基於概率的驗證方法,目的是讓證明者既能充分證明自己是某種權益的合法擁有者,又不需要洩露任何有用的額外信息(比如隱私信息等),最終實現在“給驗證者的知識為零“的情況下證明自己。
比較典型的一個例子是:假設A有兩個不同顏色的球,A的一個色盲朋友B不相信A的兩個球顏色不同,A如何才能讓B相信這是真的呢?利用零知識證明的辦法如下:
Step1:A把兩個球給B,B每隻手拿一個球,
Step2:A轉過身背對B,
Step3:B在A轉身後,進行一次“是否交換手中兩個球位置“的動作決定,動作決定之後B讓A轉過身,
Step4:A轉過身,B問A是否交換過球,
Step5:如果A回答錯誤,則B不相信;否則,重複100次實驗,如果A都回答正確,則B相信這兩個球是不同顏色的。
為什麼?如果兩個球顏色不一樣,那麼A每次都應該能分辨;如果兩個球顏色一樣,則不管B有沒有交換過,A都無法分辨,只能亂猜。這樣每次猜對的概率只有1/2,重複100次,都猜對的概率將小到可以忽略,所以A將必然會在過程中猜錯一次。
圖片描述

圖片描述
圖片描述
零知識證明(Zero-Knowledge Proof)


