V神:你所理解的「去中心化」不必定準確

image

「去中心化」被視爲區塊鏈存在的核心意義,但它也許是定義最不明確的一個詞。git

咱們花費了數千小時的時間,耗費了上億美圓的哈希算力,就是爲了實現網絡的去中心化。當咱們討論某個區塊鏈網絡好很差時,只需簡單說一句「這個不是去中心化的」,彷佛就能輕鬆贏得爭論。github

可是實際上,不少人對「去中心化」這個詞的真正意義並無那麼瞭解。算法

常常有人拿下面這組圖來解釋去中心化,但我想說,這張圖徹底沒用。數據庫

image

在軟件世界裏,能夠用三個維度來判斷「中心化」和「去中心化」。安全

1

去中心化的三個維度

**架構層:**一個系統由多少臺計算機組成?在系統運行時,可以承受多少臺計算機同時崩潰,而系統不受影響?服務器

**政治層:**在這個系統中,有多少我的或組織擁有計算機的最終控制權?網絡

**邏輯層:**這個系統的界面和數據結構所呈現出來的,更像一臺完整的單一設備,仍是更像一個由無數不固定的單位組成的集羣?簡單來講:若是把一個系統分紅兩部分,每部分都包含供應商和用戶,那麼這兩部分能單獨做爲獨立系統運行下去嗎?數據結構

把這三個維度畫在一張表裏,可能會更清楚:架構

image

須要說明的是,這些維度如今的排放位置可能還比較粗糙,也存在不少爭議,但咱們仍然能夠看一些例子,來幫助咱們更好的理解這三個維度。學習

公司:傳統公司在政治層、架構層、邏輯層上都是中心化的(只有一個CEO、一個總部、而且不能把它分紅兩半)。

法律:現代法律體系分爲大陸法和普通法,大陸法依賴於一箇中心化的立法機構制定,而普通法是由許多法官依靠先例來制定的。因爲如今不少法院享有自由立法權,所以大陸法有一小部分是去中心化的,對比大陸法,普通法的去中心化程度更高。但在邏輯上,二者都是中心化的(法律就是法律)。

語言:語言在邏輯上是去中心化的,Alice和Bob所講的英語,不須要和Amy與Tony講的英語一致。沒有任何一種語言的存在須要中心化的基礎設施或機構作支撐,同時英語的語法規則也不是由某我的創造和掌控的。

BitTorrent網絡:和英語同樣,BitTorrent在邏輯上也是去中心化的,內容分發網絡也是這樣,但它們都受某家公司的控制。

區塊鏈:區塊鏈在三個維度上都是去中心化的,由於在政治層,沒有任何單一個體來掌控它;在架構上,沒有一個統一的服務器;在邏輯上,每一個網絡中都有一個統一的共識協議,系統的總體行爲表現又像一臺單獨的計算機。

看過英文版區塊鏈介紹資料的老鐵可能會說,在英語中,每當說到區塊鏈的優點時,不少人都會說它是「one centra database(一箇中央數據庫)」,區塊鏈不是去中心化的嗎?爲何又說它是中央的數據庫呢?

其實否則,「中央數據庫」的「中心化」是邏輯上的中心化。在多數狀況下,邏輯上的中心化實際上是比較好的選擇。固然也有人主張,邏輯上也要儘量地去中心化,由於邏輯層去中心化的系統,在網絡鏈接較差的地區,能運行的更好。

2

爲何須要去中心化

接下來的問題是,咱們爲何須要去中心化?它有什麼做用呢?主要有三個方面的緣由

  • 容錯性較強:去中心化的系統不太可能由於某個意外故障而中止運行,由於它們依賴於許多分散化的組件運行,容錯能力更強。

  • 抗攻擊性較好:從經濟意義上來講,攻擊去中心化系統的成本比中心化系統的成本要高得多,這就比如你摧毀一座房子和摧毀一座城市的差異。

  • 抗合謀性較好:去中心化系統裏的參與者們,爲了自身利益而相互串通勾結,是很是困難的。而傳統企業和政府裏的高層管理者,每每會爲了自身利益,以損害公衆、員工、下屬的利益的方式,相互勾結。

這三點是「去中心化」系統很是重要的優點和特性,讓咱們來逐一詳細的瞭解一下。

容錯性

容錯性的核心概念其實很簡單。一臺計算機出現故障的機率和十臺中的五臺出現故障的機率相比,哪一個更大?顯然是前者。就比如10個雞蛋集中裝在一個籃子裏的風險比分開裝在10個籃子裏,摔碎的風險更大。因此去中心化也是分散風險的一種方式。這種概念在現實生活中獲得普遍應用,如噴氣發動機、備用發電機,以及醫院、軍事的基礎設施、金融組合投資、計算機網絡等。

去中心化的容錯能力雖然頗有效、很重要,但遠沒有數學模型來得有用,緣由在於有「共模故障」。四個發動機同時出故障的機率確實比一臺發動機出故障的機率低,但若是這四臺發動機都是同一個工廠製做的,而且在製做時存在同一個缺陷,又會怎樣呢?這就是共模故障。

**區塊鏈可以防止共模故障嗎?**不必定,咱們能夠看幾個例子

  • 區塊鏈上全部的節點都在同一個客戶端軟件中運行,每一個軟件都不是100%完美的,均可能存在bug。

  • 供區塊鏈節點運行的客戶端軟件,是人爲開發的,開發團隊中可能存在相互勾結串聯,行貪腐之事。

  • 在以「工做量證實」爲共識機制的區塊鏈中,70%的礦工是在同一個城市,可能存在政府爲了國家安全而對礦場進行管制的風險。

  • 大多數挖礦設備都是由同一家公司生產的,這家公司可能會爲了自身利益,被賄賂或被威脅,在挖礦設備上作個手腳,使得這些挖礦設備能夠隨意被關停。

  • 在以「權益證實」爲共識機制的區塊鏈中,可能70%的幣由同一家交易所持有。

很顯然,將上面這些問題最小化,才能保證去中心化系統的容錯性。

**但怎麼才能將這些問題最小化呢?**下面有一些建議

  • 儘量地保持多方競爭關係,協議升級必須是民主化的,這樣才能讓更多的人蔘與研究、討論和改進協議。

  • 核心開發者和研究人員應該由多個公司和組織的僱員組成(或者,他們中的一些人能夠是志願者)。

  • 挖礦算法應該以將中心化風險降到最低程度的思路來設計。

  • 理想狀況下,「權益證實」機制能夠擺脫硬件設備中心化的風險。(固然,權益證實也會帶來新的風險)

  • 值得注意的是,初級容錯能力關注的每每是架構層面的去中心化,但當考慮一個系統長遠發展時的容錯能力,政治層面的去中心化更爲重要。

抗攻擊性

在某些純經濟模型中,你會發現去中心化根本不重要。若是你建立一個協議,協議規定「一旦發生51%攻擊,驗證者就會損失5000萬美圓」,那麼驗證者是被一家公司控制仍是一百家公司控制,就可有可無了。5000萬美圓是保證這個協議安全的邊際成本。

但若是在一個「富經濟模型」中,尤爲是這個模型存在威脅的可能性(或者說針對節點的目標DOS攻擊),去中心化就變得很是重要。若是你用一我的的生命安全來威脅他,5000萬美圓對這我的來講就再也不重要了,你能夠很容易的勒索走5000萬美圓。但若是是10我的分散持有5000萬美圓的話,你要想得到這筆錢,就必須分別同時威脅勒索這10我的,風險也就翻了10倍。

但在現實世界中,有一個特色,就是大部分狀況下,攻擊和防護並不對等,攻擊者每每更有力。好比一棟造價1000萬美圓的大樓,可能只須要10萬美圓就能把它摧毀(費率是1%),摧毀100萬美圓的大樓則須要3萬美圓(費率是3%),再往下,造價越低的大樓,摧毀的費率會越高。

這說明什麼?

首先,權益證實比工做量證實更優越,由於在PoW機制下,挖礦的硬件很容易被監測、掌控和攻擊。其次,區塊鏈開發團隊分佈的越普遍(包括地理位置的分佈),系統就越安全。最後,在設計共識協議時,經濟模型和容錯模型都須要考慮進去。

抗合謀性

最後,咱們終於能夠討論三個當中最複雜,聽起來也最彆扭的的一個了:抗合謀性。合謀這個詞自己就很難定義,簡單點解釋,合謀就是大部分誠實的人「不喜歡的合做方式」。在不少狀況下,當一部分人可以完美的協調合做,而另外一部分人不能時,狀況就變得危險了。

好比,反壟斷法就是一個例子,爲了防止市場參與者聯合起來,實施壟斷,損害消費者和社會福利,反壟斷法就故意設置障礙以阻止他們。

在區塊鏈中,共識安全背後的數學和經濟模型也依賴這種「非協調選擇模型」,換句話說,就是避免節點之間相互協調合做,也能夠說它是創建在每一個節點都能獨立作決定的假設之上的。

區塊鏈的擁護者們都認爲區塊鏈很安全,由於沒有人可以爲所欲爲地改變協議規則,但若是區塊鏈軟件和協議的開發團隊都來自同一個公司,在同一個辦公大樓上班,那麼區塊鏈就沒那麼安全了。所以,若是一個區塊鏈網絡更分散,爲之工做的人很難相互串通勾結,那它就更安全。

但這也揭示了一個根本性矛盾,不少社區,包括以太坊,都但願有一個強有力的社區精神,並可以快速協調工做。因此咱們要怎樣才能在擁有良好的協調關係下,又可以防止開發者們相互合謀,實施欺詐呢?

要解決這個問題,有三種途徑

  • 別阻止協調合做,試着用協議規則來阻止勾結合謀。這也是以太坊Casper 機制設計的指導思想。但只有這一點是不夠的,由於經濟學並不能徹底解決去中心化的其它兩類問題。

  • 試着找到一個平衡點,使得合做可以有利於協議的發展,而同時又不會演變成合謀關係。這種方法很難明確設計,但它常常會有一些「小意外」產生。舉個例子,比特幣社區的核心開發者一般說英語,而礦工一般說中文,這能夠說是一個「驚喜的意外」了,由於它無心中創造了「兩院制」的治理機制。由於中文社區和英文社區溝通困難,減小了他們相互勾結的可能性,也減小了共模故障的風險。

  • 創建一個區分「有益的合做」和「有害的合做」的標準,而後想辦法讓前者變得更容易,後者更難實現。

這種方法包含一個社會學挑戰,它須要作到如下幾點:

制定一個干預措施,提升參與者對整個區塊鏈社區忠誠度,減小參與者彼此間的忠誠度;

促進不一樣市場的參與者在一樣的語境下進行溝通,這樣就能減小同一階層的參與者聯合起來對抗其它階層的可能性;

在設計協議時,減小驗證者和礦工造成「一對一關係」的可能性,或者避免造成中心化的中繼網絡和其它相似的超級協議機制;

協議應該明確規定哪些事情不能作,哪些事情只有在很是極端的狀況下才能作。

抗合謀的去中心化多是最難實現的,所以咱們要作一些權衡取捨,或許最好的方法是依賴一個可以保證去中心化的羣體(即協議上的用戶)。

本文來源:萬向區塊鏈

本文翻譯自Vitalik Buterin的博文《The Meaning of Decentralization》

如下是咱們的社區介紹,歡迎各類合做、交流、學習:)

image

HiBlock區塊鏈社區更多活動點擊**「閱讀原文」**查看

相關文章
相關標籤/搜索