CIP 1694: A First Step Towards On-Chain Decentralized Governance https://github.com/JaredCorduan/CIPs/blob/voltaire-v1/CIP-1694/README.md https://forum.cardano.org/t/cip-1694/118332 9606 # CIP 1694:邁向鏈上去中心化治理的第一步 [TOC] ###### tags: `cardano ambassdor` ## 大綱 我們提議修訂 Cardano 的鏈上治理系統,以支持伏爾泰的新要求。 現有的對協議參數更新和 MIR 證書的專門治理支持將被刪除,並且兩個參數將被添加到正常的交易主體中: 1. 治理行動 2. 票數 **任何卡爾達諾用戶**將被允許提交**治理行動**。 我們還介紹了三個不同的治理機構,它們在這個新的治理框架中具有特定的功能: 1. 憲政委員會 2. 一組委託代表(以下稱為**DReps**) 3. 權益池運營商(以下稱為 **SPOs**) 每一項治理行動都必須得到三個治理機構中的兩個批准(鏈上投票),行動的類型和治理系統的狀態決定了哪些機構必須批准它。 然後按照一組明確定義的規則,在鏈上**執行**批准的操作。 與權益池一樣,任何 Ada 持有者都可以註冊成為 DRep,可以選擇代表他們自己和/或其他人。 此外,與權益池一樣,Ada 持有人可以委託他們的投票權 任何其他 DRep 的權利。 投票權將基於委託的 Ada 總數,作為 Lovelace 的整數。 因此,該提案最關鍵的方面是**一個 Lovelace = 一票** 的概念。 + [目標](#目標) + [目前的治理機制設計](#目前的治理機制設計) + [Shelley 治理設計的缺點](#Shelley-治理設計的缺點) + [延伸討論](#延伸討論) ### 目標 我們正在進入伏爾泰時代,為分散決策奠定基礎。該 CIP 描述了一種鏈上治理機制,它將支持 Cardano 的伏爾泰階段。 CIP1694 在 Cardano 原有的治理模式下加以建構跟延伸。旨在提供有價值又是技術上可以實現的治理模型,近期擬議的伏爾泰是治理系統的一部分。 CIP1694 也作為持續社區投入的起點,包括適當的門檻設置和其他鏈上設定,後續提案可能會調整和擴展以滿足新出現的治理需求。 ### 目前的治理機制設計 Shelley 賬本時代引入的鏈上 Cardano 治理機制能夠: 1. 修改協議參數值(包括發起“硬分叉”) 2. 將 Ada 從儲備和國庫中轉移出來(同時將 Ada 在儲備和國庫之間轉移) 在目前的方案中,治理行動是由需要“Quorum-Many”授權的特殊交易發起的 治理密鑰,交易中提供的信息: 1. 協議參數改變 2. 發起資金轉賬。 每個交易都可以觸發兩種治理操作,並且單個操作可以產生不止一種效果(例如,更改兩個或多個協議參數)。 - 協議參數更新使用 [transaction field](https://github.com/input-output-hk/cardano-ledger/blob/8884d921c8c3c6e216a659fca46caf729282058b/eras/babbage/test-suite/cddl-files/babbage.cddl#L56) 的交易主體。 - 國庫和儲備金的流動使用 [Move Instantaneous Rewards (abbrev. MIR) 證書](https://github.com/input-output-hk/cardano-ledger/blob/8884d921c8c3c6e216a659fca46caf729282058b/eras/babbage/test-suite/cddl-files/babbage.cddl#L180) 授權的治理行動開始於每個紀元邊界 #### 硬分叉 其中一個協議參數非常重要,值得特別注意: 更改協議版本使 Cardano 能夠推行受控的硬分叉。因此這種類型的協議參數更新具有特殊的地位,因為權益池必須升級他們的節點,一旦硬分叉生效他們就可以更新新的協議版本。 ### Shelley 治理設計的缺點 Shelley 治理設計旨在提供一種簡單的治理方法。CIP 1694 旨在解決 Shelley 設計的一些缺點 1. Shelley 治理設計沒有為 Ada 持有者的鏈上積極參與提供空間。雖然對協議的更改通常是與選定的社區參與者討論的結果,但目前主要由創始團隊推動,因為確保每個人都能表達他們的意見是很麻煩的。 2. 國庫動向是一個關鍵而敏感的話題,提高透明度很重要,以及對這些行為的更多層控制。 3. 雖然需要由 SPO 決定,但硬分叉與其他協議參數更改沒有區別。 4. 最後,雖然目前對 Cardano 有一個共同的願景,創始團隊和許多社區成員都有共同的看法,但沒有文件記錄這些。利用 Cardano 區塊鏈以不可變的方式記錄,作為正式的 Cardano 章程是有意義的。 ### 延伸討論 以下主題被認為不屬於本 CIP 的範圍。 #### 憲政的內容 本 CIP 僅關注鏈上機制,但是初始章程的規定極其重要,任何程序都非常重要,值得單獨討論。 #### 憲政委員會成員 這是一個鏈下問題。 ### 法律問題 Cardano 協議或 Cardano 憲政的潛在法律執行不在本 CIP 的範圍之內。 #### 治理行為的鏈下標準 Cardano 社區必須深入思考本 CIP 中指定的治理操作的正確標準和流程。 特別是 Project Catalyst 資金撤回行動 #### Ada 質押(stake)和委託(delegate) 任何私人公司、公共或私人機構、個人等如何持有或委託他們的 Ada,包括委託給權益池或 DReps,不在本 CIP 的範圍內。 ## 規格 + [Cardano 憲法](#Cardano-憲法) + [憲法委員會](#憲法委員會) - [不信任狀態](#不信任狀態) - [憲法委員會密鑰](#憲法委員會密鑰) - [更換憲法委員會](#更換憲法委員會) - [憲法委員會的規模](#憲法委員會的規模) - [任期限制](#任期限制) + [委託代表 (DReps)](#委託代表-(DReps)) - [預定義的 DReps](#預定義的-DReps) - [註冊 DReps](#註冊-DReps) - [DReps 的新權益分配](#DReps-的新權益分配) - [激勵 ADA 持有人委託投票權](#激勵-ADA-持有人委託投票權) - [DRep 獎勵](#DRep-獎勵) + [治理行動](#治理行動) - [批准](#批准) * [要求](#要求) * [限制](#限制) - [制定](#制定) - [生命週期](#生命週期) - [內容](#內容) - [協議參數組](#協議參數組) + [投票](#投票) - [治理狀態](#治理狀態) - [股權快照的變化](#股權快照的變化) - [與投票權相關的定義](#與投票權相關的定義) ### Cardano 憲法 Cardano 章程是一份文件,定義了 Cardano 的核心價值觀和指導原則。在這個階段,章程是一份明確體現了 Cardano 的核心價值觀的文件,並採取行動確保其長期可持續性。在稍後階段,我們可以想像憲法可能會演變成一套基於智能合約的規則,驅動整個治理框架的文件。 然而就目前而言,憲法仍將是一份鏈下文件,只有其雜湊值將記錄在鏈上。 <!------------------------ 憲法委員會-------------------- -----> ### 憲法委員會 我們定義了憲法委員會,它代表一組個人或實體(每個實體都與一對 Ed25519 憑證相關),共同**確保憲法得到尊重**。 雖然它“不能在鏈上執行”,但憲法委員會**只是**應該對治理行為的合憲性進行投票(因此應該確保區塊鏈的長期可持續性)並且可以通過**不信任** 行動被取代。 換句話說,憲法委員會與網絡參與者之間存在社會契約,儘管憲法委員會可以拒絕某些治理行動(通過對它們投反對票),但只有當這些治理行動與憲法相衝突時,他們才應該這樣做。 例如,如果我們假設的憲法規則“Cardano 網絡必須始終能夠產生新區塊”,那麼將最大區塊大小減少到“0”的治理行動實際上是違憲的,因此可能不會 由憲法委員會批准。 然而該規則沒有指定可接受的最小塊大小,因此憲法委員會需要確定這個數字並進行相應的投票。 #### 不自信的狀態 憲法委員會在任何時候都被認為處於以下兩種狀態之一: 1. 正常狀態(即信任狀態) 2. 不信任狀態 在“不信任”狀態下,現任委員會不能參與治理行動,必須在批准任何治理行動之前更換(見下文)。在協議進入不信任狀態後,任何未完成的治理行動都會立即被取消,並且不會被執行。 #### 憲法委員會密鑰 憲法委員會將採用冷熱密鑰設置,類似於現有的“創世委託證書”機制。 #### 更換憲法委員會 可以通過需要**SPO** 和**DReps** 批准的特定治理行動(“新憲法委員會”,如下所述)更換憲法委員會。批准的門檻可能會有所不同,具體取決於治理是處於信任狀態還是不信任狀態。 只要行動得到適當批准,新憲法委員會原則上可以與即將離任的委員會相同或部分重疊。 例如,如果選民信任委員會的全部或部分成員並希望延長其任期,則可能會發生這種情況。 #### 憲法委員會的規模 與 Shelly 治理設計不同,憲法委員會的規模不是固定的,可以是任意數。 每當選出新委員會時可能會發生變化。委員會門檻(批准治理行動所需的委員會“贊成”票數的分數)也不是固定的,也可能因治理行動而異。 這為委員會的組成提供了很大的靈活性。 特別是如果社區希望完全廢除憲法委員會,則可以選出一個空委員會。 請注意,這與不信任狀態不同,仍然構成能夠制定提案的治理系統。 委員會的最小規模將有一個新的協議參數,它本身是一個非負數。 #### 任期限制 每個新當選的憲法委員會都將有任期限制,允許輪換,例如每年有三分之一的委員會成員到期。過期成員不能再投票,會員也可以自願提前退出,這將在鏈上標記為過期會員。 當未過期委員人數低於委員會最小人數時,系統將自動進入不信任狀態。例如一個委員會有五個成員,2人過期,法定人數3人,所有未過期成員都投票“是”,仍然可以通過治理行動。但是如果再有一名成員到期,則系統會進入不信任狀態,因為剩下的兩名成員不足以滿足法定人數。 最大任期限制是一個治理協議參數,單位是紀元。 在不信任狀態下,無法批准任何行動,因此如果要避免委員會中斷,就應該計劃下任委員會。 <!------------------------ 憲法委員會-------------------- -----> <!-------------------------- DReps -------------------- ----> ### 委託代表 (DReps) > **警告** > CIP-1694 DReps **不應與 Project Catalyst DReps 混淆**。 <!-- TODO 找到另一個仍然指向流動民主的名字。 --> #### 預定義的 DReps 為了參與治理,每個權益憑證都必須委託給 DRep。 Ada 持有者通常會將他們的投票權委託給註冊的 DRep,由其代表他們投票。 此外還提供了兩個預定義的 DRep 選項: *`棄權` 如果 Ada 持有人委託給“棄權”的池,那麼他們的權益將被主動標記為不參與治理。 在鏈上委託給“棄權”的池的效果是委託的股權*不會*被視為主動投票股權的一部分。 但是出於 [Ada 持有人委託投票權的激勵措施](#incentives-for-ada-holders-to-delegate-voting-stake) 中描述的激勵措施,該權益*將*被視為已登記 . *`沒有信心` 如果 Ada 持有人委託給“不信任”的池,那麼除了“不信任動議”之外,他們的權益將被視為對每項治理行動的"否決票"。 這也表明他們對現有的憲法委員會沒有信心。 在鏈上委託給“不信任”的效果是該股權將被視為主動投票股權的一部分。 它將計為對每個"不信任行動投是票",對所有其他行動投"否票"。 它還可以作為 Ada 持有者對憲法委員會的信心的直接可審計衡量標準。 > **注意** > 預定義的 DReps 不在交易內部投票,它們的行為在協議級別進行說明。 > 出於多種原因,可能會選擇“棄權”DRep,包括不參與治理系統的願望。 > **注意** > 任何 Ada 持有人都可以將自己註冊為 DRep,如果他們希望積極參與投票,則可以委託給自己。 #### 註冊 DReps 在 Voltaire 中,除了當前委託給權益池以進行區塊生產之外,現有的權益憑證將能夠將其權益委託給註冊的 DReps 以進行投票。 DRep 委託將模仿現有的權益委託機制(通過鏈上證書)。 同樣,DRep 註冊將模仿現有的權益註冊機制。 此外,已註冊的 DReps 需要定期投票才能仍被視為活躍。 不活躍的 DReps 不再計入活躍的投票權。 已註冊的 DRep 由可以是以下任一憑證的憑證標識: * 驗證密鑰 (Ed25519) * 原生或 Plutus 腳本 序列化 DRep 憑證的 blake2b-224 哈希摘要稱為_DRep_ID_。 將添加以下新類型的證書進行治理: DRep 註冊證書、DRep 退休證書和投票委託證書。 ##### DRep註冊證書 DRep註冊證書包括: * 一個 DRep ID * 押金 * 一個 anchor **anchor** 是一對: * 元數據的 JSON 的 URL * 元數據 URL 的哈希值 該元數據的結構和格式在本 CIP 中開放。鏈上規則不會檢查 URL 或哈希。 但是,客戶端應用程序在從提供的 URL 獲取內容時應該執行檢查。 ##### DRep 退休證書 DRep 退休證書包括: * 一個 DRep ID * DRep 將退出的紀元號 ##### 投票委託證書 投票授權證書包括: * 應委託質押的 DRep ID * 委託人的股權憑證 > **注意** > DRep 委派始終將權益憑證映射到 DRep 憑證。 這意味著一個 DRep 不能將投票權委託給另一個 DRep。 ##### 證書授權方案 授權方案(即註冊、退役或委託需要哪些簽名)模仿現有的權益委託證書授權方案。 <!-- TODO:在附件中為這些新證書提供 CBOR 規範。 --> #### DReps 的新權益分配 除了現有的權益憑證分配,還需按照 DRep 的權益分配。 該分配將決定 DRep 每次“贊成”投票支持多少權益。 > **警告** > 與用於區塊生產的分配不同,我們將始終使用在紀元邊界上給出的每個 DRep 權益分配的最新版本。 這意味著**對於個人選民非常關心的任何話題,他們有時間註冊為 DRep 並直接投票**。 然而,這意味著在任何給定時期,用於區塊生產的權益和用於投票的權益之間可能存在差異。 #### 激勵 Ada 持有人委託投票權 將有一個短暫的[引導階段](#引導階段),在此期間將通過質押委託等獲得獎勵,並且可以隨時撤回。 在此階段之後,儘管將繼續通過區塊委託等獲得獎勵,但獎勵賬戶將被**阻止提取任何獎勵**,除非他們的相關權益憑證也被委託給 DRep(預定義或註冊)。 這有助於確保高度參與,從而確保合法性。 > **注意** > 獎勵雖然無法提取,但不會丟失。 一旦委託了股權憑證(包括預定義的 DRep),就可以提取獎勵。 #### DRep 獎勵 DReps 可以說需要為他們的工作得到補償。 關於激勵模型的研究仍在進行中,我們不希望在解決這個問題的同時阻止這個CIP的實施。 因此,我們的臨時提議是將 ADA 從現有的 Cardano 財務庫中託管,直到社區通過正在構建的鏈上治理機制,並就這一極其重要的決定達成一致。 或者,DReps 可以通過“國庫提領”治理行動來支付自己的費用。 這樣的行為在鏈上是可審計的,並且應該反映 DReps 和委託人之間的鏈下協議。 <!-------------------------- DReps -------------------- ----> <!------------------------ 治理行動-------------------- -----> ### 治理行動 我們定義了七種不同類型的**治理行動**。治理行動是由交易觸發的鏈上事件,並且有一個截止日期,在此之後它不能被執行。 - 當一項行動獲得足夠多的讚成票時(通過下面詳述的規則和參數),該行動被稱為“批准”。 - 在截止日期之前沒有收集到足夠的贊成票的行動被認為已經“過期”。 - 已批准的行動一旦在網絡上被激活,就被認為是“已實施”。 然而,無論它們是否已被批准,如果不信任動議被頒布,行動可能會在未被頒布的情況下被“撤銷”。 | 行動 | 說明 | | :--- | :--- | | 1. 不信任動議 | 一項在現任憲法委員會中製造“不信任狀態”的動議| | 2. 新憲法委員會和/或門檻| 憲法委員會成員和/或其簽名門檻的變化 | | 3. 章程更新 | 對鏈下憲法的修改,記錄為文本文檔的鏈上哈希 | | 4. 硬分叉啟動 | 觸發網絡的非向後兼容升級; 需要事先進行軟件升級 | | 5. 協議參數變更 | 對一個或多個可更新協議參數的任何更改,不包括對主要協議版本(“硬分叉”)的更改 | | 6. 國庫提款| 來自國庫的流動,分為小、中或大提款(根據要提款的 Lovelace 數量)。 國庫提款的門檻在下面討論。 | | 7. 信息 | 除了鏈上記錄外,對鏈沒有影響的操作。 | **任何 Ada 持有者**都可以向鏈提交治理操作。 他們必須提供 `govDeposit` Lovelace 的押金,該押金將在行動完成時退還(無論是**批准**、已**丟棄**還是**過期**)。 存款金額將添加到_deposit pot_,類似於 stake key 存款。 它也將被計入將被返還的獎勵地址的股份中,以不降低提交者對自己(和競爭)行為進行投票的投票權。 請注意,不信任動議是一種極端措施,它使 Ada 持有者能夠撤銷已授予當前憲法委員會的權力。 如果動議獲得通過,任何未完成的治理行動,包括委員會已經批准的或將在這個時代頒布的行動,都將被取消。 #### 批准 通過鏈上投票行動“批准”治理行動。 不同類型的治理行動有不同的批准要求,但總是涉及**三個**治理機構中的兩個,但硬分叉啟動除外,它需要所有治理機構的批准。 根據治理行動的類型,當發生以下組合時,行動將被批准: * 憲法委員會批准該行動(投票“是”的成員數量達到憲法委員會的門檻) * DReps 批准該行動(由投票“是”的 DReps 控制的權益達到總活躍投票權益的特定閾值) * SPOs 批准該行動(投票“是”的 SPOs 控制的股份達到註冊投票股份總數的特定閾值) > **警告** > 如上所述,不同的股權分配適用於 DReps 和 SPO。 新憲法委員會的成功選舉、憲法變更或硬分叉會延遲所有其他治理行動的批准,直到其頒布後的第一個紀元。 這給了新憲法委員會足夠的時間對當前提案進行投票,根據新憲法重新評估現有提案,並確保原則上由實施硬分叉引起的任意語義變化不會與 其他行為。 ##### 要求 下表詳細說明了每個治理行動方案的批准要求。 列代表: * **治理行為類型** 治理行動的類型。 請注意,協議參數更新分為三類。 * **憲法委員會(簡稱CC)** ✓ 值表示憲法委員會必須批准此操作。 "\-" 表示憲法委員會的投票不適用。 * **DReps** 必須滿足的 DRep 投票門檻,以佔"活躍投票權"的百分比表示。<br/> 值 "\-" 表示 DReps 投票不適用。 * **SPO** 必須滿足的 SPO 投票門檻,以佔所有權益池持有的權益的百分比表示。 值 "\-" 表示 SPO 投票不適用。 | 治理行動類型 | CC | DReps | SPO | | :--- | :--- | :--- | :--- | | 1. 不信任動議 | \- | $P_1$ | $Q_1$ | | 2<sub>a</sub> 新委員會/門檻(_正常狀態_)| \- | $P_{2a}$ | $Q_{2a}$ | | 2<sub>b</sub> 新委員會/門檻(_不信任狀態_)| \- | $P_{2b}$ | $Q_{2b}$ | | 3. 章程更新 | ✓ | $P_3$ | \- | | 4. 硬分叉啟動 | ✓ | $P_4$ | $Q_4$ | | 5<sub>a</sub> 協議參數更改,網絡組 | ✓ | $P_{5a}$ | \- | | 5<sub>b</sub> 協議參數變更,經濟集團 | ✓ | $P_{5b}$ | \- | | 5<sub>c</sub> 協議參數更改,技術組 | ✓ | $P_{5c}$ | \- | | 5<sub>d</sub> 協議參數變更,治理組 | ✓ | $P_{5d}$ | \- | | 6. 出庫| ✓ | $P_6$ | \- | | 7. 信息 | ✓ | $P_7$ | \- | 這些閾值中的每一個都是一個治理參數。初始閾值應由整個 Cardano 社區選擇。 > **注意** > 對於積極註冊投票的 Lovelace,某些閾值浮動是有意義的。 例如閾值可以在 51% 和 75% 之間變化。 此外,國庫門檻也可以是浮動的,這取決於提取的 Lovelace 總量,或者可以為不同的提取水平設置不同的門檻。 > **注意** > 為實現合法性,可接受的最低門檻應不低於委託股權的 50%。 ##### 限制 除了 _Treasury withdrawals_ 和 _Infos_ 之外,我們還包括一種機制,用於確保相同類型的治理行動不會以意想不到的方式意外地相互衝突。 每個治理操作都必須包含最近執行的治理操作 ID。 這意味著可以同時執行兩個相同類型的動作,但必須"故意"設計才能這樣做。 #### 制定 在當前紀元中已批准的行動按以下優先順序進行頒布: 1. 不信任動議 2. 新委員會/門檻 3. 章程更新 4. 硬分叉啟動 5. 協議參數變化 6. 國庫提款 7. 信息 > **注意** _信息_ 操作的實施是一個空操作,因為它們對協議沒有任何影響。 成功實施 _不信任動議_ 會使*所有*其他**尚未實施**治理行動(無論是否已被批准)無效, 導致它們在沒有被頒布的情況下立即被"丟棄"。放棄行動的押金將立即退還。 ##### 頒布順序 治理行動是按照鏈的順序制定的。這解決衝突,比如說有兩個相互競爭的參數更改。 #### 生命週期 僅在紀元邊界上檢查治理行為是否批准。一旦批准,將採取行動進行頒布。 因此,所有提交的治理行動將: 1. “批准”,然後“頒布” 2. 由於成功的 _不信任動議_ 而被“撤職” 3. 或 “過期” 在若干紀元之後 在所有這些情況下,押金都會立即退還。 一些行動將 “_立即_” 生效(即在它們被批准的同一紀元邊界),其他行動僅在 “_下一個紀元邊界_” 生效。 | 治理行動類型 | 制定 | | :-- | :-- | | 1. 不信任動議 | 立即 | | 2. 新委員會/門檻 | 立即 | | 3. 章程更新 | 立即 | | 4. 硬分叉啟動 | 下一個紀元邊界 | | 5. 協議參數修改 | 下一個紀元邊界 | | 6. 出庫| 立即 | | 7. 信息 | 立即 | <!-- TODO - 將協議參數分解為影響標頭/正文驗證拆分的參數(以便可以立即執行某些參數)? --> #### 內容 每項治理行動都將包括以下內容: * 押金金額(因為押金金額是可更新的協議參數而被記錄) * 獎勵地址,用於在還款時接收押金 * 證明操作合理所需的任何元數據的Anchor * 哈希摘要值,以防止與相同類型的競爭操作發生衝突(如前所述) <!-- TODO:在附件中為這些新的鏈上實體提供 CBOR 規範 --> 此外,每個操作都將包含一些特定於其類型的元素: | 治理行動類型 | 附加數據 | | :-- | :-- | | 1. 不信任動議 | 無 | | 2. 新委員會/門檻 | 一組驗證密鑰哈希摘要和一個門檻 | | 3. 章程更新 | 憲法文件的哈希摘要 | | 4. 硬分叉啟動 | 新的(更大的)主要協議版本 | | 5. 協議參數修改 | 改變的參數 | | 6. 出庫| 從股權憑證到 Lovelace 的映射 | | 7. 信息 | 無 | > **警告** > 對於金庫取款,金額會有上限和下限:取款閾值是該操作提取的 Lovelace 的**總**量,如果操作指定多個,則不是任何單次取款的金額。 > **注意** > 新的主要協議版本必須恰好比當前協議版本大一個。 因此,任何兩個連續的紀元要么具有相同的主要協議版本,要么較晚的紀元具有更大的主要協議版本。 > **注意** > 不能有重複的委員會成員——委員會中的每一對證書都必須是唯一的。 鏈上接受的每個治理行為都將被分配一個唯一標識符(又名**治理行為 ID**),由創建它的交易哈希和指向它的交易主體中的索引組成。 #### 協議參數組 我們按類型對協議參數更改分組,允許為設置不同的閾值。所有相關組的最大閾值將適用於任何給定的此類治理行動。 _網絡_、_經濟_ 和 _技術_ 參數組收集了在 Shelley、Alonzo 和 Babbage 時代引入的現有協議參數。 此外,我們引入了一個新的 _治理_ 組,該組特定於 CIP-1694 將引入的新治理參數。 **網絡組**包括: * 最大塊體大小(`maxBBSize`) * 最大交易規模(`maxTxSize`) * 最大塊頭大小(`maxBHSize`) * 序列化資產值的最大大小 (`maxValSize`) * 單個交易中的最大腳本執行單元 (`maxTxExUnits`) * 單個塊中的最大腳本執行單元 (`maxBlockExUnits`) * 抵押品輸入的最大數量(`maxCollateralInputs`) **經濟組**包括: * 最低手續費係數 (`minFeeA`) * 最低費用常數 (`minFeeB`) * 委託密鑰 Lovelace 存款 (`keyDeposit`) * 池註冊 Lovelace 存款 (`poolDeposit`) * 貨幣擴張 (`rho`) * 國庫擴張 (`tau`) * 礦池的最低固定獎勵削減(`minPoolCost`) * 序列化 UTxO(`coinsPerUTxOByte`)每字節的最小 Lovelace 存款 * Plutus 執行單位的價格(`prices`) **技術組**包括: * 池質押影響(`a0`) * 池退休最大紀元(`eMax`) * 所需的池數 (`nOpt`) * Plutus 執行成本模型(`costModels`) * 腳本所需的抵押品比例(`collateralPercentage`) **治理組**由本 CIP 中引入的所有新協議參數組成: * 治理投票門檻 ($P_1$, $P_{2a}$, $P_{2b}$, $P_3$, $P_4$, $P_{5a}$, $P_{5b}$, $P_{5c} $, $P_6$, $P_7$, $Q_1$, $Q_{2b}$, $Q_4$) * 憲法委員會任期限制 * 治理行動到期 * 治理行動存款(`govDeposit`) * DRep 存款金額 (`drepDeposit`) * DRep活動週期(`drepActivity`) * 最小的憲法委員會規模 * 憲法委員會的最長任期限制(以紀元為單位) <!-- 待辦事項: - 確定新治理參數的初始值 - 決定投票門檻的一致性條件。 例如,不信任動議的門檻可以說應該高於小規模撤出國庫的門檻。 --> <!------------------------ 治理行動-------------------- -----> <!-------------------------- 投票 ------------------ ----> ### 投票 每個投票交易包括以下內容: * 治理操作 ID * 角色 - 憲法委員會成員、DRep 或 SPO * 該角色的治理憑證 * 與投票相關的信息的錨點(定義如上) * “是”/“否”/“棄權”投票 對於 SPO 和 DReps,投出的票數(無論是“贊成”、“反對”還是“棄權”)要與在檢查行動的 Lovelace 成正比。 對於憲法委員會成員,每位現任委員會成員都有一票表決權。 來自未註冊的 SPO 或 DReps 的投票被視為零權益。 > **警告**“棄權”票不計入“主動投票權” > 投棄權票不同於放棄投票。 > 未投票的未登記的行為類似於“棄權”投票, > 未投票的已註冊股份則像“否決”票。 > 為避免混淆,從現在開始我們將僅使用“棄權”一詞來表示鏈上投棄權票。 治理憑證將根據現有的 `UTxOW` 分類帳規則觸發分類帳中的驗證(即驗證密鑰的簽名檢查)。 可以通過單個憑證對每個治理操作進行多次投票。 正確提交的投票將覆蓋對相同憑證的任何舊投票。 也就是說,選民可以選擇改變他們對任何行動的立場。 一旦治理行動獲得批准,投票就會結束,之後投票的交易將無效。 #### 治理狀態 當治理動作成功提交到鏈上時,其進度將由分類帳紀錄,特別是以下內容: * 治理動作 ID * 動作過期的紀元 * 押金金額 * 返還押金時接收押金的獎勵地址 * 憲法委員會對該行動的“是”/“否”/“棄權”票總數 * DReps 對該操作的“是”/“否”/“棄權”票總數 * SPO 對該行動的“是”/“否”/“棄權”票總數 #### 股權快照的變化 由於權益快照在每個紀元邊界,因此在檢查未批准的治理行動時,必須計算新的權益。 這意味著即使 DRep 或 SPO 投票沒有改變(因為投票委託可能已經改變),也可能被批准。 #### 與表決權有關的定義 我們定義了一些與投票權相關的新術語: * 包含在交易輸出中的 Lovelace 被認為是**活躍的投票**(也就是說,它也算了“活躍的投票”): * 它包含已註冊的權益(2 ADA)。 * 已註冊的權益將其投票權委託給已註冊的 DRep。 * 百分比的“P”: 對治理行動投“是”的 DReps (SPO) 的相對股權總和**投票閾值已達到** 至少`P`。 ## 理由 + [憲法委員會的作用](#憲法委員會的作用) + [故意遺漏身份驗證](#故意遺漏身份驗證) + [減少 Ada 鯨魚的權利](#減少-Ada-鯨魚的權利) + [權益池權益分配](#權益池權益分配) + [區分硬分叉啟動與標準協議參數更改](#區分硬分叉啟動與標準協議參數更改) + [國庫提款與項目催化劑](#國庫提款與項目催化劑) + [DReps 的目的](#DReps-的目的) + [批准要求表](#批准要求表) + [不信任動議](#不信任動議) + [新委員會/門檻(不信任狀態)](#新委員會/門檻(不信任狀態)) + [信息治理行動的多功能性](#信息治理行動的多功能性) + [硬分叉啟動](#硬分叉啟動) + [新元數據結構](#新元數據結構) + [控制治理行動的數量](#控制治理行動的數量) + [No AVST](#No-AVST) ### 憲法委員會的作用 憲法委員會似乎是一個對 DReps 額外權力的特別委員會。 然而由於 DReps 可以隨時取代憲法委員會,並且批准每一項治理行動也需要 DRep 投票,因此憲法委員會的權力並不比 DReps 多(實際上可能比 DReps 少)。 鑑於此,委員會扮演什麼角色,為什麼不是多餘的? 答案是委員會解決了新治理框架的問題。 事實上,一旦我們使這個框架在鏈上變得活躍,那麼在沒有憲法委員會的情況下,我們就需要足夠的 DReps,這樣系統就才不會僅僅依賴於 SPO 投票。我們還無法預測社區在註冊為 DReps 方面的活躍程度,也無法預測其他 Ada 持有者對投票的反應程度。 因此,憲法委員會開始發揮作用,以確保該系統能夠在適當的時候從目前的狀態過渡到完全去中心化的治理。從長遠來看,委員會可以作為一組當選的代表在治理決策中的判斷和指導而受到關注,從而在治理決策中發揮指導和諮詢作用。 最重要的是委員會必須始終遵守憲法並根據憲法的規定批准提案。 ### 故意省略身份驗證 此 CIP 未提及對憲法委員會或 DReps 成員進行任何類型的身份驗證或驗證。 我們希望社區考慮投票給那些提供 DID 之類的東西來表明自己身份的 DReps。然而,如果沒有一些中心化的證明,執行身份驗證是非常困難的,我們認為這是錯誤方向。 ### 減少 Ada 鯨魚的權利 已經提出了各種機制,例如二次投票,以防止具有大量影響力的鯨魚。 然而,在基於“1 Lovelace=1 票”的系統中,將股份分成小部分並取消保護非常容易。 沒有鏈上身份驗證系統,我們無法採取任何此類措施。 ### 權益池權益分配 Cardano 協議基於權益證明共識機制(PoS),因此使用基於權益的治理方法是明智的。 但是,有許多方法可用於記錄參與者之間的權益分配。目前地址目前可以包含兩組憑證:一組用於識別誰可以在一個地址解鎖資金(也稱為支付憑證),另一組可以委託給權益池(也稱為委託憑證)。 我們沒有定義第三組憑證,而是建議重新使用現有的委託憑證,使用新的鏈上證書來確定治理權益分配。 這意味著 DReps 憑證可以(並且很可能會)與 SPO 的憑證不同,從而創造平衡。 另一方面,這意味著治理權益分配存在與區塊生產相同的缺點:例如,錢包軟件提供商必須支持多委託方案,並且如果 Ada 持有者希望委託給多個 DReps,必須將權益分配到子賬戶中,或者如果他們的錢包不支持,Ada 持有者必須手動拆分他們的持有量。 然而,這種選擇也限制了錢包提供商,並減少了用戶參與治理協議的數量。 後者是一個重要的問題。通過搭載現有結構,該系統仍然為用戶所熟悉並且相當容易設置。 這最大限度地提高了治理框架的成功機會和參與率。 ### 區分硬分叉啟動與標準協議參數更改 與其他協議參數更新相比,硬分叉(或者更準確地說,協議主要版本號的更改)需要更多關注。雖然其他協議參數更改可以在沒有重大軟件更改的情況下執行,但硬分叉假設網絡中的絕大多數人已經升級了 Cardano 節點以支持新功能。 這意味著硬分叉事件的時間必須提前通知所有 Cardano 用戶,並且需要權益池運營商、錢包提供商、DApp 開發人員和節點發布團隊之間的協調。 因此,與 Shelley 方案不同,該提案將硬分叉啟動作為獨立的治理行動進行推廣,與協議參數更新不同。 ### DReps的目的 本提案中沒有任何內容限制 SPO 成為 DReps。 為什麼我們需要 DReps? 答案是選擇 SPO 純粹是為了區塊生產,並不是所有的 SPO 都想成為 DReps。 選民可以選擇將他們的投票權委託給 DReps,而無需考慮他們是否也是一個好的區塊生產者,SPO 可以選擇是否代表 Ada 持有者。 ### 批准要求表 [批准要求表](#批准要求表) 中的要求在此處進行解釋。 大多數治理行動都有相同的要求:制憲委員會和 DReps 必須獲得足夠數量的“贊成”票數。 這包括以下操作: * 新委員會/門檻(正常狀態) * 憲法更新 * 協議參數變化 * 國庫提款 ### 不信任動議 不信任動議代表Cardano社區對現任憲法委員會缺乏信任,因此憲法委員會不應被納入此類治理行動。 在這種情況下,SPO 和 DReps 只能代表社區的意願。 ### 新委員會/門檻(不信任狀態) 與不信任動議類似,選舉憲法委員會取決於 SPO 和 DReps 是否代表社區的意願。 ### 信息治理行動的多功能性 雖然不在鏈上綁定,但信息治理操作在許多情況下可能很有用。 這些包括: * 批准 CIP * 決定新賬本時代的創世紀文件 * 記錄對未來治理行動的初步反饋 ### 硬分叉啟動 無論治理機制如何,任何硬分叉都需要 SPO 參與,因為它們必須升級其節點軟件。 出於這個原因,我們始終要求他們投票,在硬分叉啟動治理行動中明確他們的意向。 憲法委員會也需要進行投票,表明硬分叉符合憲法。 DReps 也需要進行投票,以代表每個利益相關者的意願。 ### 新的元數據結構 治理行動和投票都使用新的元數據結構,以 URL 和哈希值的形式(鏡像權益池註冊的元數據結構)。元數據用於提供上下文。 治理行動需要解釋為什麼需要採取行動、諮詢了哪些專家等。由於不應限制此解釋性數據大小,因此我們改用 URL。 然而這引入了新的問題,如果 URL 無法解析,對該操作進行投票的預期應該是什麼? 我們應該期望每個人都投反對票嗎? 這是針對治理系統的攻擊嗎? 在這種情況下,可以通過其他方式傳達哈希值的原始值,但我們應該為這種情況做好準備。 #### 備選方案:使用交易元數據 我們可以使用現有的交易元數據,而不是交易格式中的特定元數據。 通過註冊 CIP-10 元數據標籤,可以清楚地識別與治理相關的元數據。其中元數據的結構可以由該 CIP(格式待確定)決定,使用索引將投票或治理操作 ID 映射到相應的元數據 URL 和哈希值。 這避免了在交易添加額外數據(容易被忽略)。然而,由於所需的元數據可以為空(或者可以指向一個無法解析的 URL),提交者很容易不提供元數據,因此不清楚這是否會使情況變得更糟。 請注意,交易元數據不會存儲在分類帳狀態中,所以需要將元數據與方案中的操作和投票配對,並且不能作為分類帳狀態查詢使用。 ### 控制活動治理操作的數量 由於任何人都可以提交治理行動,因此我們需要某種機制來防止被大量提案淹沒,大量押金就是這樣一種機制。但不幸的是,這是以阻礙某些人提交行動為代價的。 但是使用 Plutus 腳本進行籌資是收集押金的一種選擇。 或者,我們可以接受在特定時間大量活動的可能性,依靠鏈下社交來引導選民關注那些值得關注的人。在這種情況下,憲法委員會可能會選擇只考慮已經從 DReps 獲得足夠選票的提案。 ### No AVST 此 CIP 的早期草案包括“主動投票權閾值”或 AVST 的概念。 AVST 的目的是確保每次投票的合法性,消除例如大鯨魚可以決定 Cardano 上數百萬用戶的命運的可能性。這裡有兩個值得關注的問題: 第一個問題是引導系統,即到達初始穩定的時刻,也就是有足夠的股份被註冊以進行投票。 第二個擔憂是系統可能會隨著時間的推移失去參與, AVST 的一個問題是它會激勵 SPO 進行不進行投票註冊(因為他們的投票會佔據更大的權重)。 這不是對現有 SPO 的輕視,而是激勵不良的問題。 因此,我們選擇以不同的方式解決這兩個問題。 我們解決了引導問題(如上面引導部分所述)。 我們通過不允許獎勵提取(在引導階段之後)來解決長期參與問題,除非將股份委託給 DRep(包括兩種特殊情況,即“棄權”和“不信任”)。 ## 激活路徑 ### 驗收標準 - [ ] Cardano 主網上啟用了一個新的賬本時代,它實現了上述規範。 ### 實施計劃 此 CIP 中的功能需要硬分叉。 本文檔描述了對 Cardano 治理的一項雄心勃勃的變革。 我們建議通過**一個硬分叉**來實施更改。 在以下部分中,我們將提供已確定的各種工作項目的更多詳細信息。 此外,最後公開了一些需要決定的開放性問題。 我們希望這些問題可以通過社區研討會和討論得到解決。 #### 批准本提案 該提案的批准是一個循環問題:我們需要某種形式的治理框架,以達成一致決定。 正如多次指出的那樣,CIP 不具有權威性,也不是一種治理機制。 相反,它們描述的是專家社區認為合理(從技術角度來看)的技術解決方案。 CIP-1694 可以說超出了 CIP 流程的通常範圍,並且強烈希望通過 _某些流程_ 批准此 CIP。 但是,該過程尚未定義,仍然是一個懸而未決的問題。 最終的批准過程可能會融合各種想法,例如: - [ ] 從社區舉辦的研討會收集意見,類似於 2023 年 2 月至 3 月的科羅拉多研討會。 - [ ] 在公共測試網上進行投票行動,並有足夠的參與。 - [ ] 輪詢已建立的 SPO。 - [ ] 利用 Project Catalyst 收集來自現有投票社區的意見(儘管就活躍權益而言很小)。 #### 交易主體的變化 - [ ] 新元素將添加到事務主體中,現有的更新和 MIR 功能將被刪除。 尤其,治理行動和投票將包含兩個新的交易主體。 - [ ] 除現有證書外,還將添加三種新證書: * DRep註冊 * DRep註銷 * 投票委託 同樣,當前的 MIR 和創世證書將被刪除。 - [ ] Plutus 腳本中將添加一個新的“投票”目的。 這將特別提供對鏈上腳本的投票。 > **警告** 像往常一樣,我們將為每個更改提供 CDDL 規範。 #### 對現有分類帳規則的更改 * `PPUP` 轉換規則將被重寫並移出 `UTxO` 規則,並作為新的 `TALLY` 規則移入 `LEDGER` 規則。它將處理和記錄治理行動和投票。 * 將修改 `NEWEPOCH` 轉換規則。 * `MIR` 子規則將被刪除。 * 將引入新的“RATIFY”規則來製定治理行動。它將批准治理行動,並可能在當前或下一個時期實施這些行動。 * 在 `EPOCH` 規則之後將立即調用新的 `ENACTMENT` 規則。該規則將實施先前已批准的治理行動。 * `EPOCH` 規則將不再調用 `NEWPP` 子規則或計算是否滿足 PPUP 狀態的法定投票人數。 #### 對本地狀態查詢協議的更改 鏈上治理工作量很大,但工具和應用程序的鏈下工作量會更大。為了建立一個有效的治理生態系統,分類賬必須為各種治理元素提供接口。 投票和 DReps(取消)註冊在區塊中直接可見,因此可以通過現有的本地鏈同步協議訪問。我們將需要升級本地狀態查詢協議,以提供從區塊推斷的信息的額外見解(即那些需要維護分類帳狀態的信息)。 新的狀態查詢應該包括(至少): - 目前準備頒布的治理行動 - 正在批准的治理行動,有持股、無持股和棄權的總數和百分比 - 當前的憲法委員會和憲法哈希摘要 #### 引導階段 我們需要小心引導這個初出茅廬的政府。所有相關方都需要充足的時間進行註冊並熟悉流程。 特殊規定將適用於初始引導階段。首先在引導階段,憲法委員會的投票就足以改變協議參數。 其次,在引導階段,憲法委員會的投票以及足夠的 SPO 投票足以啟動硬分叉。在引導階段不能進行其他操作。 當引導階段結束(給定數量的紀元),如下一個賬本紀元的配置文件中所指定。 這可能是硬分叉後的幾個月。 此外,還將有一個臨時憲法委員會,也將在下一個賬本時代的配置文件中指定,其任期限制將設置為在引導階段結束時到期。 第一個非選舉委員會的輪換時間表可以包含在章程中。 但是請注意,由於憲法委員會不能對新委員會進行投票,因此它實際上不能強制輪換。 #### 最終安全措施 許多人表示,他們認為實際投票率不會大到對系統造成壓力。 我們也相信這很可能是這種情況,但當引導階段結束時,我們將實施一項臨時安全措施(這也將使我們能夠證明較低的 DRep 存款金額是合理的)。 一旦引導階段結束,當我們計算下一個紀元邊界的 DReps 權益分配時,我們僅考慮那些在排名前 $X$ 的 DReps,或那些至少擁有 $Y$ Lovelace 的 DReps。 每個時期,$X$ 的值都會 _增加_ 而 $Y$ 的值會減少,因此最終 $X$ 將實際上是無限的,而 $Y$ 將為零。 請注意,這只是一種激勵,實際上並沒有阻止任何 DRep 投票(儘管如果不符合要求則不會被計算在內)。 如果社區在某個時候存在擁塞問題,則可以製定硬分叉,以更嚴格的方式限制 DReps 的數量。 $X$ 初始值的合理數字可能是 5,000-10,000。 $Y$ 初始值的合理數字可能是 Lovelace 的總數除以 $X$ 的初始值。 該機制應設置為在六個月至一年後完全取消限制。 #### 其他想法/未解決的問題 ##### 質押加權 SPO 投票 SPO 投票還可以由每個 SPO 的Pledge加權。 這將提供一種機制,讓那些真正參與的人獲得更強的投票權,但應謹慎選擇權重。 ##### 自動重新授權 DReps DRep 可以選擇在其註冊證書中列出另一個 DRep 憑證。 DRep 退休後,擁有 DRep 的授權將自動轉移到給定的 DRep 憑證。 如果該 DRep 已經退休,則將轉移到“棄權”DRep。 ##### 取消 DRep 註冊 由於 DRep 註冊不執行任何必要的功能,因此可以刪除(取消)註冊 DRep 的證書。 這使得民主更具流動性,因為它消除了一些官僚主義,也消除了對 DRep 押金的需要,代價是將作為 DRep 註冊證書一部分的錨點移動到交易元數據中。 ##### 減少一些政府行為的存款 治理行動相關的保證金是為了防止大量不嚴肅的治理行動,每一個行動都需要 Cardano 社區的時間和關注。 我們可以減少一些通過鏈下流程提案的押金。 通過至少一名憲法委員會成員的認可在鏈上進行標記。 這個想法的缺點是它賦予了憲法委員會更多的權力。 ##### 在硬分叉提案中包含(未來)創世配置的哈希值 一些硬分叉需要新的創世配置。 Shelley 和 Alonzo 硬分叉(但 Allegra、Mary、Vasil 或 Valentine 不是)就是這種情況,將來可能也是這種情況。 目前,該提案並未說明任何有關此類創世配置的信息:它被假定為鏈下協議。 但是,我們可以強制在硬分叉治理操作中也設定特定創世配置(的哈希值)。 ##### 自適應閾值 如上所述,對於積極註冊投票的狀況,部分或所有閾值自適應可能是有意義的,當只有低活躍投票權時,系統能提供更大的合法性。 然而,上面提出的引導機制可以包含這一點,方法是確保治理系統僅在最低級別的權益被委託給 DReps 時才被激活。 ##### 重命名 DReps / 不信任狀態? 此處介紹的“DReps”可能會與 Project Catast DReps 混淆。 同樣,一些人對不信任狀態、不信任動議和不信任 DReps 表示混淆。 我們可以想像為這些概念找到更好的術語。 ##### 限制國庫活動 除了提議的投票和投票門檻之外,沒有其他方式阻止資金從國庫中取出。 鑑於 Cardano 金庫是其貨幣政策的一個非常基本的組成部分,我們可以在協議層面限制能從金庫中移出的最大金額。