北京時間 6 月 2 日,EOS 開發團隊 Block.one 發佈了 EOS 1.0 版本的開源軟件代碼,也意味着 Block.one 對 EOS 發佈的影響到此爲止,之後 EOS 的發展將基於整個社區去中心化的共識。

軟件代碼的公佈並不代表主網的上線,EOS 主網上線還需要經歷驗證映射、測試、超級節點投票和啓動階段,只有完成這四個階段後才宣告 EOS 公鏈正式運行。

而上述階段的核心便是鏈上投票治理,以太坊創始人 Vitalik 在去年 12 月寫過一篇文章,詳細闡述了鏈上持幣投票的優缺點及整個區塊鏈治理模式的挑戰。

在 Vitalik 看來,人們高估了諸如 EOS 等鏈上持幣投票的治理模式,區塊鏈治理是一個複雜的問題,面臨投票參與度低、博弈論攻擊、賄票、非代表性和中心化等問題。

持幣投票作爲治理模式的一種有其優點,但是無法解決上述所有治理問題。形成一個完善的治理模式既需要“硬耦合”的鏈上持幣投票,也需要通過協同建立「鬆散耦合」的規範和共識。

在 EOS 主網即將啓動之際,我們帶各位重讀 V 神的文章,以便在這個史上最大的 ICO (超過 40 億美元)身上觀察這些問題的演進,以及爲之後的去中心化系統設計提供經驗。

全文翻譯如下:

By Vitalik Buterin

原文鏈接:https://vitalik.ca/general/2017/12/17/voting.html

翻譯 & 校對:Mikko & 潘超

來源:鏈聞 ChainNews

在我看來,人們高估了「緊密耦合」的鏈上投票體系 , 比特幣、比特幣現金、以太坊、Zcash 和類似系統所實行的「非正式治理」的現狀並沒有人們所認爲得那麼差,那些認爲區塊鏈的目的是完全消除人類軟直覺和感受,以實現完全由算法治理 (一味追求「完全地」)的想法是絕對瘋狂的。由 Carbonvotes 和類似的系統所實施的鬆散耦合投票被低估了,更不用說在考慮區塊鏈治理時,應該使用什麼框架表述這一首要問題。(參考 https://medium.com/@Vlad_Zamfir/against-on-chain-governance-a4ceacd040ca

在區塊鏈治理問題上,最近再次興起了這樣的有趣趨勢 –鏈上持幣人投票作爲多用途的決策機制。持幣人投票有時被用於決定誰來經營網絡的超級節點(比如 EOS 的 DPOS,NEO,Lisk 以及其他一些系統),有時則對協議參數投票(比如以太坊的燃料上限 (Gas limit)), 有時對直接實施大規模地協議升級投票(例如 Tezos)。在所有這些情況下,選票都是自動的——協議本身包含了更改驗證者或者更新其自身的規則所需的所有邏輯,並自動響應投票結果。

人們通常吹捧明確的鏈上治理具有幾個主要優勢。首先,與比特幣所採用的高度保守的哲學不同,它可以迅速發展,接受需要的技術改進。其二,通過建立一個明確的去中心化框架 , 它規避了非正式治理的一些缺陷——被視爲過於不穩定、容易出現鏈的分裂、或容易變得過於中心化,最後這一點與 1972 年的著名論文《無結構的暴政》不謀而合。

此處引用 Tezos 的文檔:

儘管所有區塊鏈都提供經濟激勵,以維持對其賬本的共識,但仍沒有區塊鏈擁有一個強健的鏈上機制,可以無縫地修正治理其協議和獎勵協議發展的規則。因此,第一代區塊鏈實際上給與中心化的核心開發團隊或礦工制定機制設計的權力。

此外:

是的,但是你爲什麼要讓 (少數羣體的鏈分裂)變得更容易呢?分裂會破壞網絡效應。

用於選擇驗證者的鏈上治理具備另一好處,它可以讓要求驗證者提供高計算性能的網絡避免經濟中心化的風險和其他出現在公鏈上的陷阱(比如驗證者困境)。

總之,到目前爲止鏈上治理似乎是不錯的權宜之計,那麼它的問題在哪裏呢?

什麼是區塊鏈治理?

首先,我們需要更明確「區塊鏈治理」的過程。 一般來說,有兩種非正式的治理模式,我將稱之爲「決策函數」的治理視角和「協同」的治理視角。 「決策函數」視角將治理視爲函數 f(x1, x2 … xn) -> y,輸入是各種合法的利益相關者(參議員,總統,財產所有者,股東,選民等)的意願,而輸出則是決策。

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

決策函數的視角作爲一種粗略的估算是相當有用的,但它很容易分崩離析:人們總是可以並且確實違反法律並逃避制裁,有時候規則是模棱兩可的,有時則會發生革命 – 至少有些時候這三種情況的發生實際是一件好事。而且,系統內部的行爲往往受到系統外行動的可能性所激勵的影響,而這有時候也是一件好事。

相反,協同的治理視角將治理視爲分層存在的事物。在現實世界中,底層是物理學本身的規律(就像地緣政治現實主義者口中的槍炮與炸藥),而在區塊鏈空間中我們可以進一步抽象並說它是每個人在他們的能力範圍內、作爲用戶,礦工,利益相關者,驗證者或區塊鏈協議成爲各種類型代理來運作任何軟件的能力。

底層始終是最終的決策層;例如,如果有一天所有的比特幣用戶醒來後決定修改客戶端的源代碼,並用一個依特定 ERC20 代幣合約餘額的以太坊客戶端替換整個代碼,那麼這意味着該 ERC20 代幣將是比特幣。底層的終極治理權無法被終止,但人們在這一層上採取的行動可能受到其上層的影響。

第二層(也是非常重要的)是協調機構。協調機構的目的是創建有關個體如何以及何時應採取行動的重點,以便更好地協同行爲。區塊鏈治理和現實生活中都存在很多情況,如果你僅以某種方式單獨行事,那麼你很可能一無所獲(或更糟糕),但如果每個人都一起行動,則可以實現預期的結果。

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

此圖爲一個抽象的協同博弈。和其他參與者一起移動選擇會有豐厚的回報。

在這些情形下,如果其他人都前進你應該前進,如果其他人都停下你則應該停下。你可以將協同機構想象爲揮動綠色和紅色的旗幟,分別代表「前進」和「停下」。通過已經形成的文化,每個人(通常)會根據旗幟選擇其指示的方式。爲什麼人們會追從這些旗幟呢?因爲其他人都會追從這些旗幟,你有激勵和其他人選擇相同的決定。

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

拜占庭的將軍命令他的部隊前進。這樣做的目的不僅僅是爲了鼓舞士兵們自己的士氣,同時也讓士兵們放心其他人都鬥志昂揚,並且也會向前衝鋒,因此單個士兵不僅僅是獨自地自殺式地衝鋒。

強斷言:這種協同旗幟的概念涵蓋了我們所說的“治理”的全部內容;在協同博弈(或者更廣泛地說,多均衡博弈)不存在的情況下,治理的概念是沒有意義的。

在真實世界中,將軍的軍令即發揮旗幟的功能,而在區塊鏈世界中,這類旗幟的最簡單案例就是告訴人們某種硬分叉是否「將會發生」。協調機構可以是非常正式的,也可以是非正式的,並且經常提出模棱兩可的建議。理想情況下,旗幟應該是紅色或綠色,但有時旗幟可能是黃色,甚至全息式的 -對某些參與者呈綠色,對其他參與者呈現黃色或紅色。有時候,多個旗幟也會相互衝突。

因此,治理的關鍵問題變成了:

第一層級應該是什麼?也就是說,初始協議本身應該建立哪些特徵,以及它是如何影響公式化(比如決策函數)協議改變的能力?以及不同種類的代理以不同的方式行事的權力水平?

第二應該是什麼?也就是說,應該鼓勵人們關心什麼協調機構?

持幣投票的歷史

以太坊有過持幣投票的歷史,包括:

● DAO proposal votes: https://daostats.github.io/proposals.html

● The DAO Carbonvote: http://v1.carbonvote.com/

● The EIP 186/649/669 Carbonvote: http://carbonvote.com/

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

這三個都是鬆散耦合持幣投票的例子,或持幣投票作爲第二層協調機構的例子。以太坊沒有任何緊密耦合持幣投票(或者持幣投票作爲第一層協議內功能)的例子,儘管它確實有緊密耦合的礦工投票的例子:礦工有對燃料上線進行投票的權利。顯然,在治理機制領域,緊密耦合投票和鬆散耦合投票是相互競爭的,因此值得我們剖析:每一個的優缺點是什麼?

假設交易成本爲零,並且如果(二選一)作爲唯一的治理機制使用,則兩者顯然是等同的。在鬆散耦合的投票下,如果投票表示應該實施變化 X,那麼這將作爲綠色旗幟鼓勵大家下載更新;如果少數人反對,他們就不會下載更新。而在緊密耦合的投票情況下,如果實現了變化 X,這一變化會自動啓動,如果有少數人想要反對,他們可以安裝一個硬分叉更新來取消變化。然而,硬分叉的過程中顯然會出現非零的交易成本,,這導致了一些非常重要的差異。

一個十分簡單而重要的區別是,緊密耦合的投票使區塊鏈認同大多數成爲一種默認選項,,因爲少數派需要付出更多的努力去協調一個硬分叉以保持區塊鏈的現有屬性。而鬆散耦合投票是隻是一個協調工具,並且仍然要求用戶實際下載並運行實現任何給定分叉的軟件。但也有很多其他的區別。現在,讓我們通過一些反對投票機制的論點,並針對第一層投票和第二層投票給出相應解釋。

投票參與度低

迄今爲止持幣投票機制的主要批評之一是,無論什麼投票,參與程度往往很低。DAO Carbonvote 只有 4.5% 的參與率:

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

此外,財富分佈非常不平等,這兩個因素相結合的結果可參照 DAO 分叉的批評者所作的下圖

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

EIP 186 Carbonvote 總共擁有 270 萬 ETH 投票。DAO 提案的投票也沒好到哪去,參與率從未達到 10%。以太坊以外的投票也沒什麼起色;即便在 Bitshares 這個圍繞投票設計核心社會契約的體系中,最高代表的贊成票只有 17%的票數,Lisk 則是 30%,儘管我們稍後會討論這些系統分別有他們自身的其他問題。

低投票率意味着兩件事。第一,投票的結果很難獲得合法性,因爲這僅僅反映很小一部分人羣。第二,對於攻擊者而言,只需要很少一部分代幣就可以左右投票結果。這個問題無論在緊密耦合還是在鬆散耦合中都存在。

博弈論攻擊

除了受到大部分媒體關注的「The Big Hack (DAO 攻擊事件)」之外,DAO 還有一些小得多的博弈論範疇內的漏洞;這篇來自 HackingDistributed 的文章做了很好的總結。但這只是冰山一角。即使投票機制的所有細節都得到了正確實施,投票機制通常也存在很大缺陷:在任何投票中,某個投票人對結果產生影響的可能性都很小,因此,每個選民必須正確投票的動機幾乎是微不足道的。如果每個人放置的權益份額都很小,他們正確投票的動機是更加微不足道的。因此,在參與者身上花下的相對較小的賄賂可能足以影響他們的決定,可能會使他們做出與作爲一個集體選擇相反的事情。

你可能會說,人不是邪惡自私的自身利益最大化者,他們不會接受 0.5 美元的賄賂並投票支持給 Josh Arza 兩千萬美元,只是因爲上面的計算表明他們影響任何事情的個體機會很小;相反,他們會無私地拒絕做一些邪惡的事情。對這種批評有兩個迴應。

首先,有辦法可以做出一個相當合理的「賄賂」; 例如,交易所可以爲存款提供利率(或者,甚至更隱晦地使用交易所自己的資金來建立良好的界面和特徵),交易所運營商可以使用大量存款進行投票。交易所從混亂中得利,所以他們的動機明顯與用戶和持幣人錯位。

其次,也更有說服力的是,在實踐中,人們作爲加密代幣持有者,是追求利潤最大化的,並且似乎沒有把賄票當作自私邪惡的事情。在「附件 A」中,我們可以看到 Lisk 的情況,代表團似乎已經被明顯賄賂持幣者投票的兩個主要“政黨”成功俘獲,並且還要求其中的每個成員爲所有其他人投票。

這裏是 LiskElite,共有 55 名成員(共 101 名成員)

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

再來看 LiskGDT,有 33 名成員

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

附錄 B 中顯示一些投票者被支付 Ark 受賄:

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

在這裏,請注意緊密耦合和鬆散耦合投票之間存在一個關鍵區別。在鬆散的投票中,直接或間接投票賄賂也是可能的,但如果社羣同意某些提議或一組投票會構成博弈論層面的攻擊,他們可以直接一致同意忽略它。

事實上,這種情況已經發生過 – Carbonvote 包含一個與已知交易所地址相對應的地址黑名單,並且這些地址的投票數不計算在內。在緊密耦合的投票中,無法在協議層面創建這樣的黑名單,因爲同意誰是黑名單的一部分本身就是區塊鏈治理決策。但由於黑名單是社區創建的投票工具的一部分,只會間接影響協議變更,因此包含黑名單的投票工具可能會被社羣拒絕。

需要指出的是,這部分內容並不是預測所有緊密耦合的投票系統都會很快地屈服於賄賂攻擊。很多項目完全有可能可以生存下去,原因很簡單:所有這些項目都有創始人或基金會,擁有很大的預挖規模,他們充當大型的中心化角色,且其利益於平臺的成功相符,這些人不容易受賄,並且擁有足夠的幣,以抵禦大多數的賄賂攻擊。然而,這種中心化的信任模式儘管在項目早期階段的某些環境中有用,但它顯然是長期不可持續的。

非代表性

反對投票機制的另一個重要反對意見是持幣人只是一類用戶,並可能有與其他用戶相沖突的利益。在像比特幣這樣的純加密貨幣的情況下,價值貯藏的使用(「hodling」)和交易媒介的使用(「購買咖啡」)當然是衝突的,因爲價值貯藏注重安全性,而交易媒介強調可用性。在以太坊情況下,衝突更加嚴重,因爲有許多人出於與以太無關的原因而使用以太坊網絡(參見:cryptokitties),或者和承載價值的電子資產完全沒有關係(請參見:ENS)。

此外,即使持幣人是唯一相關的用戶類別(可以想象成這個加密貨幣既定的社會契約唯一目的是成爲下一個數字黃金),仍然面臨一種挑戰,即富有的持幣者比其他人的話語權更大,這爲持幣中心化打開了大門,導致決策的中心化。換句話說 ……

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

如果你想了解一個似乎同時具備所有這些缺點的項目,請看: Bitshares is Trying What MemoryCoin Did a Year Ago (to Disastrous Ends) – BTC Geek .(https://btcgeek.com/bitshares-trying-memorycoin-year-ago-disastrous-ends/

這種批評對於緊密耦合和鬆散耦合投票都適用;然而,鬆散耦合的投票更容易妥協處理其非代表性問題,我們將在稍後討論這一點。

中心化

讓我們來看看一個正在發生的實驗 – 以太坊對燃料上限的緊密耦合投票。這是過去兩年的演變:

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

您可能會感覺到這張圖和另一張你非常熟悉的圖表非常相像:

EOSIO 1.0 終發佈,Vitalik 如何評論之後的鏈上治理挑戰?

根本上,它們看起來都像是神奇的數字,這些數字是由一羣相當中心化的羣體坐在房間裏創造並反覆談判出來的。第一張圖背後的情況是礦工們通常會遵循社區所青睞的方向,而社區通過社會共識來幫助他們實現這一目標,就像那些推動硬分叉的社會共識。(核心開發者支持,Reddit 上的贊同;在以太坊上,燃料上限還沒有引發很大的爭議性需要通過要求持幣投票)

因此,我們並不清楚如果投票者不具備技術知識,並且僅僅遵從一個佔支配地位的專家團,是否會造成中心化的結果。。這種批評對緊密耦合和鬆散耦合的投票都適用。

更新:自寫這篇文章以來,似乎以太坊的礦工們設法將燃料上限從 670 萬提高到 800 萬,而這甚至沒有與核心開發人員或以太坊基金會討論過。所以(緊密耦合)還是希望的;但這需要大量辛苦的社區建設和其他艱苦的非技術工作才能達到這一點。

數字憲法

一種被認爲可以減輕治理算法失控風險的方法是「數字憲法」,它以數學方式指定了協議應具有的所需屬性,並且要求任何新的代碼更改都附帶計算機可驗證的證明,證明它們滿足這些屬性。起初這似乎是一個好主意,但我認爲這也值得懷疑。

一般而言,對於協議屬性形成一個規範並且服務於一個協同旗幟的想法是非常好的。這使我們能夠將我們認爲非常重要和有價值的協議的核心屬性體現出來,並使其更難以改變。然而,這正是應該在鬆散耦合(即第二層)中強制執行的事情,而不是緊密耦合(第一層)形式。

基本上任何有意義的規範實際上都很難完整表達;這是價值複雜性問題的一部分。即使對於似乎白紙黑字的 2100 萬的幣上限情況也是如此。當然,人們可以添加一行代碼,assert total_supply <= 21000000,並且標註「任何情況下都不要刪除這一行」,但有很多迂迴的做法可以做同樣的事情。例如,可以設想一個軟分叉,它增加了一個強制交易費用,這與幣上次發送以來的幣價值*時間成正比,這相當於滯納金,即和通貨緊縮一樣。

人們還可以實現另一種貨幣,稱爲比伯幣 (Bjtcoin),有 2100 萬個新單位,並增加一項功能,如果發送比特幣交易,礦工可以攔截並索取比特幣,而不是給予收款人比伯幣 (Bjtcoin);這會迫使比特幣和比伯幣 (Bjtcoin) 雙向可兌換,將「總供應量」增加到 4200 萬,而不會影響到這代碼。更“軟性的”規範比如不干預應用程序的狀態則更難以執行。

我們希望達成的是,所有違反這些保證的協議變化都應被視爲不合法 – 即使獲得投票批准,也應該有一個協調機構揮動紅旗。我們也希望,如果一個協議變化遵循了字面上的規範但是公然違反了規範的精神,協議變更仍然應該被視爲非法。讓規範存乎於第二層,即讓規範存在於社區人的頭腦中而不是在協議的代碼中 ,最能實現這一目標。

走向平衡

然而,我也不願意從另一個角度妄斷持幣投票或其他明確鏈上投票方案在治理方面沒有任何席位。較好的一個替代方案似乎是核心開發人員的共識,然而如果一個失敗的系統模式受到“象牙塔知識分子”的控制,他們更關心抽象哲學,其解決方案只追求技術上的好看而不關注日常的真實問題,如用戶體驗和交易費用,這在我看來是也是一個嚴肅的真正威脅。

那麼我們該如何解決這個難題呢?首先,我們汲取 SlateStarCodex 在討論傳統政治說的話:

一個入門級的錯誤是:你看到一些系統的一部分是 Moloch (即被失調的特殊利益所控制),所以你說「好吧,我們用系統的另一部分來控制這一問題…並且控制的方式是用紅筆註明“不要成爲 Moloch”」。

(我看到資本主義有時會失調,我們通過把它置於政府的控制之下來解決它,我們將控制政府,只讓德高望重的人成爲首腦。)

我不會聲稱存在很好的替代選擇,但有時候適當的選擇是新自由主義的 – 找到幾個精妙的系統,它們都根據不同的標準進行了優化,這些標準與人類的幸福大致一致,在結構中彼此制衡,希望他們如瑞士奶酪模型一樣,在不同的地方出現問題,保留足夠的個人自由選擇,讓人們可以退出任何太可怕的系統,並讓文化進化完成剩下的任務。

在區塊鏈治理中,似乎這是唯一的出路。我所倡導的區塊鏈治理方法是「多因素共識」,人們對不同的協調旗幟和不同的機制和羣體進行投票,最終的決定取決於所有這些機制的共同結果。這些協調旗幟可能包括:

● 路線圖(即項目歷史上關於項目進展的前期傳播的一系列想法)

● 占主導地位的核心開發團隊之間的共識

● 持幣人投票

● 用戶通過某種類型的防女巫攻擊(sybil-resistant)投票系統

● 建立規範(例如,不干涉應用,2100 萬的幣上限)

我認爲,持幣投票作爲決定是否實施某個變更的幾個協調機構之一是非常有用的。這是一個不完美和不具代表性的信號,但它是一個防女巫攻擊的信號 – 如果你看到一千萬 ETH 投票給出了一個特定的提案,你不能通過簡單地說“哦,這只是被僱用的假冒社交媒體帳戶的俄羅斯水軍” 。

這也是一個與核心開發團隊充分分離並可以用以檢查分離程度(如果需要)的信號。

但是,正如我上述的一些很好的理由,它不應該成爲唯一的協調機構。

支撐這一切的是讓區塊鏈變得有趣,且與傳統系統的關鍵區別:架起整個系統的“第一層”是任何協議變更都需要個體用戶的同意。如果有人試圖以惡意改變強迫他們,個體用戶擁有自由和可信威脅以“分叉”應對。(另見:http://vitalik.ca/general/2017/05/08/coordination_problems.html )。

在一些有限的情況下,緊密耦合投票也是湊合的 – 例如,儘管存在缺陷,礦工對燃料上限進行投票的能力是一個在多種場合已被證明非常有益的特徵。

與在第一天就強制規定的任何特定燃料上限或區塊大小限制最終導致嚴重問題的風險相比,礦工嘗試濫用權力的風險可能會小很多。在這種情況下,讓礦工對燃料上限投票是一件好事。

但是,「允許礦工或驗證者對需要不時快速改變的幾個特定參數進行投票」與授予他們對協議規則的任意控制權,或者允許投票控制驗證以及這些更廣闊的願景相去甚遠,而這些鏈上治理在理論上和實踐上都更加費解。