Transition to decentralised governance
How Synthetix will move towards decentralisation
Introduction
Anyone following Synthetix this year is aware of our transition towards decentralised protocol control. We’ve made progress, but there is still much to do. This post will highlight the changes so far and the areas of focus for 2020. The goal is to get the protocol to a point where it is resistant to capture, whether from a nation state or an individual malicious actor. This post is also intended to begin the process of community engagement in this transition. Everything covered here should be construed as a proposal from the foundation to the community, we expect to finalise the specifics of the transition plan with input from the Synthetix community.
Decentralisation is not a binary construct, it is a constellation of components each with varying degrees. There are few examples of projects outside of Bitcoin and Ethereum that began centralised and became sufficiently decentralised to resist capture. We believe Synthetix is well positioned to become a case study for token projects transitioning project control from a core team to token holders.
The purpose of this transition is to remove central points of control and thereby ensure the protocol cannot be censored or captured. The value of decentralised systems is the ability to coordinate distributed users with a clearly defined set of rules. The more immutable these rules the more confidence network participants can place in the protocol. Thus every central point of control is an attack vector on trust in the system, but each aspect of control has trade-offs. Because as a general point the more decentralised each component is, the harder it is to coordinate to change. So it is critical we assess not just the value of decentralising a component but also the timing. By removing central control for a given aspect of the protocol too early, we put the entire project at risk. This is a delicate balance, but we must start somewhere.
Incentive alignment
Before describing the remaining areas of centralisation and the paths to redressing them, it is worth reviewing the overall incentive alignment within the project. Currently the core team act as custodians. Token holders don’t have the power to remove or reassign aspects of control right now. However, while suboptimal, it is not dire, as the sole alignment between all token holders is the value of the network which is represented by the SNX token. The foundation does not capture value from activity in the network other than through holding SNX tokens. There is no privileged position for any particular entity in the network by design. Additionally all core team members are token holders, so the SNX token represents the upside in the success of the project for all participants.
Points of centralisation
There are multiple aspects of the project that must be decentralised, the list is below:
Legal and operational structure
- Legal entities
- Treasury management
- Grant distribution
Protocol changes
- Code
- Parameter tuning
- Cryptoeconomic/Monetary changes
Product improvements
- Price feeds
- Asset selection
- Interface work
Addressing points of centralisation
As mentioned above, we must assess each aspect of centralisation and factor in all trade-offs before removing them. The analogy I like to use is a moat with multiple bridges. Once you cut a bridge it is hard to rebuild, and the more bridges you cut the more challenging it becomes. Eventually you must cut all bridges if the project is to be truly decentralised and able to leverage the moat as a competitive advantage
Legal and operational structure
Synthetix currently operates as a not for profit foundation domiciled in Australia. The pattern of using a foundation to coordinate protocol development goes back to early 2013 with the inception of the Mastercoin foundation. Like many early crypto patterns this was in hindsight a suboptimal solution. Yet because robust DAO frameworks did not exist a foundation was one of the only viable ways of providing confidence in the project. The Ethereum Foundation is probably the most well known crypto foundation, and while it does a lot of great work, is definitely not the optimal solution for coordinating Ethereum public goods, and it is particularly poor when it comes to organisational transparency. Some of this is likely due to attempts to prevent capture, but the outcome is less transparency and more community frustration than if the Ethereum Treasury was coordinated via a DAO.
There are now multiple robust and feature rich DAO solutions available so the use of not for profit foundations for coordination has become more of a liability than a benefit. It is likely that most crypto projects will transition from foundations to DAOs over the next few years. It will take only a few successful examples for this transition to accelerate and we intend for Synthetix to be one of those successes.
There are two fundamental aspects of this transition. The first is migrating control of the treasury to a modern DAO framework (SynthetixDAO), the treasury is currently controlled via a proto-DAO that funds various entities in the Synthetix ecosystem including the Foundation in Australia. Upgrading to a modern DAO is a work in progress, but we expect it to be completed in early 2020, once we have details we will share them with the community. One aspect of this transition is there will be multiple independent entities providing services to the DAO, but critically none of these will have unilateral control over protocol governance. In practice this will look like multiple distinct and independent teams all funded via grants from the SynthetixDAO to perform critical functions for the protocol.
The second aspect is the governance of the SynthetixDAO. This is far more challenging than coordinating movement of funds. I have stated previously I believe pure on-chain governance is fundamentally flawed and will lead to far more project risk than the risk of a foundation being captured. So it is imperative that the cure not be worse than the disease. The solution is for SynthetixDAO V0 to act as a custodian, essentially a similar role to that of the current proto-DAO. SynthetixDAO V0 will have a small number of members with equal voting rights. Members will be initially be constituted with major SNX stakeholders, but will evolve to include other key token holders over time.
Eventually the SynthetixDAO V1.0 will be established, and the timing of this will be coordinated via the existing rough consensus process used for all SIPs. The exact structure of this DAO is to be determined, but there is a view that a mechanism similar to representative democracy will be employed. This will allow token holders to signal using their token holdings for a specific DAO member. All votes by all members will be available for review and if token holders are dissatisfied with the positions taken by a member(s) they can withdraw their signal and the member will be removed. It is also critical there is a time delay between votes to ensure that token holders have time to respond to any votes that they perceive to not be in their interest.
In addition to treasury management, we expect to establish a separate grantsDAO which will accept grant submissions from the community and disburse funding. This will ensure that grants payments are transparent and under the oversight of the community. The members of the grantsDAO will be removable by token holders if there is a perception they are not performing their duties. We expect the grantsDAO members to be mainly made up of community contributors.
Protocol Changes
Changes to the protocol are currently implemented by the core team after input from the community via the SIPs process. We are working on a new mechanism that will ensure protocol changes are processed by a protocolDAO. At present there is a multisig mechanism controlled by the core team that enables upgrades. This protocol control will soon transition to an upgrade contract, changes to the contracts will be published on-chain and verifiable by the community to ensure they align with the SIP process. The upgrade contract will be owned by the protocolDAO to ensure that all contract changes go through the proper governance process.
Parameter changes are already governed by the SCCP process, however changes are implemented via the contract owner. Given the binary nature of parameter changes we believe we can transition this process on-chain to allow token holders to directly modify parameter changes. This will allow for fairly rapid changes in emergencies since there will not need to be a time delay.
Cryptoeconomic changes are also governed by the SIP process, but as we decentralise governance further it will become harder to make changes to aspects of the system like the monetary policy. This is why it is important during the early stages of the project to rigorously debate these policies to ensure that the community is as close to full consensus as possible. This has played out well with the recent changes introduced by SIP-23 and SIP-24.
Product Improvements
We believe there is a distinction between the protocol and the “product.” The contract architecture supports the products, but ultimately Synthetix.Exchange is just one product that exists on the protocol. We are already seeing other implementations of the exchange functionality being built directly on the contracts that do not rely on Synthetix.Exchange. This will be the evolution of the project as many product implementations compete for users with better interfaces and functionality. Eventually there may even be distinctions between which assets a specific implementation supports. In that sense, Synthetix.Exchange is really just a proof of concept that demonstrates the power of the protocol. It is likely to remain the most used in the short term, but like other protocols such as Uniswap, it is expected that the majority of exchange volume will eventually come from other dApps and interfaces. This is a sign of a healthy ecosystem, including developer engagement and community belief in the system design.
A critical aspect of this is to ensure the price feeds the protocol consumes are not a single point of failure. The transition to Chainlink will ensure the community can request any required price feed from Chainlink nodes and the nodes can provide it independently without any central coordination. Once a price feed is available, a SIP can be raised to integrate it into the protocol. This will open up the possibility of many more classes of assets, including equities, indices and even exotic derivatives.
Both Mintr and Synthetix.Exchange are open source and the community is free to make changes and submit PRs, however, the core team maintains these repos and has control of which PRs are accepted. We must ensure the front end interfaces are accessible anywhere and that there is not a single point of failure. There are a number of solutions to this that are currently available and we expect that community frontends will be one of the areas incentivised in the future via the grants process.
Antifragility
In order for Synthetix to deliver on its potential it must become an open and unstoppable protocol. But further, we must ensure that it is not just robust against attack, but antifragile. It must gain from being attacked. We have seen this play out this year with frontrunning bots. Each wave of frontrunning attacks improved the system and made it stronger. We must extend this to every aspect of the protocol. Once the project has reached the point where it improves with each new attack we will no longer fear attempts at censorship but welcome them, as each attempt will ensure the protocol is more resistant to capture. Ultimately this is the dimension on which every decentralised protocol must be measured: is it unstoppable?
However, we cannot focus on decentralisation at the expense of all else. This is the challenge for every DeFi project. Navigating this transition without compromising adoption and user experience, trading decentralisation for adoption is a dead-end. We must have usage in order to maintain relevance and if we squander the early product market fit achieved in the singular pursuit of decentralisation we have failed.
This is no easy feat, threading the needle between usability and decentralisation for a complex product is an incredible challenge, but it is one that we as a community should welcome.