Recently the Synthetix community approved governance change, transitioning SCCP votes from Discord to Snapshot (an off-chain signalling mechanism used by a number of DeFi protocols). While this proposal passed unanimously, concerns were raised subsequently that the Snapshot vote weights deviated too far from the status quo. The main concern being Discord had been one person one vote and that Snapshot in moving to on-chain signalling gave far more weight to large token holders. This was despite the Snapshot implementation using quadratic weighting to reduce the influence of large holders.
I’ve personally raised concerns about on-chain voting mechanisms devolving into plutocracy due to voter apathy and the chilling effect large token holders can have on governance. A single large vote can often represent more weight than potentially thousands of engaged and enthusiastic community members. I believe there are a few ways to mitigate this, the most critical being already factored into Snapshot, which is that you should not allow direct protocol changes via on-chain token votes. The most well known example of direct token voting is Maker governance, which to put it frankly is a bit of dumpster fire. Voter apathy is extremely high, participation is low, the consensus view is large MKR holders have completely captured protocol governance. We’ve also seen several examples of votes going wrong including a recent flash loan attack. Another instance of direct on-chain voting systems going wrong has been the Curve gauge weight voting wars, with various parties voting to increase the distribution of CRV out of pure self-interest without regard to the impact on the protocol. The Compound governance module has further entrenched direct token voting due to its ease of implementation, though vote delegation does somewhat mitigate this. The fundamental danger with these on-chain voting schemes is there is no check on power if votes go wrong. I strongly believe we are too early to implement direct token voting, but we need a legitimate way for token holders to govern protocols while maintaining speed of governance decisions under uncertain conditions.
This is one of the reasons I was supportive of the original proposal in SIP-90 to migrate to Snapshot, it was a signalling mechanism rather than a direct protocol modification mechanism. The members of the protocolDAO still have discretion to not enact a detrimental change to the protocol if a malicious actor was able to get a proposal through governance.
There is a trade-off here, of course, which is that by introducing discretion we lose immutability and we introduce collusion risk. But my view is that the pDAO is strongly aligned to maintaining the status quo, so if a proposal passes that is obviously detrimental to the system, pDAO members can send it back to be reviewed again, with the only downside being lost time. Of course this gives the pDAO the power to block positive changes arbitrarily. However, this was already present in the previous governance framework so it is not a huge loss, and is something that will be removed in the future with token holder veto power and the ability for token holders to elect pDAO members. Ultimately if the pDAO becomes malicious the only path forward is for token holders to propose and implement a fork of the protocol and rally social consensus to legitimise this version of the system. However, given the SNX tokens in escrow for all pDAO members there is a strong long term alignment between the pDAO and the protocol.
That is a lot of preamble, but unfortunately governance doesn’t lend itself to simple solutions. We need to balance multiple trade-offs, not deviating too far from the current governance framework is crucial. To that end, myself and several community members went back to first principles and looked at some of the older governance proposals put forward in discord including plans to transition the synthetixDAO to a representative democracy governed by a council. After reviewing the requirements for Synthetix governance, I believe a representative democracy controlled via delegation is potentially a viable solution.
The feedback from the community members I spoke to about this was positive and so I am proposing the following change, that we enable a delegated governance council called “The Spartan Council” initially comprising seven seats each selected via Snapshot.
The details of how this works can be found in this SIP written by Andy here. But I will summarise below:
- A new Snapshot instance will be created
- This instance will have an open ended proposal to elect seven council members
- Voting weight will be based on a users debt at the last fee period
- Voting weight will be scaled quadratically
- The seven highest vote weights will be the elected council
- Council members can be removed via token holders modifying their votes
- Every three months a new election will be held for the Spartan Council
The seven council members will then vote directly on SCCPs under these conditions:
- One council member one vote
- If the constitution of the council changes during a proposal it is invalidated if it would have changed the result
- Proposals require a minimum of three positive votes to pass
- Minimum proposal length is 24 hours
- The pDAO can require a revote at its discretion
- The number of seats can be modified via SCCP
This also requires a discussion about meta-governance. Can we enact this proposal via Snapshot, or does it need to go back to Discord polling to ensure the legitimacy of the decision for all community members? I will leave that discussion up to the #governance channel in Discord.
The proposal above attempts to balance speed of iteration with avoiding a descent into plutocracy. It attempts to remain close to the status quo of one person one vote by allowing smaller holders to delegate to a council member that will represent them. Should the community decide to adopt this proposal the next step is to elect the council members.
Governing anything, including decentralised protocols, is obviously non-trivial and within the Synthetix community we have a strong norm of running low risk experiments to attempt to optimise aspects of the system, this proposal is intended to be aligned with that norm.