區塊鏈可以在貨幣和金融交易之外發揮作用。其中一種非金融應用便是區塊鏈可以極大地改進投票和治理領域。在本文中,我們探討構建一種特殊用途區塊鏈的方法,該基礎設施旨在促進基於MACI的投票活動。該基礎設施應包括充當時間戳服務器並託管邏輯的輕型區塊鏈,以及減少用戶成本/最大化用戶體驗所需的工具。因此,它應該成為新一代投票技術的新基礎平台。在深入探討細節之前,讓我們首先回顧一下投票技術的歷史以及投票在區塊鏈社區內的發展過程。

投票技術的演變

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

從古希臘Kleroterion[1]到現代電子投票機的投票技術。

投票技術有著悠久的歷史[2]。它對人類社會非常重要,但發展非常緩慢。英國在2019年大選[3]期間仍然依賴手寫選票,其他民族國家使用閉源電子投票機[4],很容易為治理結果帶來爭議[5]。

現代投票技術的採用提高了效率,但在解決透明度和可驗證性方面並沒有取得太大成功。

毋庸置疑,投票的誠信對於權力的交接、重要事務的決策或資源的分配非常重要。如果人們不能就治理決策的投票結果達成一致,他們就無法相互合作,摩擦就會增加。摩擦可能會引起問題,如從爭端到戰爭。

儘管投票技術正在緩慢發展,但透明度在很長一段時間內並沒有得到改善。從Kleroterion到紙質選票,再到電子和光學掃描投票機,驗證仍然依賴於值得信賴的個人和審計組織。確認和審核投票結果的成本可能極其高昂[6]。顯然還有改進的空間。

那麼理想的投票技術是什麼?其實這並不是一個困難的問題。我們可以輕鬆創建一個“願望清單”:

(1)基礎設施開源;

(2)託管用於投票邏輯的開源程序;

(3)按順序保留所有投票的永久記錄;

(4)能夠對結果進行密碼學驗證;

(5)抗串謀;

(6)保護隱私;

(7)投票成本低。

如果我們能夠構建一個可以不斷完善的開源系統,我們就會逐步實現上述目標。投票技術的改進和成本的降低可以使較小的組織和社區受益於使用他們以前無法獲得的技術,這增加了巨大的正外部性。

區塊鏈社區內的投票和治理

投票和治理在區塊鏈社區中並不陌生,因為很多區塊鏈社區都是分佈式的,他們必須依靠治理來推動事務的發展。

區塊鏈本身可以透明地記錄投票並驗証投票結果。這些屬性已被區塊鏈社區用於治理,例如Snapshot代幣投票[7]和Cosmos治理提案投票[8]活動。因此,區塊鏈社區可以在不經過中心化代理或面對面會議的情況下,對提案進行投票,並決定重要的治理事務。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

 KlaytnSquare[9]正在進行的一項提案[10]呼籲驗證者在鏈上投票。該提案尋求季度財政支出計劃[11]的批准。

前述的例子採用了簡單直接的1代幣1票規則- 擁有多少投票權取決於在網絡或協議中的權益。顯然,只要有意義,我們可以創造其他投票邏輯。區塊鏈的可編程性使得實施非傳統投票邏輯變得更加容易和實際。

一個例子是二次方投票[12](QV),這是一種在區塊鏈社區中越來越受歡迎的投票方案。在QV輪中,用戶可以通過在特定主題上花費“投票信用積分”(Voice Credit)來表達他/她的偏好。但如果選民想對同一主題投不止一票,則每票的投票信用成本就會增加。因此,投票的總成本呈二次增加,阻止了那些擁有過多投票權用戶的極端偏好。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

二次方資助[13]輪在Aptos區塊鏈上投票。投票結果記錄在鏈上,投票邏輯可驗證。

選擇特定投票方式時需要考慮許多參數。例如,一個權衡是選擇鏈上投票還是鏈下投票。鏈上投票邏輯可能更具可驗證性和透明度,但交易手續費可能是一個重要的負擔。相反,鏈下投票邏輯可能更便宜,但同時透明度和可驗證性較低。然而,鏈上與鏈下投票不是二選一的關係。我們可以很容易地將其設計為混合系統,其中部分流程在鏈上進行,其餘部分在鏈下完成。

除了成本之外,還有隱私問題。隱私之所以重要有兩個原因。首先,在很多情況下,如果用戶可以匿名投票(用戶和組織者之間的隱私),他們對投票的顧慮就會減少。此外,用戶之間的隱私可以幫助防止投票賄賂,有效實現抗共謀。

我們可以最大限度地減少鏈上計算,同時強制鏈下完整性的一種方法是使用零知識證明[14]。一個簡單的想法是,如果鏈下計算可以通過零知識證明進行驗證,我們就可以將大部分計算移至鏈下。如果消息進一步加密,我們就可以增強隱私性。 MACI[15]是實現這一目標的最小框架。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

 MACI投票輪將計票轉移到鏈外。最後通過零知識證明鏈上驗證結果的有效性。

在MACI投票輪中,投票被封裝在由一輪管理員(運營者)生成的公鑰加密的消息中,並提交給智能合約。因此,所有消息都被區塊鏈“時間戳”,從而創建了一個投票信息的消息鏈。

當投票輪次結束時,管理員下載所有消息,對它們進行解密,並以相反的順序進行投票計數。然後,將結果與零知識證明一起發布,可以在智能合約上(或由任何其他人)進行驗證,從而標誌著發布結果的有效性以及消息處理的正確性。

整個過程在保證發布結果的完整性的同時,保持了最小的鏈上計算。它還為用戶之間提供了隱私和抗共謀的能力。

MACI在實際產品中是如何工作的?

MACI現在被DoraHacks[16]上的各個黑客馬拉松社區用來投票選出他們最喜歡的黑客馬拉松項目。所以我們以DoraHacks MACI輪次為例。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

 OpenSea與Replit黑客馬拉鬆在2022年使用MACI進行評委投票

黑客馬拉松項目(BUIDL)提交後,主辦方從所有提交的作品中選出了12支BUIDL團隊。 10名評委受邀為這12支BUIDL團隊投票,並分發25,000美元的獎金。 10名評委被列入白名單,報名參加投票輪,他們總共向部署在Polygon上的MACI智能合約發送了39條消息。

投票結束後,管理員(DoraHacks)統計票數並將最終結果發佈到排行榜上,然後提供零知識證明來驗證排行榜。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

 OpenSea x Replit黑客馬拉松投票結果的排行榜。 

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

驗證排行榜上顯示的結果的零知識證明。

作為一個通用框架,MACI可以用於黑客馬拉松評委投票和開源社區投票之外的投票用例。然而,令人驚訝的是,在更多投票用例中採用MACI的情況卻很少見。更廣泛地說,區塊鏈投票本身在現實世界中還沒有被採用。

使用區塊鏈改進投票技術的好處顯而易見,但為什麼現實世界卻沒有向前發展?即使在區塊鏈社區內,MACI的優勢顯而易見,為什麼去中心化社區不普遍採用MACI?

先進投票技術採用緩慢的一個主要原因並不是需求低,而是使用這種技術的困難。換句話說,我們需要改進技術,為現代投票產品提供更好的UX/UI,並降低用戶的使用成本。

用戶體驗

除了開源社區治理之外,我們還需要構建更多接口供用戶使用新的投票技術。 DoraHacks為Web3生態系統和黑客馬拉松社區提供了目前整個行業最好用的產品來提供資助。儘管DoraHacks.io上的接口本身俱有特定的用例,但可以對其進行簡化然後泛化,以便為更多用例構建更多接口。

具體的前端策略尚未確定。然而,良好的用戶體驗對於該技術的採用至關重要,即使是在區塊鏈社區中也是如此——這對於Dora Factory開發者來說很重要。

投票費用

通用區塊鏈應該盡可能去中心化,並為所有類型的應用程序提供單一的基礎設施。這些區塊鏈並非旨在針對任何特定類型的應用程序進行優化,尤其是非貨幣或非金融應用。同時,當存在大量應用程序競爭同一組計算資源時,交易費用會出現波動。成本的不可預測性會給投票帶來麻煩。

為此,Dora Factory最近測試了一款名為Vota[17]的新產品。 Vota的想法是嘗試特殊用途的區塊鏈,並利用它們來不斷優化投票技術和用戶體驗。目前,Vota還處於嬰兒階段。然而,我們可以想像幾種不同形式的Vota。

臨時智能合約

這是目前在DoraHacks.io上支持投票輪次的方式。每輪投票都作為單獨的智能合約部署在特定的區塊鏈上。大部分情況下,以太坊通常無法直接支持大部分的投票場景(這就是為什麼Snapshot是以太坊社區默認使用的產品)。目前,Polygon和BNBChain是DoraHacks上大多數資助組織者和黑客馬拉松組織者的熱門選擇。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

 L1區塊鏈上的臨時智能合約,所有投票消息發送到L1。

使用臨時智能合約並不完全是壞事。它很靈活,可以根據需要將其部署在任何地方。對於DoraHacks的用戶而言,目前效果還不錯,但無法同等滿足所有投票需求。

L2 Vota

如果我們創建一個專門用於投票的二層基礎設施(L2),可以顯著降低Gas費成本,並且可能能夠在以太坊上實現低成本的投票。 L2合約不必全部部署在以太坊上,它們可以更便宜,只需不時地提交L1交易以驗證所有L2活動。

我們可以進一步優化這個模型。通用L2必須經常提交到以太坊。 Vota每輪只需向以太坊提交一筆交易,即每輪最多只需要一筆交易的Gas費成本。如果多輪在同一時間結束,他們可以共享一筆交易以進一步降低Gas成本,使投票L2更加現實可行。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

消息直接發送到L2合約。每輪結束時只有一筆交易被發送到L1區塊鏈。

L3 Vota(適用於L(n)Vota,其中n>=3)

L3 Vota並非完全沒有意義。通過已建立的L2,L3 Vota可以進一步將Gas費降低一個數量級。儘管L3交易最終在以太坊上記錄和驗證,但權衡之處在於要相信所選擇的L2。

當然,我們可以進一步將其擴展到L(n) Vota,因為L(2)…L(n-1)將向以太坊(或其他L1)提交交易。但顯然信任鏈會讓事情變得複雜。從目前的情況來看,很多著名的L2仍然依賴於單一的排序器(Sequencer);現在談論L(4)可能還為時過早。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

應用鏈Vota

Dora Factory開發者創建了一個簡單的“Hack”,允許CosmWasm合約使用[18]Bellman[19]驗證SnarkJS生成的零知識證明。通過將Bellman納入CosmWasm合約中,任何Cosmos應用鏈都可以快速支持zk應用程序。

借助運行zk應用程序的能力,獨立的區塊鏈可以使用像Tendermint這樣的軟件架構來構建一條鏈。這些區塊鏈的共識類似於BFT,或更簡單,它們通常可以支持多達100個左右的驗證者。通過仔細選擇利益不一致的驗證者,獨立的區塊鏈可以足夠安全和中立。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

隨著DoraHacks歡迎更多Cosmos應用鏈加入,基於應用鏈的Vota的一個明顯用例是為黑客馬拉松結果投票。除了DoraHacks之外,基於Cosmos應用鏈的Vota的作用遠不止黑客馬拉松評委投票。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

應用鏈Vota的驗證器數量較少,但精心挑選的驗證器可以提供可靠的基礎設施。

值得注意的是,這些解決方案並不是排他性的。隨著Vota的發展,不同的解決方案可能會交叉。例如,如果我們有一個獨立的應用鏈版本的Vota作為主要基礎設施,對於需要在特定L1上進行交易驗證的用例,應用鏈可以向L1發送額外的交易。

更好的匿名性

目前正在進行的研究工作旨在使MACI更加去信任。最初的MACI做出了一個重要的信任假設,即管理員不會腐敗。這並不具有普遍性。為了改進這一點,有基於MPC的[20]解決方案和基於非MPC的[21]解決方案。目前,DoraHacks已經構建了一個基於ElGamal可重隨機化加密的匿名MACI版本,該加密最初由Kobe Guikan提出。 [22]它已在DoraHacks.io上的小型ETH研究資助輪[23]中進行了測試。

目前,在MACI本身被廣泛採用之前推動匿名MACI的採用可能有點過早。然而,繼續研究以減少一般投票機制的信任假設也很重要。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

通過添加允許用戶停用和更改其秘密密鑰的操作來為MACI添加匿名性,而管理員無法知道誰添加了哪個新密鑰。

GAS支付

重要的是不要假設用戶擁有加密貨幣。如果每個用戶每筆交易都需要支付Gas費,那麼區塊鏈的用戶將僅限於一小部分人。為了解決這個問題,MACI運營商可以預先存入一筆可退還的代幣並支付用戶的費用。該機制可以通過加油站來實現。

加油站本身是一個駐留在Vota上的智能合約。在每輪開始之前,操作者可以選擇使用它,也可以不使用它。通過使用加油站,運營商將DORA預先存入智能合約中,並且可以通過加油站支付與特定回合相關的交易費用。

最有可能的是,Vota會部署一個默認的加油站,人們可以按需部署自己的具有不同支付邏輯的加油站。

詳解Vota:探索最優投票技術,用於去中心化社區治理的特殊用途基礎設施

 Gas支付合約是每輪投票的Gas餘額的賬本。

結論

特殊用途的區塊鏈可能適用於廣泛的特定應用用例,尤其是非金融用例。投票是區塊鍊和零知識密碼學可以幫助顯著改善的最重要問題之一。提高投票透明度和效率可以減少人類社會和區塊鏈社區內部的治理摩擦,從長遠來看可以提高生產力。像MACI這樣的協議為區塊鏈上的投票應用程序創建了簡潔的框架,但投票技術還需要做很多工作來改進。具體來說,我們需要一個用戶友好的基礎設施作為基礎來長期改進投票技術,本文詳細介紹了未來的工作。

參考

Kleroterion:https://en.wikipedia.org/wiki/Kleroterion

投票技術悠久的歷史:https://electionlab.mit.edu/research/voting-technology

英國2019年"脫歐"大選:https://en.wikipedia.org/wiki/2019_United_Kingdom_general_election

電子投票機:https://en.wikipedia.org/wiki/Dominion_Voting_Systems

選舉結果爭議:https://www.reuters.com/legal/dominions-defamation-case-against-fox-poised-trial-after-delay-2023-04-18

確認和審核投票結果的成本可能極其高昂:https://azsos.gov/elections/voters/voting-elections/ballot-processing/2022-general-elections-recount-information

Snapshot代幣投票:https://snapshot.org/

Cosmos治理提案投票:https://www.mintscan.io/cosmos/proposals

KlaytnSquare:https://square.klaytn.foundation/GC

KlaytnSquare的一項提案:https://square.klaytn.foundation/Proposal/Detail?id=4

財政支出計劃:https://govforum.klaytn.foundation/c/proposal/5

二次方投票:https://en.wikipedia.org/wiki/Quadratic_voting

二次方融資:https://research.dorahacks.io/2022/07/11/quadratic-governance

零知識證明:https://en.wikipedia.org/wiki/Zero-knowledge_proof

MACI:https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413

DoraHacks:https://dorahacks.io/grant/ethdenver22/buidl

Vota:https://vota.dorafactory.org/

一個簡單的“黑客”,允許CosmWasm合約使用:https://github.com/DoraFactory/snarkjs-bellman-adapter/tree/main/prove

Bellman:https://github.com/zkcrypto/bellman

基於MPC的解決方案:https://research.dorahacks.io/2023/03/30/mpc-maci-anonymization

非基於MPC的解決方案:https://ethresear.ch/t/maci-anonymization-using-rerandomizable-encryption/7054

匿名MACI版本,由KobeGuikan提出:https://github.com/dorahacksglobal/anonymous-maci

ETH研究資助輪:https://dorahacks.io/grant/ethre3/maci