在傳統的平台技術中,中心決策是非常常見的一種數據處理方式,例如銀行傳統的轉賬方式中,交易信息要經過銀行的中心服務器集群進行處理,通過層層的數據上傳和指令分發完成兩個賬戶間的交易。而區塊鏈中的每筆交易都是交易人雙方直接進行溝通和交易的,從發起交易到交易完成確認,不經過任何中介機構,所有節點都是平等的,具有完全相同的權限,這種在網絡中點對點交易的模式,使區塊鏈應用免於中介交易的風險。
需要注意的是,區塊鏈雖然經常被稱為分布式賬本,甚至其本質就是一種分布式的存儲係統,但區塊鏈與常規的分布式係統不同,它的分布式結構更加特殊。分布式是與中心化相對應的一個概念,中心化結構中的所有分節點都隻與中心節點進行數據交互,相互之間沒有任何聯係,因此中心節點需要承擔全部的負載,一個中心化係統的效率基本隻與中心節點的處理速度相關,同時一旦中心節點出現阻塞、死鎖、宕機等問題,整個中心化係統就會隨之停滯運行甚至直接崩潰。而分布式結構中的特點則是存在多個可以與其他節點的進行數據交互的節點,分布式網絡存儲技術則是將數據分散的存儲於多台獨立的機器設備上。這聽起來有些拗口,但如果對其基於中心化特點進行分類描述就容易理解了,分布式結構包括了多中心化結構與去中心化結構。
多中心化係統是指由多個中心化係統構成的係統,其中每一個中心化係統都包括一個主節點和若幹個從節點。在進行任務處理時,由主節點將任務拆解為多個分任務,並分別下發至其下屬的多個從節點同時進行處理。從節點將處理結果回傳至主節點後,主節點將對各個分任務的處理結果進行整合,最終完成任務。當然這隻是一個簡化的任務處理描述,多中心化係統可能存在多層主從結構,形成樹狀的任務分配結構。同時,從節點還可能聽命於多個主節點的調配,基於複雜的任務管理機製,實現效率最大化。但多中心化與去中心的根本區別在於是否有一個中心節點控製著各個主節點的運行,如果最頂層的節點是多個節點,那麼它就是去中心化,相反,如果頂層隻有一個節點,它就是多中心化的。
在去中心化裏,還有更為特殊的一種不存在任何中心的結構,可以稱其為完全去中心化結構,這也就是點對點網絡結構,這種結構在比特幣網絡中就有所體現。點對點網絡結構的相對優點是高容錯、節點拓展性強、隱私性強和數據一致等,但相應也存在冗餘通信、消息延遲等問題。
圖5 網絡結構劃分示意圖
一般區塊鏈領域內強調的”去中心化”,大多指的是係統的歸屬層麵。係統歸於社區和所有賬戶是去中心化的,係統歸於機構甚至某個人則是中心化的。去中心化是區塊鏈的共同特征,但點對點網絡這種完全去中心化結構卻在當前的應用較少,隻有比特幣、以太坊等公有鏈屬於這種結構,因為全世界任何人都可以隨時進入到係統中進行讀取數據、發送可確認交易、競爭記賬行為,這導致了其安全性和係統效率不能得到保障。私有鏈往往具有一個或多個中心對節點進行管控,所有操作均需得到該中心的許可並受其約束和限製,雖然其進行常規數據處理時采用去中心化的機製,但它在嚴格意義隻是一種分布式的區塊鏈部署模型。而聯盟鏈則可被視為私有鏈的集合,是公有鏈在安全性與高效性上的妥協,它采用了多中心的技術架構。
區塊鏈由於具有不可篡改的天然特點,基於共識算法保證數據一致,係統中的任何節點都無法篡改和偽造交易,所有交易內容都是確定的、沒有爭議的,交易將不存在信用風險,那麼區塊鏈係統也就具備了去信任化特征。
基於區塊中承載內容由交易到智能合約的變化,區塊鏈的去信任化有兩個階段,第一階段是對區塊鏈網絡中 曆史 交易行為真實性的信任,第二階段是以智能合約規則為基礎,對未來交易行為的信任。
第一階段對 曆史 行為真實性的信任,可以簡單理解為區塊鏈係統免除了證明 曆史 交易的過程。當我們向別人說明某事曾經發生過時,需要有證據才能讓別人相信,而這個證據往往需要一個有公信力的第三機構來證明,並通過驗真手段提供信用保證。例如進行網絡購物時購物平台提供的電子交易單是證據、在外用餐時餐廳提供的稅務局發票是證據、或者在使用夫妻身份購房時機構提供的結婚證是證據。而在接受這些信息的人也需要對這些證據驗真才能確信這些事確實是發生過的,與前文對應的,在出現網絡購物糾紛時,需要查詢購物平台的電子交易單是否真實存在;進行餐費報銷時,需要對發票的簽章進行核驗;確認兩人夫妻身份時,需要對結婚證的防偽標誌進行核驗。但區塊鏈係統的數據被認為是不可篡改和偽造的,因此隻要是向鏈上的其他節點說明一件 曆史 發生的事就不需要任何第三方證明,因為數據塊上的信息隨時可以被拿出來直接考證,這便形成了區塊鏈的 曆史 交易去信任化。
第二階段對未來交易行為的信任,因為在理想的狀態下,區塊鏈的智能合約是與業務綁定的,即智能合約在區塊鏈係統中具備強製執行力。因為智能代碼是完全公開的,且被記錄在主鏈中被所有賬戶所儲存。在智能合約被調用或是被某一機製觸發後交易將被強製執行等操作,不存在抵賴的可能性。因此在區塊鏈係統中的用戶不必擔心對方在未來的信用風險,這邊形成了對未來交易去信任化。
在公有鏈中,每一個節點的賬本都完整記錄了所有交易,區塊鏈不直接進行賬戶信息的實時記錄,而是通過交易追溯的方式得出賬戶實時信息,同時由於任何人都可以創建區塊鏈賬戶以形成區塊鏈節點,那麼公有鏈中的信息可以被認為是對所有人公開的,這就形成了區塊鏈的開放與可追溯特征。且因公有鏈的代碼往往是開源的,那麼開放可追溯的不僅是係統中的交易數據,還有整個係統的交易規則,高度的公開透明化使區塊鏈滿足了許多需要公開數據的應用場景。
不過區塊鏈基於比特幣網絡的基礎上還發展出多種變體,例如比輕節點,以及私有鏈與聯盟鏈等,這些變體不能滿足嚴格意義上的開放可追溯。輕節點隻能執行和驗證交易,沒有全部的交易數據可供回溯,因此輕節點不具備可追溯性。不過這一問題隻是在於用戶的選擇,如果具備足夠好的硬件環境,用戶完全可以選擇成為一個全節點而非輕節點,以便掌握全部數據。另外,加入私有鏈與聯盟鏈是需要準入許可或者被驗證的,讀取權限是有選擇性地對外開放,並非對全網公開,這也就不滿足嚴格意義上的開放性。