Polkadot精華解讀:社羣治理 一、治理流程概覽 二、議會 三、公民投票

相較於其他項目來說,Polkadot的社區治理機制更爲複雜,因爲Polkadot想在很長的時間段內都能保證代幣持有者的權益。爲了做到這一點,Polkadot發明了一些創新性的機制,比如說鏈上無序狀態轉換函數(amorphous state-transition function)、採用平臺中性的中間件語言(比如WebAssembly)以及一些鏈上投票機制,比如具有自適應超多數閾值的公民投票、批量投票批准等。

一、治理流程概覽

Polkadot治理的核心原則是:所有的協議更改都需要基於代幣持有權重的全民公投,代幣的多數持有者將永遠有權管理網絡。

爲了實現這個原則,需要網絡進行一些工作,並且不得不犧牲一些網絡性能,比如性能下降5%。但是儘管如此,也需要這樣做,因爲如果不做這些治理工作所導致的問題和混亂會帶來更大的代價。

通常來說,網絡延時以及丟包等各種問題存在,我們沒法要求所有的持幣人都參與投票,所以我們可以根據活躍的持幣人和不活躍的持幣人自定義一個閾值參數,使得投票總數超過閾值即投票有效

治理主要包括三個階段

1.提議階段

公開提議:在抵押最少代幣的情況下任何人都可以提出提案,支持他人提案時,需抵押與原提案人等量的幣。擁有最高代幣支持的提案將進入投票階段,提議進入投票階段後提議階段抵押的代幣將被釋放。在Polkadot初期,每兩週會有一些提議進入投票階段。

議會提議:1)議會強一致提議:當議會中的所有成員都同意某一提議,該提議會直接進入投票階段。2)議會簡單多數提議:當議會中同意的成員大於反對的成員數量時進入下一階段。

2.投票階段

爲了投票,選民必須將他們的代幣鎖起來,這是爲了確保對選舉結果的最低限度的經濟支持是必要的,並勸阻出售選票。用戶可以選擇支持或反對當前提案,當然也可以不表達任何意見。對於表達支持意見的人,一旦提案通過,自己的幣也會至少被鎖定一個延時的時間。在投票階段,用戶可以通過自願鎖定更長時間來增強投票力。

3.計票階段

對於一個提案是否通過,有三種計算方式。總結來說,當投票率降低時,通過提案所需要的投票同意率會隨之提高。假使提案最終提過,原則上會經過一段延時,然後纔會自動實施。


二、議會

爲了代表不活躍的代幣持有者,Polkadot引入了議會機制。議會由一些鏈上賬戶組成,在Polkadot中,開始的階段議會人數將在6人左右,並且隨着時間的推移,在9個月後議會將擴充到24人(差不多兩週多增加一個席位)。在穩定後,席位會固定在24個,每個席位有12個月的任期,所有的成員都需要通過全民公投批准。


一個席位沒有特定的投票期間,而是一個連續的選舉過程。所有利益相關者都可以自由地對任何已註冊的候選人表示贊同(或不贊同)。當一個席位變得空閒時,就會通過投票計算出最受認可的候選人,然後這個席位就成了他們的。只有通過全民公投才能提前罷免議員。

如下圖所示,每個持票者可以爲多個候選者進行投票,在第一輪中C獲得了最多投票,勝出。A、B、D、E將進入下一輪。


在第二輪中,大家重新進行投票,A和B獲得了最高票,但是隻有A成功勝出,因爲在第一輪中A獲得的票數是超過B的。

議會主要被要求執行兩項治理任務:提出明智的全民公決,以及取消毫無爭議的危險或惡意的全民公決。

對於議會提出的提議,必須有嚴格的多數成員贊成,而沒有任何成員行使否決權。一名成員對任何一項提案只能行使一次否決權;如果經過一段時間的冷靜之後,重新提交提案,他們可能不會第二次否決它。如果所有成員都投贊成票,則認爲投票是一致的,沒有爭議。

議會如要取消全民公投,必須有一致投票通過。由於一致意見是一項很高的要求,預計這項措施只有在完全沒有爭議的情況下才會使用。如果公投提案在當天晚些時候發現了一個問題,比如提案將引發的運行時代碼中的一個bug,那麼這可能是最後的手段。如果取消計劃引起的爭議足夠大,以至於至少有一名持不同意見的人反對,那麼將由全體利益攸關方決定提議的命運。


三、公民投票

公投是一種簡單、包容、基於代幣的投票方案。每個公投都有一個與之相關聯的特定提議,該提議在運行時以特權函數調用的形式出現(其中包括最強大的函數調用:set_code,它能夠切換出運行時的全部代碼,從而實現需要“硬分叉”的功能)。它們是離散事件,有一個固定的投票發生時間,然後進行統計,如果投票被批准,就執行函數調用。

議案可通過三種方式提出:

1)公開提出議案。

2)由議會提出的議案,要麼通過無否決多數,要麼一致通過。

3)作爲預先全投的一部分提出的議案。

所有公投都有與之相關的立法延遲。這段時間是從全民公投結束到假設提案獲得批准的變化生效之間的一段時間。公投開始的前兩種方式都是固定的(對於Polkadot多來說,可能是兩週。對於第三種類型,可以根據需要設置。


3.1全民公投

全民公投的提案可以由任何人提出,但不會自動獲得表決。當提交時,提案人需要支付一筆押金(超過固定最低額度的任何金額,可能在Polkadot上設定爲50美元左右),然後提案人就可以排隊了。當一個提議在排隊等候時,任何人都可以通過在初始存款後存入相同金額的存款以“支持”該提議,並且可多次支持。

在固定的時間間隔內,隊列中抵押代幣最多的項目將被選中進行下一步全民公投,並從候選隊列中被刪除,所有抵押的代幣將被返還給支持者。

投票權重

所有投票者投票都將從兩個方面來進行衡量:

代幣:代幣持有量;

時長:在公投結束後代幣的鎖定時長,可在1到6個時間單位中進行選擇。

因此,爲了投票,選民必須將他們的代幣鎖起來,這是爲了確保對選舉結果的最低限度的經濟支持是必要的,並勸阻出售選票。將這兩個指標(代幣和時長)相乘,得到投票者的總投票數。一個擁有6個令牌的投票人只願意將它們鎖在允許的最短1個單位時間內,他將與一個只有一個令牌但鎖定6個單位時間的投票人擁有相同投票數量。如下圖所示:

投票計數

一旦計票完畢,結果就必須確定。有三種選擇來確定可以使用的結果:

(approve - 同意的投票數量;against - 反對的投票數量;voters - 投票代幣總數;electorate - 網絡中Dots的總數)

1)簡單多數,簡單的投票比較,如果贊成的票數多於反對的票數,那麼該提案就通過了。


2)積極的投票率偏差“Positive Turnout Bias”,即在投票率較低的情況下,贊成票的絕大多數必須獲得通過,但隨着投票率接近100%,這就變成了一個簡單的多數票通過。


3)負面投票率偏差“Negative Turnout Bias”,即在投票率較低的情況下,需要獲得絕大多數反對票才能否決,但隨着投票率接近100%,這就變成了一個簡單的多數票通過。


例如,網絡總共有1,500 DOTs 。

John  - 500 DOTs

Peter - 100 DOTs

Lilly - 150 DOTs

JJ    - 150 DOTs

Ken  - 600 DOTs

John: 投 `Yes`,並鎖倉1個週期  => 500 * 1 = 500票

Peter: 投 `Yes`,並鎖倉1個週期  => 100 * 1 = 100票

JJ: 投 `No`,並鎖倉3個週期  => 150 * 3 = 450票

支持 = 600票

反對 = 450票

投票總數 = 1050票

代幣總數 = 1500

最後結果如下所示,投票將被通過。

我們認爲,一項沒有否決權的議會多數派協議,標誌着一種明智的、或許是不規則的狀態過渡。爲此,我們使用簡單多數進行度量。這方面的一個例外是議會內部已達成決議。在這種情況下,我們假定它標誌着一種主要由技術官僚主導、毫無爭議的協議變革。因此,我們主張“舉證責任”應落在反對提議的人身上,因此我們使用負投票率偏見度量。

公民投票是公開的,很容易包含惡意或考慮不周的行爲。在這裏,責任必須由支持者承擔,因此我們傾向於任何棄權票反對動議,支持(假定安全,因爲它的功能足以管理這次投票)現狀,並使用積極的投票率偏見。

投票率偏差”指標使用一種稱爲自適應仲裁偏差Adaptive Quorum Biasing)的技術,這是一種基於“投票率偏差”所需的超級多數的簡單方法。如下圖所示:

1.對於一個公開提案,當採用Positive Turnout Bias策略時,如果該提案只有25%的投票率,則其需要有66%的投票者投支持票纔可通過。如果有75%的投票率時,則只需54%的投票者支持就可通過。即投票率越高,需要同意的人數比例可以相對降低。

2.對於由議會提出的全體一致性提案進行投票時,採用Negative Turnout Bias策略,投票總人數越多,需要更大比例的反對票才能拒絕這個提案。比如,對於一個只有25%投票率的提案,需要34%的投票者反對;對於一個75%投票率的提案,需要有46%的人反對,該提案纔會被拒絕。

下面是投票率偏差的計算公式B+和負投票率偏差公式B−:


其中tt爲投票令牌總數,tt爲系統中發出的令牌總數。ayeaye是贊成票的數目,naynay是反對票的數目。

綜上:

通過全民投票提出的提案可以使用任何計票機制;

經議會一致同意提交的提案需要獲得更多(可能更多)反對票才能被拒絕;

由簡單多數議會協議提交的提案必須有多數的贊成票才能被接受;

公開提交的提案必須獲得更多(可能多得多)贊成票才能獲得批准。


這就是Polkadot 的創始治理機制。基於來自團隊、社區和審覈員的反饋,它可能(而且很有可能)會在主網上線之前發生變化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章