在區塊鏈的「去中心化、數據公開透明、不可篡改」等這些特徵中,其中的「去中心化」這一點是區塊鏈的一個本質特徵。我們如何去理解「去中心化」?
要理解「去中心化」的內在特徵,首先回憶一下在生物學中的知識:
生物中分為單細胞生物和多細胞生物二大類。肉眼能看到的生物都是多細胞生物。
多細胞生物的細胞分化成為不同功能的細胞,由於多細胞生物的細胞出現了分化,所以整個生物體就會具有很複雜的功能。
單細胞生物經常會聚集成為細胞集落,細菌就是單細胞生物,它會聚集形成菌落。雖然細胞集落有時會顯出多細胞生物的一些特性,但由於其細胞沒有分化,所以其能力極其有限。
以人類為代表的高等動物的細胞是分化最徹底的,不同細胞高度分化,不同的器官非常精細的合作,整個生命體具有極其複雜的功能。其代價就是細胞失去了全能性。動物還分化出了專門的神經系統,對各個器官進行整體性的控制,以實現整個生物體的一致性活動,集約高效。
所以,無中心化的內在特徵本質上就是節點是否分化。可以看到,個體的獨立性與其是否分化有著密切的關係。一旦個體分化了,其獨立性就會下降。保持獨立是無中心化,高度分化是中心化。
以比特幣系統為例,每一個節點運行的邏輯都是同樣的,所有節點都是對等的。這樣做顯然保持了節點的獨立性和全能性,去中心化程度是比較高的。但是也存在問題,如果一部分正常的節點和其他節點失去了聯繫,那麼它會持續運行,最終成為比特幣的一個分叉。因此,網際網路主幹光纖(比如中美海底光纜)如果斷掉超過1小時,比特幣很可能就會分叉成為2個不同的幣種。這一點和植物很像,掰下來一個分叉,如果不及時嫁接回去,那麼在適合的環境中,就會變成一株新的植物。
對於企業中運用區塊鏈,為了兼顧去中心化和高效,可以適當對節點做一些分工,例如現在最流行的Fabric 1.0就對節點進行了一些分工,提高了整個區塊鏈系統的吞吐量和處理速度。
分析完了去中心化的內在特徵後,我們再來看看去中心化的外在表現。
去中心化是一個相對的概念,隨著去中心化程度的不同,其採用的共識機制並不一樣,表現出來的共識方式也不一樣。例如,最典型的比特幣區塊鏈系統,本質上是所有節點都遵循了同一個協議,這個協議中規定了所有節點都遵守同一個共識算法,依靠該算法使所有節點數據保持一致。依靠共識算法來選擇數據信任源是一種去中心化的方法。與中心化系統的區別在於,中心化系統的數據信任源是一臺指定的機器,而比特幣系統則是每一個「塊」都是由所有節點通過算力競爭產生的。
從上述分析可知,只要信任源不是事先指定好的,而是後期通過某種競爭機制選擇出來的,我們就認為這個系統是去中心化的。而且,每次競爭的結果越分散,我們會認為這個去中心化的效果越好。
指定的一臺機器可以被某個主體控制,而共識算法的選擇結果則很難被某個主體控制,但並不是絕對不能被控制:以比特幣系統為例,當一個人掌握的計算能力超過整個比特幣網絡的51%,他就成為了事實上的比特幣的中心。
總結一下,在去中心化的外在表現上,去中心的程度意味著整個區塊鏈系統被單個主體控制的難易程度。
以上從內在特徵和外在表現兩個方面分析論述了區塊鏈的「去中心化」。區塊鏈技術的去中心化是非常公平的,體系中人人都可以是節點,依靠共識機制有效保證了鏈上的公平性和人人都可以參與。