誰DOT多誰說了算?詳解波卡的治理機制
PolkaWorld
2020-08-26 05:43
本文约6632字,阅读全文需要约27分钟
波卡的治理機制介紹。

編者按:本文來自PolkaWorld(ID:gh_6c4c2038ddba),Odaily經授權轉載。

編者按:本文來自

),Odaily經授權轉載。

編者按:本文來自

),Odaily經授權轉載。

),Odaily經授權轉載。

雖然“精妙” 在某種程度上意味著“複雜”,但如果你是DOT 持有人,並且想通過你的投票,對波卡網絡的進程產生影響的話,那麼你絕對應該花時間認真了解一下波卡的治理機制。而這篇文章就是很好的資料。

mdnice編輯器

Polkadot 使用了一種複雜的治理機制,可以在所有利益相關者的最終要求下隨時間優雅地進化。最終目標是確保大多數利益相關者始終能夠控製網絡。

  • mdnice編輯器

  • 為此,我們將各種新穎的機制結合在一起,包括存儲在鏈上,並用平台中立的媒介語言(即WebAssembly)定義的無定形狀態轉移函數,以及一些鏈上投票機制,如自適應絕對多數閾值的公投和batchapproval投票。對協議的所有變更必須經過利益相關者的公投表決。

  • mdnice編輯器

為了對網絡進行更改,方法是將活躍的代幣持有者和理事會組成一個管理組,對網絡升級進行決策。不管提案是由公眾( DOT 持有人)還是理事會提出的,最終都要經過全民公投,讓所有DOT 持有者(按stake 比例決定權重)做出決定。

統計[1]

mdnice編輯器

公投

  • mdnice編輯器

  • 為了更好地了解理事會是如何組成的,可以繼續閱讀下文“理事會“ 部分的內容。

  • mdnice編輯器

  • 公投

公投是簡單的、包容的、基於stake 的投票方案。每一次公投都有一個與之相關的具體的提議,它在runtime 中以特權函數調用的形式出現(這包括最強大的調用:set_code,它能夠切換出runtime 的整個代碼,實現一般需要“硬分叉”才能做到的功能)。它們是離散事件,有一個固定的時間段來進行投票,然後進行計數,如果投票被批准,則進行函數調用。公投總是二元的,你投票時唯一的選擇是“同意”、“反對”或完全棄權。

公開提交的提案;

所有的公投都有一個與之相關的執行延遲期。這是從公投結束到(假定提案獲得批准)實施更改之間的一段時間。對於啟動公投的前兩種方式,這是一個固定的時間。對於Kusama 來說,這是8 天的時間,在波卡中,計劃是28 天。對於第三種類型,可以根據需要進行設置。

二級標題

提出公投

二級標題

緊急提案涉及需要“快速跟進”的網絡重大問題。這類提案會有一個較短的執行時間。

二級標題

提出公投

公眾公投

任何人都可以通過在一定時期內(區塊數量)存入最低金額的DOT 來發起一項公投。如果有人同意這個提議,他們可以存入相同數量的代幣來支持它。獲得最高綁定支持的提案將被選為公投議案。請注意,這可能與附議的絕對數不同,例如,三個帳戶每個賬戶綁定20 個DOT 將超過10 個帳戶每個賬戶綁定一個DOT。綁定的代幣將在提案提交(即,提交表決)後釋放。

理事會公投

理事會全員同意——當所有的成員都同意一個提議,它就可以轉移到公投。這個公投將有一個負的投票率偏差。也就是說,stake 投票的數量越小,通過該提案所需的數量就越小。 (見下文的”自適應投票人數偏見”)。

多數理事會成員同意——當只有簡單多數的理事會成員同意時,公投也可以投票,但此時要多數同意才能通過。

任何時候都只能進行一個公投,除非有緊急公投。

投票時間線

“最高票”提案是由其背後所綁定的stake 數額決定的。如果輪到創建公投的給定隊列中沒有提案(為空),而另一個隊列中有等待的提案,則另一個隊列中最高票的提案將成為公投議案。

示例:

同一時間段內不能進行多個公投,緊急公投除外。緊急公投與定期公投(無論是公開的還是理事會提議的)同時舉行,是唯一一次可以同時進行多次公投的時候。

對公投議案進行投票

為了投票,投票者通常必須把他們的代幣鎖起來,至少要在公投結束後的執行延遲期內鎖定。這是為了確保投票結果需要一些最低限度的經濟投入,並避免賣票行為。你可以完全不加鎖定地投票,但你的投票價值只是普通投票的一小部分。同時,由於可以投入時間來鎖定,持有少量DOT 代幣並不意味著持有人不能影響公投結果。你可以在自願鎖定(Voluntary Locking[2])中了解更多。

示例:

Peter: 用10 個DOT 投票`No` ,鎖定了128 週,那他的實際投票權重是10 * 6 = 60 Votes

Logan: 用20 DOT投票`Yes` ,鎖定了4 週,他的實際投票權重是20 * 1 = 20 Votes

Kevin: 用15 DOT投票`Yes` ,鎖定了8 週,他的實際投票權重是15 * 2 = 30 Votes

儘管Logan 和Kevin 的選票都比Peter 多,但兩人的鎖定期都比Peter 少,導致他們的投票權重也少。

統計Tallying

根據不同的實體提出的議案,以及是否所有理事會成員都投票贊成,有三種不同的方案。我們可以參考下表。

另外,我們需要以下信息,並使用下面列出的公式之一來計算投票結果。例如,讓我們以公共提案為例,應用絕對多數贊成公式。沒有嚴格的法定投票人數,但隨著投票率的降低,所需的絕對多數席位會增加。

approve(贊成) - 贊成票數

against(反對) - 反對票數

turnout(投票率) - 投票的代幣總數(不包含conviction)

electorate(總選票) - 網絡中DOT 發行的總量

絕對多數贊成製

正投票率偏差,要求在投票率低的情況下獲得大量絕對多數贊成票,但當投票率增加至100%時,它其實就變成了最後一種簡單多數的情況。

負投票率偏差,即需要在投票率低的情況下獲得大量絕對多數反對投票,但是當投票率增加到100%時,它就變成了最後一種簡單多數的情況。

例:

簡單多數制

John  - 500 DOT

Peter - 100 DOT

Lilly - 150 DOT

JJ    - 150 DOT

Ken   - 600 DOT

多數票通過,票數的簡單比較;如果贊成票多於反對票,那麼該提案將獲得通過,無論提案中有多少票。

要詳細了解上述公式的來源,請閱讀民主板塊[3]。

例:

假設:

- 總量僅1,500 DOT

- 公開提案

John: 投`贊成` 且鎖定DOT 4 週=> 500 * 1 = 500 票

Peter: 投`贊成` 且鎖定DOT 4 週=> 100 * 1 = 100 票

JJ: 投`反對` 且鎖定DOT 16 週=> 150 * 3 = 450 票

贊成= 600

反對= 450

投票率= 750

總選票= 1500

由於上述示例是公眾公投,因此將使用絕對多數贊成製來計算結果。在投票率低的情況下,絕對多數贊成需要更多贊成票才能通過此公投,因此,根據上述結果,公投將被拒絕。此外,只有獲勝選民的代幣會被鎖定。如果公投失敗的選民認為投票結果將產生負面影響,則他們的代幣可以轉讓,因此他們持有的投票代幣不會進入鎖定期。而且,優勝提案會在一定的執行期之後才自主執行。

自願鎖定Voluntary Locking

波卡設計了一種稱為自願鎖定的方式,允許代幣持有者聲明願意鎖定自己的DOT 多長時間來增加其投票權,因此,每個代幣持有者的最大投票數將通過以下公式計算:

最大投票數= 代幣總量* 投票乘數

鎖定期每翻倍一次,信念值乘數(conviction multiplier )會將投票乘數增加1。

根據創世runtime,由鎖定期帶來的最大乘數設置為6,並且在Polkadot 上鎖定期為30 天,在Kusama 上鎖定期為8 天。

自適應投票偏見

Polkadot 引入了“自適應投票偏見(Adaptive Quorum Biasing)” 概念,它作為一種調節的槓桿,在一項議案的投票率沒有達到明顯的支持或反對時,理事會可以使用它來改變有效的絕對多數,來讓一項提案更容易或更難通過。

如果一項公開提交的公投只有25%的投票率,那麼我們採用“正投票率偏差”來統計,“贊成”票總數必須達到66%才能通過。

當理事會通過一致同意提出一項新議案時,將使用“負投票率偏差”對公投進行表決。在這種情況下,會比較容易以較低的投票率通過此議案,並且需要絕對多數投票才能拒絕該議案。隨著越來越多的代幣持有人參與投票,這種偏見就會接近普通的簡單多數制。

一級標題

簡而言之,當投票率低時,需要絕對多數才能拒絕該提案,這意味著必須達到較低的“贊成”票數閾值,但是當投票率增加到100%時,它就變成了簡單多數制。

一級標題

這三種計數機制——多數通過,絕對多數通過和絕對多數反對——只要投票率是100%那麼就等同於簡單多數計數機制。

理事會

理事會主要被要求執行三項治理任務:提出明智的公投、取消毫無爭議的危險或惡意的公投以及選舉技術委員會。

二級標題

經理事會三分之二多數同意,可以取消公投。如果在全民投票的提議中發現一個問題,例如議案將執行的runtime 代碼中有bug,則這可能是最後手段。

二級標題

如果取消公投的爭議很大,使得理事會無法獲得三分之二多數同意,那麼將由全體利益相關者來決定提案的命運。

二級標題

如何成為理事會成員?

目前,理事會有13 個席位。所有利益相關者可以自由表示對任何註冊候選人的認可。

理事會的選舉由同一Phragmén 選舉流程處理,該流程根據提名從可用池中選擇驗證人。但是,代幣持有人對議員的投票,與他們對驗證人的任何提名是分開的。理事會任期為一日。每一期的末尾,將運行Phragmen 選舉算法,結果將根據所有選民的投票配置選擇新的議員。選舉還選擇了一定數量的備選議員(runners up),目前在Kusama 上為7 名,在Polkadot 上為15 名,這些候選人將在投票中保持原樣。

讓我們看下面的例子。

上面的例子顯示了候選人C 在第一輪選舉中獲勝,而候選人A、B、D 和E 仍保留在下一輪候選人名單上。

二級標題

對於前N 名(例如上面例子中為4 名)的備選議員,他們可以保留並繼續投票直到下一次選舉。在第2 輪之後,即使候選人A 和B 在本輪中獲得相同的票數,候選人A 也會被選上,因為在加上之前的未使用贊成票後,它的得票比B 高。

這是Polkadot 初始階段的臨時治理配置。如果在第三方審核之後發現任何安全漏洞,它將被更改。進一步的更改可以通過鏈上治理進行。

主要成員

一級標題

主要成員根據Borda count[4]選出。

擁有理事會主要成員的目的,是即使在數名成員棄票時,也能確保投票人數。理事會成員可能會通過不投票而讓其他成員投票,來表決“軟拒絕” 或“軟贊成”。有了主要成員,它迫使理事會成員要么在投票中表現得很明確,要么讓自己的選票計入主要成員所投的選項。

一級標題

一級標題https://wiki.polkadot.network/

常見問題

常見問題

二級標題

常見問題

常見問題

我如何可以要求理事會代表我進行更改?

  • 一級標題

  • Democracy Pallet[8]

  • 初始治理描述[7]

  • 初始治理描述[7]

  • 正文

參考資料

正文https://wiki.polkadot.network/

[2] Voluntary Locking: https://wiki.polkadot.network/

正文https://github.com/

[4] Borda count: https://en.wikipedia.org/

[5] Polkadot Direction: https://matrix.to/

[6] Polkassembly: https://polkadot.polkassembly.io/

正文https://github.com/

[8] Democracy Pallet: https://github.com/

正文https://www.youtube.com/

正文https://www.crowdcast.io/

正文https://www.crowdcast.io/

[12] https://wiki.polkadot.network/docs/en/learn-governance: https://wiki.polkadot.network/

PolkaWorld
作者文库