Hey 0x Protocol community, with the multiple threads that are going on around governance efforts, this post is intended to consolidate them and propose the migration roadmap for 0x Protocol Governance to the end state that is possible via ZEIP-95.
To set the stage of the migration path, hereβs a quick summary as to the current state of 0x Protocol Governance:
Governing Contract | On/Off Chain | |
---|---|---|
Treasury | zrxTreasury | On chain |
Protocol | 0x Exchange Proxy Governor | Off chain |
and the proposed end state of 0x Protocol Governance:
Governing Contract | On/Off chain | |
---|---|---|
Treasury | zeroExTreasuryGovernor | On chain |
Protocol | zeroExProtocolGovernor | On chain |
To enable 0x Protocol Governance to reach that end state, there are three things that need to be accomplished: (1) develop and deploy new governance smart contracts, (2) update/upgrade the governance portal to interface with the new governance smart contracts, and (3) vote to officially migrate governance.
As of today, the first item has been completed, the second is in early stages, and the third is blocked by the second.
- Development and deployment of new governance smart contracts.
- Update/upgrade the governance portal to interface with the new governance smart contracts.
- A Request For Proposal was published in May here which result in a final recommendation and grant proposal for Boardroom to build the new portal here
- Note: The governance portal will provide interfaces for both treasury and protocol governance
- Vote to officially migrate treasury and protocol governance.
- Note: the vote to migrate treasury and protocol governor contracts can and is proposed to happen separately
Below proposes the steps to migrate to on chain governance for 0x Protocol and treasury as it relates to the completion of the two tasks previously described.
- A governance portal for the new treasury and protocol governor is designed, developed, and deployed.
- An on-chain vote is initiated to migrate from the current to the new treasury governor from the current governance portal.
- A migration interface will be provided by 0x to allow ZRX tokenholders who are currently utilizing the staking system to transition to the new governance system.
- An off-chain vote is initiated to migrate from the current to the new protocol governor from the current governance portal.
While the votes to migrate governance can technically happen now given that the smart contracts are already deployed, this is highly discouraged as the lack of a governance portal will make participating in governance very difficult and likely reduce the security of governance.
The timeline to the steps above is highly dependent on the task of updating/upgrading the governance portal to interface with the new governance contracts.
Anticipated Questions
- Why are the votes to migrate from the current to the new treasury and protocol governors separate if all of the new smart contracts are already deployed?
- While there is no technical requirement for the two votes to migrate to the new treasury and protocol governors to occur separately, it is much more secure to complete the migration in this manner. The reason that having the vote to switch the protocol governor at a later date is more secure is because on-chain governance is only as secure as the number of people and amount of ZRX that are ready to participate. As such, the buffer period is meant to maximize the number of people and amount of ZRX that can migrate from the current governance set-up to the new one.
- The reason that the same buffer that is not proposed for the treasury is two fold. (1) The vote to migrate the treasury governor is dependent on the current on-chain mechanism so it will not be possible to both have people migrate to the new governance system and vote in the old system. (2) The risk associated with the treasury is many magnitudes smaller than that with the protocol - the treasury holds ~$5M in assets while the protocol has access to ~$1.4B in allowances.
- Why is migrating 0x Protocol governance necessary?
- Decentralized governance is desirable for 0x Protocol to be the unstoppable and uncensorable public good that it is meant to be and fully on-chain governance is a good way to achieve that. The way 0x Protocol governance is currently done, it is reliant on an off-chain service which is a centralizing risk.
- Why do ZRX tokenholders who are currently utilizing the staking system need to transition to the new governance system?
- The staking system is used to determine voting power in the current treasury which is different from how voting power is determined in the new governance system. As such, in order for ZRX tokenholders to continue to help secure 0x Protocol and participate in its governance, they need to un-stake their ZRX before migrating over to the new system.
- Why would both votes to migrate from the current to the new treasury and protocol governor take place in the current governance portal if a new governance portal will be available before hand?
- The two votes to migrate from the current to the new treasury and protocol governors both rely on the current governance system. The new governance portals serve as interfaces for the new governors and as such, and as such, are not suitable to host those votes. However, if those votes are successful, the current governance portal can be fully decommissioned and all future votes will happen on the new governance portal.
- Note: If the current governance proposal is fully decommissioned, this will not prevent tokenholders who currently have ZRX and unclaimed rewards will continue to be able to withdraw and redeem. The functionality that will be decommissioned are those tied to current governance activities, namely staking and voting on proposals.