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