Just posted in the CIP-1694 PR: https://github.com/cardano-foundation/CIPs/pull/380#issuecomment-1472917236
My vision of a “minimal viable governance” system would be much more minimal: No constitution, no committee, no dReps, no SPO votes, just pure voting by ADA holders.
Then the only governance actions left that are needed are hard forks, parameter updates, treasury withdrawals, and polls.
Do these rather mundane actions need a constitution, a committee interpreting and guarding this constitution, dReps spending significant time evaluating them (and maybe even getting compensated for that)? I’d say: Definitely not.
Up to now, hard forks and parameter updates are pretty rare events.
Hard forks necessarily will stay rare, because they need implementation in the nodes. (If it is a realistic/desirable scenario that a hard fork is implemented in the node, installed by enough SPOs, and then shut down by on-chain governance, is an interesting question there. How to get a change implemented if the cardano-node
team doesn’t want to implement it, another one. But both are outside the scope of this CIP, probably.)
Hard forks are also the only action left for SPOs to vote on. But why? At the moment, where a governance action is proposed, they should already have voted “with their feet” and installed the implementation for that hard fork. Why should they then have a special role in determining if it is also enacted?
The long-standing issues with minPoolCost
and nOpt
/k might lead to a lot of competing parameter changes shortly after governance is enabled, but once that is resolved, they will also be rare and pretty boring again.
Treasury withdrawals might be controversial, but they will be much rarer than they are now: A system like Catalyst will withdraw the whole budget for a funding round at the beginning of that round to be able to guarantee that it can fulfill its promises according to its own rules. “You will get voting rewards according to this formula (if the governance system approves).” and “You will get funding for your project (if the governance system approves).” seems much too uncertain.
These are a very manageable number of Yes/No/Abstain decisions per epoch which all interested ADA holders should be able to do in their wallet apps without intermediary dReps. If we implement it right, it’s one transaction per ADA holder active in governance per epoch. The chain will survive that.
There already are provisions proposed above to make sure that dReps vote in time that delegators can withdraw their delegation before the tally and that “everyone can be their own dRep” is also promised to all critics. Why then even introduce them in the first place?
If the proposers of governance actions and people interested in the development of Cardano cannot rally enough holders to vote on important actions, they probably also should not be enacted.
Yes, the thresholds should be low enough then, but also safe enough. I have proposed a dynamic margin requirement for that here: https://twitter.com/HeptaCardano/status/1635787373458882562
The idea is to require No-Percentage < 2×(Yes-Percentage)² If the Yes-Percentage (share of total registered voting stake) is low, very few No-Votes can keep the action in an undecided state. If the Yes-Percentage is higher, this requirement on the margin gets lower and lower.
For unproblematic actions, we would not need much participation then, but if an action turns out to be controversial, both sides have to rally.
How much registered stake do we want before we arm that system? Probably not that much. We have a lot of stake owned by people who are not even interested enough to move it off the exchanges. And additionally also quite some stake on wallets that have no activity at all for a long time, so probably long-term holders who only look at this “investment” every few months or years. They could join governance anytime they want, but do we need them to? Probably not. So, I’d guess registration for governance voting at something between 10% and 30% of total stake should be enough.
Path to active would simply be: One hard fork enabling the vote registration and once enough have registered another hard fork disabling the old governance keys and activating this.