Jump Crypto:如何用代碼確保代幣委託治理的獨立性?

152次閱讀

 

原文作者:Nihar Shah、Joe Howarth

原文編譯:aididiaojp.eth,Foresight News

TL;DR

  • 雖然代幣委托計劃能夠實現穩健的治理,但因為代幣持有者可以立即撤銷委托權,代幣委托的獨立性受到限制。
  • 對於有獨立性要求的代幣持有者,例如機構持有者,我們建議代幣委托合約可以嵌入明確的鎖定期。
  • 我們通過 Maker 合約進行演示,同時添加了其他功能,例如如果決策是相互的,或代幣持有者觸發緊急通道,治理能夠繞過鎖定期。

介紹

在過去兩年,代幣委托的概念變得越來越流行。代幣委托是指代幣持有者將他們在鏈上的投票權授予他人,包括 Maker、Compound  和 Uniswap  在內的主要協議也在使用代幣委托的方式來治理社區。代幣委托提高了治理水平,也促使社區蓬勃發展,其中包括學生團體、非營利組織和社區領袖。

委托代幣有兩個特殊的優點。最直接的優勢是可以讓治理更有效率。如果沒有授權計劃,有些社區成員的相關利益很小,或者沒有足夠時間,但他們不得不梳理數十個提案,了解繁瑣的治理方案才能參與投票。通過委托計劃,一些專業人士可以做出更明智、更一致和更重要的決定。在許多情況下,代議制民主比直接民主具有優勢,加密市場也不例外。

去年以來,代幣委托第二個優勢開始凸顯:中立性。例如一些代幣持有者擁有極大的持倉,並且可能在競爭對手協議中擁有代幣,這些持有者可能希望致力於建立一個 去中心化 和公正的社區,而委派投票權是確保他們被視為保持中立的一種方式。

第二個優勢並不是只依靠代幣委托程序來保證,它需要代表獨立於代幣持有者的特殊條件。例如,a16z  的 Jeff Amico 在他的 文章 中闡述了代幣委托的原則,特別強調了「授權每個代表以他們認為合適的任何方式獨立於代幣持有者投票」的重要性。然而大多數現有的代幣委托協議都沒有強制執行這種獨立性,並且在某些情況下,這種獨立性可能在關鍵治理提案之前被故意破壞。

本文提供了一個簡單的、基於代碼的解決方案:通過在協議中添加鎖定期功能,代幣持有者無法在鎖定期內撤銷受托人的治理權。此外,我們創建了這個概念的參考案例,以及一些與 Maker 的協議兼容的可選的雙向非緊急和單邊緊急繞行功能。

鎖定期不適用於所有持有人代理關系。出於效率考慮,使用代幣委托的小額代幣持有者應該繼續擁有隨時撤銷投票權的權利,社區也可以通過將兩者分開,來重塑大額代幣持有者和協議之間的代理關系,持有人可以自由授權,委托人可以獨立投票。

失樂園:撤銷代理

代幣委托雖然被普遍認為具有很高的潛力,但也並非沒有受到批評。無論是在理論上還是在實踐中,代幣委托計劃容易忽略有關授權的規範,削弱了建立健全治理的願望。

例如 DeFi Watch 的 Chris Blec 一直積極地堅持 a16z 提倡的委托計劃的選擇和交互的明確性。Blec 指出,如果治理提案完全由一兩個持有者代表批準,這將會引發對投票代表和代幣持有者之間關系的質疑。

這些風險是真實存在的,例如除了 Maker 的 Poll 819,更廣為人知的是 LOVE 投票。這次投票主要圍繞貸款監督機構的選擇,以及權力下放與效率的廣泛社區治理討論,這次提案爭議很大,異常激烈(它創造了 Maker 投票的參與記錄,並且在撰寫本文時該記錄仍然保持)。Luca Prosperi 詳細記錄了更廣泛的投票過程,但主要是圍繞代幣委托的相關細節。

這表明在關鍵時治理提案可以繞過代幣委托程序。例如 Maker 的 創始人  Rune Christensen 在委托時期更改了提案授權,從而影嚮投票結果。雖然 Christensen 公開反對該提議,但他幾乎將他所有的 MKR 代幣都委托了出去。但在為期兩周的投票窗口期間,他撤銷了投贊成票或棄權票的代表的授權,並將這些代幣重新授權給其他沒有投票的代表。這種重新分配似乎只是為了掩飾 Christensen 和投贊成票的代表之間的根本分歧的一種戰術。在投票結束後的三天內,Christensen 再次將代表權轉回給在上次選舉中投贊成票的代表。這種糢式如下圖所示:

法律解決方案

代幣委托程序需要變得更加完善。一種解決方案是通過法律合同來保障授權與強制執行的獨立性,例如在 a16z 的委托計劃中會承諾代表持有治理權的最短期限。如果代表投票與之利益沖突,這可以減輕代幣持有人收回治理權的風險。更一般地說,它限制了代幣持有人可以向其代理施加的壓力。

該原則由放置在公共 Github 倉庫中的法律合同強制執行。法律合同的關鍵點在第 6 節中,其中規定:「為了防止萬一該代表未能履行其協議治理職責,本協議的初始期限應為自生效日期起 [N] 個月,代幣持有者只能在期限屆滿之前終止本協議。」

但法律機制是次優選擇,我們並不懷疑 a16z,但那些追隨其腳步的人可能沒有那麼高尚。法律合同的執行成本很高,並嵌入了不對稱的權力分布,也包括不透明的談判。在不太在意的代幣持有者手中,法律合同幾乎沒有進行有意義的檢查。

因此由於依賴於太多關於透明度和可執行性的假設,法律合同可能是普遍擴展和增強代幣委托計劃的錯誤機制。

建議:代碼,而非法律

本文提出一個簡單的解決方案:智能合約 而不是法律合約。換句話說,通過將鎖定期直接嵌入智能合約來保護代理的獨立性。這在事前是高度透明的,事後很容易執行,最重要的是,它通常是一個簡單的技術實現。

我們使用 Maker 合約進行演示。大多數核心委托邏輯都存在於 VoteDelegate.sol 合約中,特別是註意 lock 和 free 函數,它們完全能夠滿足要求。代幣持有者使用 lock 函數來捆綁代幣並分配其治理權,並使用 free 函數收回這些代幣和相關的治理權。

還可以做一些簡單的修改。首先在調用合約構造函數時,我們定義了一個名為_lockupPeriod 的變量;其次,持幣者調用 initialUnlock 函數觸發解鎖倒計時;第三為了檢查鎖定期是否得到遵守,必須稍微修改 free 函數。

通過嵌入鎖定期,代幣委托程序變得更加公開可信,由代碼而非法律強制保證委托人的獨立性。

緊急繞行功能

當然,鎖定期可能並不總是可取的,我們可以相應地修改智能合約。

首先,受托人和代幣持有人可以相互同意結束委托關系。在這種情況下可以提供繞行功能,這可以通過一個簡單的函數 delegatorBypassLockup 來實現,它可以讓委托人毫不拖延地放棄治理權。(請註意,參數 isDelegatorBypassEnabled 可以在合約啓動時啓用此功能。)

其次,也可能存在代幣持有者單方面繞過鎖定期的緊急情況,例如代理以高度不負責任或敵對的方式行事,當然這種情況不會經常發生。

一種好的解決方案是允許代幣持有者通過不可撤銷地銷毀代幣來繞過鎖定期,這就很容易實現。初始化合約時,代幣所有者設定了一個 EmergencyUnlockBurnPercent 值(可能高達 100%)。然後修改 free 函數來檢查 token 持有者是否選擇了緊急路由。如果是這樣,它只會歸還未燃燒的代幣份額並燃燒剩餘的份額。我們在這裡展示了該邏輯的一部分:

完整的代幣庫

嵌入本文中討論的所有功能和修改的函數請求可以在以下公共 Github 倉庫 中找到,其中也包含對 Maker 架構的所有必要更改。我們歡迎提出意見和建議,並相信該合約已經可以部署到生產中。

未來願景:可組合性

代幣委托程序可以變得更加豐富,我們也相信代幣委托合約的可組合性將開啓下一波創新浪潮,例如如果代表可以將他們的投票權委托給其他代表怎麼辦?

這種關系可以使被委托人更加獨立。例如,代幣持有者可以將他們的代幣委托給一個學生團體。反過來,學生團體可以將這些權利委托給治理名單上個人成員,而無需向代幣持有者透露確切身份。因此,如果代幣持有者想要施加軟壓力,他們甚至不知道要針對哪些人,以及哪些人投票支持和反對他們的利益。

可組合性還可以與更豐富的合約配對,以允許代幣持有者和代理之間進行更具創造性的互動。例如,代幣持有者可以被允許單方面從被委托人那裡提取代幣,但直到最短鎖定期結束後才能收到代幣。可組合合約將是一種實現方式。

結論

鎖定並不適合所有人,例如那些因代幣委托計劃最初的效率優勢而被吸引的人會發現鎖定是不必要的。但是鎖定對於有興趣保持中立的特定代幣持有者(例如創始人、機構持有者等)非常有用。

重要的是,我們想要清晰,一些代幣持有者想給他們的代理很大的獨立性,而其他代幣持有者希望建立更嚴格監控的關系。現狀迫使所有這些人進入同一個智能合約,並讓他們通過拼湊的公開聲明和法律文件表達他們的真實意圖。而該合約允許每個代幣持有者選擇最適合他們的框架,包括期望的鎖定期、相互繞過的功能以及緊急銷毀參數。整個過程發生在鏈上,每個人都可以看到,沒有人需要監控。

 

鏈訊星球
版權聲明:本站原創文章,由 鏈訊星球 2022-10-28發表,共計3515字。
轉載說明:除特殊說明外,本站文章如需轉載請註明出處。