DAO的另一面:鏈上賄選和黑暗DAO的崛起

區塊鏈似乎是適用於線上投票的完美技術。它們可以充當“公告板”,即在幾十年的電子投票研究中被假設(但從未真正實現)的全球分類賬。更妙的是,區塊鏈使智慧合約成為可能,它可以自主地執行鏈上選舉,並排除選舉機構。

但不幸在於,智慧合約不僅適用於選舉,也同時為買通和賄選(vote-buying)創造了良好條件。在這篇博文中,我們將解釋如何以及為什麼如此。

作為案例分析,我們將介紹一個完全實現的、針對流行的鏈上CarbonVote系統的簡單賄選攻擊。我們還將討論可信硬體是如何實現更強大的買通技術的,這些技術即使在最先進的加密投票協議下似乎也難以解決。

最後,我們引入了一種稱為Dark DAO(黑暗DAO,去中心化黑暗組織)的新攻擊形式,不要與“Dark DAO”混淆,就像DAO不應與The DAO混淆一樣。黑暗DAO是一個去中心化的卡特爾,它不透明地(也就是“在黑暗中”)在鏈上買票。我們提出了一個基於Intel SGX的具體實施例。

在這樣的攻擊中,可能沒有人,甚至DAO的建立者,可以確定DAO的參與者數量、承諾用於攻擊的資金總額或攻擊的確切邏輯:例如,黑暗DAO可以攻擊代幣專案如Tezos,暗中收集其代幣,直到它達到一些隱藏的閾值,然後告訴其成員做空。像這樣的黑暗DAO還具有透過傳送例如可否認的空頭通知來執行資訊不對稱的獨特能力:卡特爾內部的成員將能夠驗證空頭訊號,但他們自己可以產生看似真實的虛假訊號,併發送給外人。

信任最小化的買票和黑暗DAO基元的存在,意味著所有鏈上投票的使用者都容易受到財閥和脅迫力量的束縛、操縱和控制。這直接意味著所有的鏈上投票方案,如果使用者可以在受信任的環境之外生成自己的金鑰,就會內在地退化為財閥制。這種模式被公認全面劣於民主模式,而這種協議試圖在鏈上趨近民主模式。

我們所有的方案和攻擊都是在不考慮身份控制的情況下進行的,允許使用者的行為被自由買賣。這意味著依賴於使用者生成的與使用者身份繫結的金鑰的方案,如uPort或Circles,在本質上和根本上也容易受到財閥的任意操縱。我們的方案也可以被重新利用來攻擊股權證明或工作證明的區塊鏈,並從中獲利,而這對所有區塊鏈都有嚴重的安全影響。

當今的區塊鏈投票機制

如今,區塊鏈投票計劃比比皆是。Votem是一種端到端的可驗證投票方案,允許使用移動裝置進行投票,並利用區塊鏈作為安全釋出和統計選舉結果的場所。流行的智慧合約IDE Remix提供了一個選舉管理智慧合約作為其訓練示例。

鏈上投票面臨許多挑戰,其中包括隱私、延遲和擴充套件。這些都不是投票這一機制本身所特有的,而且所有這些最終都是可以克服的。而投票買通又是另一回事。

在政治體系中,買通投票是一種普遍且具有腐蝕性的選舉欺詐形式,在世界各地破壞選舉誠信的歷史悠久。有時,買通的成本只相當於一杯啤酒。值得慶幸的是,正如學者們所觀察到的,正常的市場機制通常會在買票中崩潰,原因有三。首先,買票在大多數情況下是犯罪。在美國,根據聯邦法律,這會面臨處罰。其次,在使用秘密投票的情況下,很難執行合規。選民可以表面上接受您的賄賂(簡單地喝下您的啤酒),然後根據自己的喜好秘密投票。第三,即使選民確實出售了他們的選票,也不能保證對方會支付。

在區塊鏈系統中不會出現這樣的障礙。使用同樣強大的選舉管理工具:智慧合約,可以有效地執行買通市場。與往常一樣,化名和管轄權的複雜性為起訴提供了(一些)保障。

一般來說,電子投票計劃在某些方面比親自投票更難防止欺詐,並且多年來一直是學術界所感興趣的主題。David Chaum早期引入了一個基本構建塊,為訊息提供匿名混合網路,這些訊息可以由參與者匿名傳送並收到包含的收據。這種端到端的可驗證投票系統,使用者可以在不犧牲隱私的情況下檢查他們的選票是否正確計算,不僅是理論家的領域,而且實際上已被用於具有約束力的選舉。

Benaloh和 Tuinstra後來的工作對電子投票計劃提出了質疑,指出他們向選民提供了一份“收據”,提供了給定投票方式的加密證明。這將允許極其高效的買通和強制,這顯然是不受歡迎的屬性。作者定義了一個新的屬性,即收據自由,來描述不可能進行這種加密證明的投票方案。Juels、Catalano和Jakobsson的進一步工作模擬了更強大的強制對手,表明即使是無收據的計劃也不足以防止強制和購買選票。這項工作為投票方案定義了一個新的安全定義,稱為“強制抵抗”,提供了一種協議,惡意方無法以可能改變選舉結果的方式成功脅迫使用者。

在工作中,Juels等人指出,“我們的構造的安全性依賴於……由受信任的第三方生成金鑰對,或者,依賴於參與者之間的互動的、計算安全的金鑰生成協議“。這種 ”可信的金鑰生成“、”可信的第三方 “或 ”可信的設定 “的假設是抗脅迫投票方案的學術文獻中的標準。不幸的是,這些要求並沒有轉化為無許可權模型,在這種模型中,節點可以在任何時候來回走動,而不需要事先了解對方。這(在某種程度上)自然意味著使用者在所有此類部署的系統中生成自己的金鑰,並且不能利用可信的多方金鑰生成或任何集中的金鑰服務仲裁者的優勢。

如今的區塊鏈空間,以可預見的結果,會繼續其忽視數十年研究的傳統,而選擇實施最天真的投票形式:以暴發戶的方式直接計算代幣加權的投票,以純文字形式儲存在鏈上。不幸的是,目前還不清楚在鏈上是否可以實現比這種暴政更好的投票。我們表明,無許可權模式從根本上說對投票是不利的。儘管有任何基於身份或第二層的緩解嘗試,所有無許可權投票系統(或允許使用者在不信任的環境中生成自己的金鑰的方案)都容易受到相同風格的買票和脅迫攻擊。許多買票攻擊也可用於脅迫,透過武力將使用者束縛在特定的投票選擇上。

DAO的另一面:鏈上賄選和黑暗DAO的崛起

“你的這個鏈上投票很不錯……”

值得注意的是,Vitalik Buterin部分探討了此類協議中賄賂攻擊的嚴重性,但並未提供具體機制。本文描述了對投票、身份購買、強制和高階協調有用的無摩擦機制,並討論了這些特定機制的含義。

攻擊的不同特點

考慮一個非常簡單的投票方案:一個代幣的持有者每持有一個代幣就可以獲得一票,並且可以不斷改變他們的投票,直到某個結束區塊編號。我們將使用這個簡單的“EZVote”方案來建立我們的攻擊如何在任何鏈上投票機制中工作的直覺。

這種方案有幾種可能的升級攻擊方式。

簡單的智慧合約

對鏈上投票系統的最簡單的低協調攻擊涉及買通智慧合約。此類智慧合約將簡單地根據對一個選項的可證明投票(或參與投票,或如果投票不是匿名的則棄權)向用戶支付費用。在EZVote中,智慧合約可以是一個簡單的合約,將你的ERC20保留到結束日期之後,投贊成票,然後將其返還給你;合約中的所有保證都可以由底層區塊鏈強制執行。

這種方案的優點在於它只需要底層系統中已經固有的信任假設,但也有很大的缺點。一方面,在選舉結束後有可能公開多少選票被購買,因為這是處理當今智慧合約系統中的支付流所必需的。此外,賄賂的平臺天然性質使其受到有興趣維護底層平臺/系統健康的各方的審查。

根據投票方案和底層協議的性質,可能有一些解決這些缺點的方法。例如,選民可以向投票購買者提供環簽名(ring signature),證明他們在投贊成票以換取付款的選民名單中。我們將這些方案的實現細節和通用性保持開放。

一般而言,任何用於私人智慧合約的機制也可以用於私人投票購買,解決基於智慧合約的攻擊的公共性;在密碼學上,等價物是投票買方和賣方透過MPC一起生成用於資金儲存的金鑰,簽署兩筆交易:同意投票和在間隔結束後向投票賣方釋放資金的交易。只有在擁有保證退款和付款的交易後,投票賣家才會將資金轉移到該金鑰。

這看起來類似於以前在分散式證書生成方面的工作,增加了安全分析以確保公平性。這種方案的簡單實施將阻礙使用者在投票期間將資金用於其他目的(此類行為是可能的,但需要代表投票購買者的合作;或者,可以使用受信任/保稅託管方)。

可信的硬體購買

一個更令人擔憂的投票購買攻擊方案涉及使用可信硬體,例如Intel SGX。此類硬體具有稱為遠端證明的關鍵功能。本質上,如果Alice和Bob在Internet上進行通訊,則SGX實現的可信計算允許Alice向Bob證明她正在執行某段程式碼。

可信硬體通常被視為證明您執行的程式碼不是惡意程式碼的一種方式:例如,它在DRM中用於證明使用者不會複製僅臨時授權給他們的檔案,如電影。相反,我們將使用可信硬體來束縛加密貨幣使用者,支付或強迫他們使用基於可信硬體的加密貨幣錢包,這些硬體可證明限制了他們允許行為的空間(例如,透過強迫他們在選舉中不以某種方式投票)或允許買通者信任最小但限制使用使用者的金鑰(例如投票購買者可以強迫使用者簽署“我投票A”,但不能竊取或花費使用者的錢)。

將此類技術用於投票購買的最簡單方法是簡單地允許使用者證明他們正在執行投票購買者的惡意錢包程式碼以換取付款,雙方透過遠端認證技術進行保護。

將此類技術用於買通的最簡單方法是允許使用者證明他們正在執行投票購買者的惡意錢包程式碼以換取付款,雙方透過遠端認證技術進行保護。

在我們的“EZVote”示例中,使用者只需使用載入在Intel SGX上的加密貨幣錢包,執行投票購買者的程式。SGX將向用戶保證錢包永遠不會竊取使用者的錢(除非英特爾與投票購買者勾結)。使用者可以證明可以使用錢包來做他們可以用普通以太坊錢包做的所有事情,包括將他們的錢轉出去(儘管在這種情況下他們不會得到報酬)。使用者執行自己的錢包,不需要信任第三方來控制或安全他們的資金。使用者甚至可能不需要信任英特爾或可信賴的硬體供應商來保證他們的資金安全,因為他們可以編譯自己的錢包!

當預定義的觸發條件發生時,這樣的SGX程式會根據投票買家的命令自動對EZVote進行投票,並向投票買家傳送收據。買通者本身將執行一個SGX飛地,該飛地維護聲稱已投贊成票的所有使用者的總數,以及他們的地址列表。鑑於對新交所的信任,買通者無需檢視會員使用者的完整列表或知道總質押金額。在投票結束時,投票買家的飛地將支付所有沒有移動資金或更改投票的使用者。這將透過enclave定期釋出Merkle根來完成,總結要在鏈上支付的使用者,向每個使用者提供他們最終將獲得支付的證據。使用者可以透過提供包含在已釋出的Merkle歷史記錄中的證明,在某個時間段到期後要求付款。在一些特別容易受到攻擊的投票設計中,SGX enclave可以透過簡單地預先收集使用者的“同意”投票作為交易、在投票結束時釋出併為他們提供付款來提高其效率。

隱藏的可信硬體卡特爾(Dark DAO)

當受信任的硬體與DAO的理念相結合時,就會出現更令人擔憂的攻擊,從而產生一個以操縱加密貨幣投票為目標的去信任組織(trustless organization)。

DAO的另一面:鏈上賄選和黑暗DAO的崛起

一個基本黑暗 DAO的例子

上圖概述了一種可能的架構。買通者將透過執行SGX飛地網路來支援DAO,這些飛地本身執行共識協議(此處顯示為烏雲以表明其從外部不可見)。使用者將與這個飛地網路進行通訊,並提供證據證明他們正在執行“買通賄賂”(例如)以太坊錢包,當前餘額為X個硬幣。這個“邪惡的錢包”證明運行了買通者支付的攻擊程式碼,而買通者證明他們執行的程式碼保證在攻擊結束時支付給使用者(可能與基於智慧合約的協議結合使用,在加密經濟上加強了活力和誠實)。

買通者可以透過系統跟蹤承諾投票的總資金數量,使用新交所內建的隱私功能向外界隱藏這一事實。使用者可以透過參與這樣的系統獲得可證明的支出,在基於新交所的去中心化交易所中實現類似於全有或全無結算的財產。買通者可以獲得可證明的保證,即客戶永遠不會發出與他們想要的投票政策相矛盾的投票。

使這樣一個組織變得黑暗的是,買通者不需要向任何人(甚至可能是他們自己)透露有多少使用者參與了系統。該系統可以簡單地積累使用者,為執行攻擊者的自定義錢包軟體向用戶付費,直到達到啟用攻擊的某個閾值(例如此類軟體持有的硬幣);以這種方式,不需要檢測失敗的嘗試。更具破壞性的是,任何小使用者的個人激勵明顯指向加入系統。如果小使用者認為他們的投票無關緊要,他們可能會在沒有感知到邊際下降的情況下獲得回報。在鏈上投票中尤其如此,根據經驗觀察到投票率極低。不投票的使用者可能是出售選票的理想目標。

黑暗DAO運營商可以透過對買通者實際反對的選擇發起攻擊,將其作為潛在的虛假標記操作或抹黑活動來進一步攪渾水;例如,Bob可以執行一個有利於Alice的Dark DAO,以使Bob認為他可能會失敗的選舉結果合法化。啟用閾值、支付時間表、全面攻擊策略、系統中的使用者數量、向系統承諾的總金額等都可以保密或選擇性或全域性公開,使此類DAO最終可以針對結構化的激勵變化進行調整。

由於該組織存在於鏈外,因此區塊生產者或其他系統參與者的卡特爾無法檢測、審查或阻止攻擊。

這樣一個黑暗的組織有幾個直接的實際缺點。首要的是,要在Intel SGX上使用,需要英特爾授予許可,這對於惡意軟體來說不太可能發生。此外,Intel SGX 中的側通道、隱藏的軟體後門或平臺攻擊或Dark DAO錢包的審計都可能削弱該計劃,儘管隨著可信硬體的不斷進步和發展,此類攻擊的成本很可能會大幅增加。最終,我們希望其他可信硬體能夠提供Intel SGX 的遠端認證功能,這意味著此類攻擊將不需要SGX;這就是我們將“SGX”與“可信硬體”互換使用的原因。例如,在某些Android安全處理器上可以實現遠端認證。我們的方案適用於任何允許機密資料和遠端證明的硬體裝置。

對經典方案的攻擊:CarbonVote 和 EIP999

為了證明這些選票購買策略的有效性,我們首先檢視在現有加密貨幣系統中執行的治理關鍵型投幣。也許最重要的此類投票是DAO CarbonVote。這次投票的操作很簡單:賬戶匯款到一個地址投贊成票,另一個投反對票。每個地址都是一個合約,記錄了給定地址的投票。然後CarbonVote前端會統計投票數,並顯示所有投贊成票和/或反對票的賬戶的淨餘額。後來的投票取代了之前的投票,允許使用者改變主意。在投票結束時,對支援情況進行了快照,並用于衡量社群情緒。這種投票方式被重用於其他有爭議的生態系統問題,包括EIP-186。

該框架中一種可能的信任最小化投票購買智慧合約涉及使用託管;使用者將以太幣傳送到ERC20代幣合約,該合約持有以太幣直到投票結束。對於他們存入的每個以太幣,使用者將獲得1個VOTECOIN。

合約預先程式設計為在投票結束時投票贊成,持有100%的使用者以太幣。投票結束後,每個VOTECOIN代幣都可以全額退還建立它的原始以太幣。使用者取回他們的原始以太幣,以及投票購買者希望為這項服務向他們支付的任何賄賂。

我們已經實施了此類合同的完整開源概念證明,使任何投票購買者都可以向合同的BRIBEPOOL提供資金。使用者可以透過在合約中臨時鎖定他們的Ether來從BRIBEPOOL支付,並且可以在目標投票結束時收回100%的Ether。攻擊可以預先從BRIBEPOOL中支付給投票賣家(一旦他們鎖定代幣,投票就得到保證),隨著時間的推移作為紅利,或兩者兼而有之。

為 DAO Carbonvote 購買以太坊智慧合約的投票程式碼

使用者還可以在鎖定他們的Ether後出售他們的VOTECOIN,基本上使VOTECOIN成為一種代幣化的投票購買衍生品。然後,投票賣家可以立即將資金鎖定所帶來的任何風險解除安裝給對投票結果漠不關心的各方:因為每個ERC20都以程式設計方式保證最終收到所有原始ETH,這基本上從基礎資產轉化為專用於以預定義方式投票的衍生資產。如果保證非負收益,對投票結果不感興趣的買家應該始終鎖定他們的ETH,並且基本上可以選擇稍後解除安裝給其他同樣不感興趣的買家。如果BRIBEPOOL的紅利除了預先支付之外,還會隨著時間的推移支付給VOTECOIN,這些衍生代幣甚至可以用來推測攻擊本身是否成功。

這個智慧合約可以透過使用諸如Town Crier之類的預言機來簡化(也可以組合多個預言機、預測市場等)。因為CarbonVote系統會在Etherscan上釋出包括完整選民日誌在內的結果,所以使用任何外部網路抓取預言機檢查某人的投票方式相對簡單,如果最終快照中包含的投票符合買家的偏好,則支付。

也可以輕鬆使用類似Dark DAO的模型。每個使用者只需執行一個錢包,在每次轉賬交易後的某個時間,它也會在CarbonVote上以所需的方式投票(實際上這可能成為許多錢包的標準行為)。使用者只有在此類投票被登記後才能獲得報酬,因此激勵使用者確保此投票交易包含在鏈上。網路無法確定給定的CarbonVote中有多少票是由此類投票購買卡特爾產生的,以及有多少是合法的。

這些計劃中的任何一個固有的是在將資產彙集到多個投票購買者時最小化信任的能力;賄賂智慧合約可以簡單地允許任何人向BRIBEPOOL付款,而新交所網路的架構也可以類似地開放參與。

一些方案,例如EIP999投票,存在更嚴重的問題。在這些方案中,如果使用者投票兩次,則選擇較晚的投票。一種簡單而嚴重的攻擊是簡單地收集使用者對“是”和“否”投票的簽名,在選舉期結束時向所選簽名傳送垃圾郵件,並依靠壓倒區塊鏈的能力來確保大多數此類選票持續。或者,因為合約部署者能夠為給定合約中的所有資金投票,另一種攻擊是簡單地強迫使用者在投票期間使用基於合約的錢包,該錢包由買通者部署,然後他們可以任意控制所有鎖定在合約中的資金的投票權,而無需保管這些資金。

比特幣也不能倖免。比特幣社群通常依賴投幣投票,並且可以應用類似的買通方案(如本作品中的以太坊智慧合約,或Dark DAO風格;比特幣本身不提供對足夠豐富的合約購買選票的原生支援)。

超越投票——攻擊共識

精明的讀者可能會指出,所有無許可區塊鏈本質上都依賴於某種形式的無許可投票,即共識演算法本身。每次區塊鏈就狀態的某些屬性達成全球共識時,發生的事情本質上都是在無許可設定中進行的無許可(通常是硬幣或PoW加權)投票。

在這些情況下,“買通”已經進行了一些探索,這也許並不奇怪。例如,以太坊上的智慧合約可用於透過審查、歷史修訂或激勵空塊來攻擊以太坊和其他區塊鏈。這種攻擊直接作用於工作量證明投票本身,根據他們的加權工作賄賂礦工。幾乎沒有理由相信權益證明系統會免受類似攻擊的影響,尤其是在存在複雜的委託投票結構的情況下,這些結構的激勵可能不明確,其正式分析可能不完整或不存在。

與我們探索用於購買投票的Dark DAO相關的一個令人不安的概念是我們將其稱為“Fishy DAO”,以經典Flash遊戲命名。在這個(超級有趣!)遊戲中,您從一條小魚開始。規則很簡單;您可以吃較小的競爭對手魚,但不能吃與您相同或比您大的魚。每頓飯後你都會變大一點,直到你最終(如果你幸運的話)成長為主宰海洋。一個不需要Flash並新增網路的現代類似遊戲是agar。io。

DAO的另一面:鏈上賄選和黑暗DAO的崛起

就像 Fishy,但小魚也可以與大魚結盟!

Fishy DAO將使用上述類似Dark DAO的技術來為區塊鏈做同樣的事情。使用SGX,Fishy DAO成員可以在達到攻擊閾值時收到不可轉讓(DAO成員可以驗證訊息真實性,但非成員無法判斷訊息是否偽造)的通知,允許他們在此類攻擊發生前不久做空貨幣市場。每一次區塊鏈Fishy DAO攻擊都為Fishy DAO帶來了一些利潤,即使是失敗的攻擊也隨之而來的宣傳使Fishy DAO因追求利潤但可能不道德(在某些框架中)而臭名昭著。如果Fishy DAO未能達到要求的閾值,Fishy DAO只會消失並退還其參與者,可能但不一定會燒掉他們的一些錢來激勵他們招募參與。

Fishy DAO需要Dark DAO技術,就好像用智慧合約公開執行一樣,可觀察的參與率將為底層區塊鏈的價格提供市場訊號,透過允許風險定價來使攻擊無利可圖。正是DAO成員和更廣泛的生態系統參與者之間的加密可執行的資訊不對稱,使這種攻擊成為可能。

其他的應用

請注意,Dark DAO的影響遠遠超出上述範圍。例如,一個Dark DAO旨在以盈利方式購買使用者的基本收入身份,以少量費用預先支付以獲得使用者的常規基本收入付款。或者一個Dark DAO,透過從信用良好的使用者那裡租用(以最小的信任限制)此類金鑰,以透過基於金鑰的身份進行信用檢查。或者是一個執行邪惡礦池的Dark DAO,可以證明攻擊基於ASIC的工作量證明加密貨幣,其攻擊池的規模可能無法檢測到,不可阻擋。

還可以想象,有了身份,身份系統本身可能就有針對購買行為的社會保障。例如,某些身份系統可能允許使用者親自出現以撤銷或管理身份,這可能會在社會上規避針對身份盜用的自動化技術保護措施。仍然有辦法解決這個問題:貸款的經典解決方案是透過抵押品。潛在的像企業這樣的“擔保人”也可以透過物理/法律恐嚇和合同為無法負擔抵押品的使用者提供社會還款保證。如果這種無需許可的基本收入系統與當前的市場系統一起部署,發薪日貸款和保釋金機構將非常適合這類業務,至少在美國是這樣(在許多其他地方,可能有更不受歡迎的機構願意介入進行適當的削減)。

區塊鏈機制協調空間大,環境惡劣。所有投票或財務激勵的基於身份的方案都應該非常謹慎地考慮底層無許可模型對長期可行性、可擴充套件性和安全性的影響。

核心洞察

也許你是一個正在瀏覽這篇文章的學者,或者是一個感興趣的使用者,想知道這一切到底意味著什麼。從我們上述的思想實驗中,可以得到一些有趣的、非常令人驚訝的見解(見參考文獻)。

無需許可的電子投票*需要*受信任的硬體。也許最令人驚訝的結果是這個。在使用者能夠生成自己的金鑰(“無許可”模型所需)的任何模型中,如上所述,使用受信任的硬體,低協調賄賂攻擊本質上是可能的。唯一的防禦是更可信的硬體:要知道使用者可以訪問他們自己的金鑰材料(因此不能被脅迫或賄賂),需要保證使用者已經看到了他們的金鑰。受信任的硬體可以透過受信任的硬體代幣設定渠道(類似於政府使用電子投票進行民主)或透過基於SGX的系統來實現這一點,該系統保證任何選民都已將他們的關鍵材料透露給他們正在執行的任何作業系統。這本質上實現了學術電子投票方案多年來一直使用的那種可信設定/生成假設。顯然,在存在可信硬體的情況下,任何投票都需要這樣的假設,並且在沒有這個假設的情況下,可以證明可以透過低摩擦購買/出售/賄賂/脅迫投票,這是一個令人驚訝的結果,對鏈上投票產生嚴重影響。

投票和協調機制的空間很大,而且人們對其瞭解甚少。透過有關如何處理的具體示例進行探討,例如以太坊上的智慧合約投票和投票變化,很明顯,廣泛的設計決策從根本上改變了投票機制的激勵結構(我們在下面的附錄A中探討了這些)。這些機制極其複雜,可以透過其他協調機制(如智慧合約和基於可信硬體的 DAO)改變其激勵結構。這些機制的特性,尤其是當多個此類機制相互作用或受到資源參與者的積極攻擊時,人們知之甚少。短期內不應使用此類機制進行直接的鏈上決策

同一類投票購買攻擊適用於任何身份系統。這些攻擊不僅僅是為了選票。想象一個身份系統,它賦予使用者每週支付的基本收入的權利。我可以簡單地預先支付現金以購買您的身份,從而購買下一年的收入份額,如果我的資金時間價值低於您的時間價值,我確實應該這樣做(正如財富不對稱通常所暗示的那樣)。任何涉及身份的系統都是如此:在信任度相對較低的情況下,可以約束使用者身份的行為,並且可以在公開市場上買賣此類約束。這對具有免許可身份元件的任何鏈上經濟機制的穩健性產生了嚴重和根本性的影響。

鏈上投票從根本上退化為財閥統治。投票和民主從根本上依賴於無記名投票假設和僅存在於物理世界(meatspace)的身份基礎設施。這些假設不會延續到區塊鏈,使得相同的技術在無許可模型中從根本上被打破。只要使用者可以生成自己的金鑰(見上文),外部的、甚至是可信的身份系統也不能解決這個問題。

基於硬分叉的治理為使用者提供了擺脫這種財閥統治的唯一出口。鑑於上述情況,一個自然要問的問題是我們是否已經到了財閥統治時代。答案是“可能不是”。有證據表明,管理比特幣和以太坊等區塊鏈的臨時、非正式、基於分叉的治理模型實際上提供了強大的使用者權利保護。在此模型中,任何升級都必須為使用者提供主動選擇,如果不同意規則更改,使用者組可以選擇退出。另一方面,鏈上投票會產生一種自然預設值,尤其是當與不專心或漠不關心的使用者結合使用時,會產生強烈的反分叉慣性。

多個區塊鏈互動會破壞所有鏈的激勵相容性。重要且關鍵的是,我們探索的Fishy DAO式攻擊表明,多個相互競爭的區塊鏈有能力從根本上影響所有此類鏈的內部平衡。例如,在一個只有一個智慧合約系統以太坊的世界中,內部激勵可能會導致穩定的均衡。有兩個玩家,而弱者被激勵發起賄賂攻擊來摧毀他們的競爭對手,這種平衡可能會被破壞、改變和破壞。一個關鍵且令人驚訝的開放研究領域是對區塊鏈之間競爭的宏觀經濟學建模,深入瞭解這種內部均衡究竟是如何失敗的。我們直覺地發現 確定關鍵的黑天鵝事件目前潛伏在區塊鏈治理和互操作性的複雜性中。

顯然,這些都需要進一步探索、調整和證明。但我認為我們至少提供了一些直覺,說明為什麼我們認為上述內容在原則性分析框架中成立。

結論

區塊鏈中鏈上投票的趨勢受到人類悠久的投票和民主傳統的啟發。不幸的是,我們在現實世界中可用的保護措施,例如強制私人/可拒絕投票、近似身份控制和廣泛欺詐的可歸因性,在無許可模型中根本不可用。使用使用者自己生成的公鑰時,鏈上投票無法為這些使用者提供任何反強制保證。精心設計的投票方案對平息(並且在許多情況下確實會加劇)問題幾乎沒有作用。鏈上投票計劃使激勵機制進一步複雜化,造成不穩定且混亂的激勵機制,可以隨時透過去信任的智慧合約或Dark DAO式的投票購買、賄賂和哀悼計劃進行更改。

我們鼓勵社群對任何鏈上投票的結果保持高度懷疑,特別是因為鏈上投票成為區塊鏈系統決策的重要組成部分。設計能夠以比以往任何時候都更低的協調成本實現新形式濫用的機制的空間支援投票應該用於訊號而不是決策的立場,並且各種各樣的投票機制應該填補這些角色。如果沒有這樣的保護措施,所有鏈上投票系統仍有可能透過直接投票和參與購買,甚至投票代幣化而退化為富豪統治。

此類攻擊對所有基於區塊鏈的投票系統的未來安全性具有重大影響。

致謝

我們要感謝帕特里克·麥科里(Patrick McCorry)在這篇文章的整個生命週期中提供的有用而全面的反饋,以及在投票購買和鏈上投票系統方面的開創性工作。

我們還要感謝Omer Shlomovits和István András Seres對本文早期訪問版本的有益評論。

附錄A—鏈上投票的差異化指標

我們注意到鏈上投票系統中有幾個不同的差異化因素:

投票改變能力:如果使用者無法改變他們的投票,任何提供加密檢查收據的方法都可以進行普通投票的買票。智慧合約可以簡單地預先賄賂使用者以獲得他們的投票,現在永遠無法改變。然而,大多數方案允許使用者更改或撤回他們的投票,這意味著賄賂需要一些連續的時間元件(或在拍攝投票快照後進行)。隨著時間的推移呈指數增長的支出提供了一個有趣的解決方案,可以阻止硬幣移動並鼓勵長期訊號,而投票完成時的支出獎金是潛在的投票購買者可以使用的工具,當用戶被允許更改投票時,可以用來建立可行的投票購買計劃。

智慧合約/委託投票:誰可以為智慧合約儲存的資金投票?這是一個困擾現有設計的懸而未決的問題;最初的CarbonVote允許任何可以呼叫函式進行投票然後改變主意的合約。EIP999投票允許合約部署者代表合約投票,這一決定被廣泛批評為旨在影響投票結果。然而,這兩種設計似乎都不理想。事實上,從直覺上看,單一設計似乎很難公平地捕捉智慧合約中的所有託管細微差別:持有資金的智慧合約的範圍可以從簡單的多重簽名賬戶到具有自己的收入流和合約間財務關係的複雜去中心化組織。這些代幣中的哪些具有投票權,以及如何公平分配這些權利仍然是構建公平的鏈上投票系統的完全未探索的哲學要求。強制合約作者提供顯式功能也可能是不夠的,因為此功能的需求在未來可能會發生變化,而不會向後相容(透過鏈投票或分叉)。

可否認性/可證明性:本文中探討的所有方案都具有使它們特別適合買票的功能:它們為選民提供某種形式的信任最小化加密證明,透過鏈上日誌、安全的Web介面或智慧合約的狀態。此類計劃特別容易受到買通的影響,因為它們使智慧合約式邏輯可以輕鬆驗證選票。學術文獻中的一些傳統電子投票方案提供了一種稱為抗強迫性的特性。在這些方案中,使用者可以使用他們用於投票的金鑰在強制後改變主意,並且投票不屬於個人使用者。一般來說,投票與任何型別的長期身份相關聯的隱私問題,尤其是那些持有代幣的人,是很嚴重的。這種擔憂將完全取消現實世界中任何嚴肅的投票系統的資格,並且可能應該取消所有深思熟慮的鏈上投票設計標準的資格。

TAG: 投票DAO使用者區塊攻擊