Vitalik Buterin:去中心化的意義

weixin_33912246發表於2018-05-15

「去中心化」是加密經濟學領域最常用詞彙之一,通常被認為是區塊鏈的整體存在理由 raison d’être,但它也是被定義得最不佳的詞之一。花費數千小時的研究,價值數十億美元的雜湊算力,唯一目的在於試圖達成去中心化,並加以保護和改善,當討論變得富有敵對性,對於一個協議或協議延伸的倡導者而言,一個極為常見的宣稱是,此協議的相反提案是「中心化」的,以此作為最終壓倒性論點。

但是,對於這個詞的真正含義,人們常常會感到困惑。

現在,考慮一下 Quora 上對這個問題的兩個回答:「分散式和去中心化的區別」。第一個回答本質上是對以上圖示的機械重複;而第二個則是完全不同的說法:「分散式意味著,不是所有交易處理都在同一處完成(not all the processing of the transactions is done in the same place)」,「去中心化意味著,沒有一個單一實體可以控制所有處理過程(not one single entity has control over all the processing)」。在 Ethereum stack exchange 上的一個回答,給出了一張圖解,「去中心化」和「分散式」交換了位置!很明顯,一個需作的澄清是其次序。

去中心化的三種型別

當人們討論軟體去中心化時,實際上他們可能在討論三個獨立的中心化 / 去中心化座標軸。然而在某些情況下,很難看出如何可有一個而無另外一個,總的來說,它們彼此獨立。座標軸如下:

架構 Architectural (中心化或去中心化)——一個系統由多少物理計算機組成?可容忍其中多少計算機在任何時候崩潰?

政治(中心化或去中心化)——有多少個人或組織最終控制組成系統的計算機?

邏輯(中心化或去中心化)——系統呈現和維護的介面 (interface) 和資料結構,看起來更像是一個單一巨大體(object),還是一個無定形叢集?一個簡單的啟發法是:如果把系統分成兩半,兩者同時含有提供者和使用者,那麼這兩者將繼續作為獨立單位進行完全操作嗎?

我們可嘗試把這三個維度放入一個圖表:

值得注意的是,很多這樣的放置都是非常粗糙且高度有爭議。但是讓我們來嘗試看看其中任意一個:

傳統公司是政治中心化(一個 CEO),架構中心化(一個總部),邏輯中心化(無法真正將其拆成兩半)。

民法法系 Civil law,依賴於一箇中心化立法機構,普通法法系則由許多個人法官所作先例構成。儘管許多法院有很大自由裁量權,導致民法法系仍有一些架構上的去中心化,但是普通法法系架構去中心化程度更甚。兩者在邏輯上都是中心化的,「the law is the law 法律即法律」。

語言在邏輯上是去中心化的;Alice 與 Bob 之間所講英語,和 Charlie 與 David 之間所講英語,一點也不需一致。沒有一種語言的存在需要中心化基礎設施,英語語法規則非由任何單一個人創造或控制。世界語最初由 Ludwig Zamenhof 發明,現在其功能,更像一種生活化語言,在無任何權威 authority 之下,逐漸進化。

類似英語,BitTorrent 是邏輯去中心化。內容分發網路同樣類似,但由一單一公司控制。

區塊鏈是政治去中心化(沒有單體 one 控制它們),架構去中心化(無基礎設施中心點故障),但邏輯中心化(有一個得到普遍共識的狀態,系統行為就像一臺單一計算機)。

許多次,當人們談到區塊鏈的優點,他們描述了擁有「一箇中央資料庫」所帶來的方便好處;其中心化是邏輯中心化,這是一種在很多情況下都可以說是好的中心化。儘管來自 IPFS 的 Juan Benet 也將推動邏輯儘可能去中心化,因為邏輯去中心化系統往往擅於留存網路分割槽 surviving network partitions,在連通性較差的世界各區執行得也比較好,等;參見 Scuttlebot 此文,明確提倡邏輯去中心化。

架構中心化 Architectural centralization 時常導致政治中心化 political centralization,儘管這非必定——在一個正式的民主政體中,政治家們會在一個物理治理議院會面並舉行投票,但最後這個議院的維護者們最後不會獲取任何大量的決策權力(The maintainers of this chamber do not end up deriving any substantial amount of power over decision-making as a result)。在計算機化系統中,如果有一個線上社群為了方便,使用一箇中心化論壇,就會發生架構去中心化,而非政治去中心化(In computerized systems, architectural but not political decentralization might happen if there is an online community which uses a centralized forum for convenience),但是在這個論壇中,存在一個得到廣泛共識的社會合約----如果論壇所有者惡意行動,其他所有人都將會轉移至另外論壇——這另外論壇因反對其他論壇的審查制度而形成,但在實踐中,卻很可能擁有同樣性質。

邏輯中心化 logical centralization,讓架構去中心化 architectural decentralization 變得更加困難,但也並非不可能——看看去中心化共識網路已經如何被證明可行,但要比維護 BitTorrent 更難。邏輯中心化 logical centralization 也讓政治去中心化 political decentralization 更加困難——在邏輯中心化系統,通過簡單地同意「活著,讓它存活」(by simply agreeing to 「live and let live」)來解決爭論就更困難了。

去中心化存在的三個理由

接下來的問題是,為什麼去中心化是首要有用的?以下是幾點理由:

容錯——去中心化系統(decentralized systems)不太可能意外故障(fail accidentally),因為它們依賴於許多不太可能意外故障的獨立元件(many separate components that are not likely)。

抗攻擊——對去中心化系統進行攻擊、破壞或操控成本更高,因為它們缺乏敏感中心點,如果是敏感中心點,其攻擊成本比周圍系統經濟規模低得多。

抗勾結——去中心化系統的參與者,更難以損人利己的方式相互勾結;而企業和政府的領導層卻向來以利於自身,損害與其不太“對頭”的公民、客戶、僱員和公眾利益的方式,相互勾結。

以上三點重要且合理,但是,一旦你開始以以上三個單獨視點思考協議決策時,這所有三點都導向一些有趣和不同的結論。讓我們試著把以上三點逐一展開。

關於容錯,其核心論點很簡單。不太可能發生的是:一臺計算機故障,或十臺計算機中的五臺都同時故障?這個論點是毫無爭議的,且適用於真實生活中的很多情況,包括噴氣發動機,備用發電機,特別是在醫院,軍事基礎設施,多樣化金融投資組合等處,對了,還有計算機網路。

然而,這種去中心化雖然仍然有效且非常重要,但與其說其是一種萬靈藥,不如說是一個稚拙的數學模型有時所能預測。原因是共同模式故障(common mode failure)。

當然,比起一臺噴氣發動機,四臺噴氣發動機組合發生故障的可能性較低,但如果所有這四臺發動機都是由同一家工廠所製造,且這四臺發動機的一個缺陷,都是由同一名異常員工所引入呢?

現在的區塊鏈是否能夠抵禦共同模式故障呢?不一定。考慮以下場景:

一個區塊鏈的所有節點都執行相同的客戶端軟體,而這個客戶端軟體有一個 BUG。

一個區塊鏈的所有節點都執行相同的客戶端軟體,而這個軟體的開發團隊出現了社交腐化(socially corrupted)。

提出協議升級提議的研究團隊出現了社交腐化。

在一個 PoW 區塊鏈中,70% 的礦工都在同一個國家,這個國家的政府為了國家安全,決定接管所有礦場。

大多數挖礦軟體都由同一家公司生產,而這家公司被賄賂或被迫開後門,使相應挖礦硬體可被隨意關閉。

在一個 PoS 區塊鏈中,70% 的幣由一個交易所持有。

關於容錯去中心化的整體觀點,將會著眼於所有以上這些方面,看看它們可如何最小化。一些自然的結論是顯而易見的:

至關重要的是,擁有 [多方競爭執行 (https://www.reddit.com/r/ethereum/comments/3pdskt/how_many_ethereum_implementations_are_there/)。

協議升級 背後的 技術考量知識必須民主化,這樣更多的人就可以舒適地參與研究討論,批判那些明顯不好的協議變更。

核心開發者和研究者應該分別受僱於多家公司或組織(或者,他們中的許多人可以是志願者)。

挖礦演算法應以 最小化中心化風險 的方式進行設計。

理想情況下,我們使用 PoS,以求完全擺脫硬體中心化風險(我們也應謹慎對待 PoS 帶來的新風險)。

請注意,以上稚拙形式的容錯要求主要關注架構去中心化,一旦你開始考慮社群(管理協議的持續發展)的容錯性,那麼政治去中心化也很重要。

現在,讓我們來看看抗攻擊。在一些純經濟模型中,你有時會得到這樣的結果:去中心化並不重要。如果你建立了一個協議,在這個協議中,如果發生 51% 攻擊,驗證者將損失 5000 萬美元,那麼,驗證者由一家公司還是由 100 家公司控制,這不重要——5000 萬美元的經濟安全保證金(economic security margin)就是 5000 萬美元的經濟安全保證金。實際上,其中有 深刻博弈論推理過程,即為什麼中心化甚至可以最大化這種經濟安全的概念(現有區塊鏈的交易選擇模型反映了這一觀點,因為通過礦工 / 區塊提出者將交易打包到區塊,實際上是一個非常迅速的輪換獨裁)。

然而,一旦你採用了一個更豐富的經濟模型,特別是如果這個經濟模型承認脅迫可能性(或溫和一點,如針對節點的目標 DOS 攻擊),去中心化就變得更加重要。如果你用死亡威脅一個人,那麼對這些人而言,5000 萬美元就突然無關緊要。但如果這 5000 萬美元分佈於 10 個人之間,那麼你就必須威脅到十倍的人,並且要同時做到這一切。通常來說,在許多種情況下,現代世界的一個特徵是有利於攻擊者的攻擊、防禦不對稱——一個建築成本 1000 萬美元的建築,可能破壞成本不到 10 萬美元,但是攻擊者的杆槓作用往往是次線性的(sublinear):如果一座造價 1000 萬美元的建築要花費 10 萬美元去摧毀,那麼一座造價 100 萬美元的建築,可能要花上 3 萬美元才能摧毀。更小型的建築給出更高的比率。

這個推理導向哪裡呢?首先,相比 PoW,它更有力地推動了對 PoS 的支援,因為計算機硬體易於檢測、管理或攻擊,而幣則更容易隱藏(由於 其他原因,PoS 也具有很強的抗攻擊力)。其次,這有利於擁有分佈廣泛的開發團隊,包括地理分佈度。第三,這意味著,在設計共識協議時,需要同時考慮經濟模型和容錯模型。

最終,我們可以討論以上三點中可能最複雜的一點,抗勾結。勾結很難定義;或許唯一真正合理的定義它的方式是,簡單地說,勾結是「我們所不喜歡的協調方式(coordination that we don't like)」。現實生活中,很多情況下,每個人之間擁有完美協調,這是理想的,但一個子組 sub-group 能夠協調,另一些卻不能,這是很危險的。

一個簡單的例子是反信任法 antitrust law,一個慎重的監管門檻 regulatory barriers,其目的在於,讓位於市場一邊的參與者更難聚集起來,更難行壟斷者之事,以市場另一邊者的利益和一般社會福利為代價而獲得超額利潤。另一個例子是在美國總統候選人和超級 PAC 之間的反積極協調規則,儘管這些規則在實踐中被證明是很難執行的。一個更小的例子是一些象棋比賽規則,防止兩名選手為了提高分數而頻繁彼此比賽。無論你看向哪裡,試圖在複雜機構中預防非願協調 undesired coordination,這樣的嘗試無處不在。

在區塊鏈協議的情況下,共識安全背後的數學和經濟推理,通常依賴於不協調選擇模型 uncoordinated choice model,或依賴於這樣的假設---遊戲由許多獨立決策的小行為者組成。在一個 PoW 系統中,如果任何一個行為者獲得超過⅓的算力,他們就可以通過私自挖礦獲得超額利潤。然而,我們真的可以說,當 90% 的比特幣網路算力協調足夠良好,並出現在同一個會議上時,不協調選擇模型是切實可行的嗎?

區塊鏈擁護者也強調一點,建立於區塊鏈上更安全,因為他們不能在任何時候突發奇想任意改變規則,但如果軟體和協議開發者都服務於同一家公司,同屬一個家族,坐於同一間屋子,那麼任意改變規則的情況就會變得難以防衛。要點是這些系統不應該像自私自利的集權壟斷體那樣行事。因此,你可以肯定地解釋說,如果區塊鏈更加不協調 more discoordinated,就會更加安全。

然而,這顯示了一個根本矛盾。許多社群,包括以太坊,通常因為擁有一個強大的社群精神,能夠在執行、釋出和啟用一個硬分叉上進行快速協調,在六天內解決協議的拒絕服務問題,而受到稱讚。但我們可如何培育和改善這種良好協調,同時防止“糟糕協調”,比如礦工試圖通過反覆的協調 51% 攻擊,來欺詐其他任何人?

回答這個問題,有三個方式:

不要費心去緩解非願協調(undesired coordinatio);相反地,要嘗試構建能夠抵制它的協議。

嘗試尋找一種幸福媒介(happy medium),允許為協議進化和前進進行足夠協調,但還不足以啟用攻擊。

嘗試區分有益協調和有害協調,讓前者容易,讓後者難。

第一個方式佔了 Casper 設計哲學的很大一部分。然而,它本身是不足夠的,僅僅依靠經濟學不能解決對去中心化的其他兩類擔憂。

第二個方法很難進行明確設計,特別是從長遠來看,但它經常意外地發生。例如,比特幣的核心開發人員一般說英語,而礦工一般說中文,這可以被視為一個幸福的意外,因為它創造了一種「兩院制」治理,其使協調變得更加困難,附加好處是減少共同模式故障風險——英文和中文社群會因距離和溝通困難而至少某種程度上有各自思考,因此不太可能同時犯同樣錯誤。

第三個方式是一個社會學挑戰,這大於其他任何事情,在這方面的的解決方法可能包括:

社會干預措施,即試圖提升參與者對該區塊鏈社群整體的忠誠度,以替代 substitute 或抑制市場彼方參與者直接對彼此忠誠的可能性(substitute or discourage the possibility of the players on one side of a market becoming directly loyal to each other)。

在相同語境下,促進不同「市場各方」之間的溝通,以降低這樣的可能性——驗證者,或開發者,或礦工,開始將自己歸類為這樣一種人——必須協調(coordinate)起來,以對抗其他類別的人,保護自己的利益。

以某種方式設計協議,以減少了以下動機——驗證者 / 礦工參與一對一「特殊關係」,中心化中繼網路,以及其他類似超級協議機制。

清晰規範:關於協議應具備的基本屬性,以及哪些事情不該做,或者至少應該在非常極端的情況下才能做。

第三種型別的去中心化,作為非願協調規避(undesired-coordination-avoidance)的去中心化,可能是最難實現的,權衡折中不可避免。也許,最好的解決方案可能是重度依賴於可保證相當去中心化的一個群體:協議使用者。


文章來源:鏈聞ChainNews

作者:Vitalik Buterin

編譯:liao

相關文章