Governance 2.0 Final Steps

We have been talking about improving dxdao governance since dxdao started and it has been basically three stages agreed on by the community on the “governance roadmap” to gov 2.0. Let’s do a review of where we started, our current status and where are we going.

Genesis - Governance v1.0

Refers to the daostack dao used by DXdao since genesis, with a voting machine called “Genesis Protocol” where GEN token is used for staking, the interface to interact with this dao was Alchemy, an application maintained by Daostack. Now Alchemy is down we are using dxvote application, for the time being, dxvote is in maintenance mode and we don’t want to spend more resources on it.

Now - Governance v1.5

Refers to an intermediary step between 1.0 and 2.0, that’s why the name. Here is where DXD starts being used for staking and dxdao starts using a new set of contracts for its governance.
DXdao will migrate to the new dao contracts gradually by sending funds from the gov v1.0 dao to the gov v1.5 dao.
Gov 1.0 is supported in dxvote, and gov v1.5 will be supported on DAVI, where we will be able to use dao & guilds in the same application.

Much work has been done on refactoring the current system based on dxdao needs to optimize our governance operations while we store and index all data in the blockchain layer.

We are ready to start executing governance v1.5 and start working on the final gov v2.0 implementation.

The smart contracts work has been done on the dxdao-contracts repository and it can be seen on the v2.0 branch, for code semantics reasons we see fit to do an major version upgrade of the dxdao contracts repository since we are including breaking changes that are not compatible with the existent code, that’s why we call it dxdao-contracts v2.0.

The dxdao-contracts v2.0 will be used for Governance v1.5.

Future - Governance v2.0

Based on the proposal passed specifying Governance 2.0 refers to a refactor to the entire governance structure in dxdao, with the goals of:

  • Improve existing infrastructure to optimize governance operations.
  • Store and index all the governance information on the blockchain layer.
  • Integrate DXD holders into the DXdao governance system. ← very important

The next steps would include changes to the voting machine and schemes, and they will be done over the v2.1 branch. Here we will add support to the use of multiple options in the voting machine and the use of a “Voting Power” token, this token will use multiple tokens to determine its voting power total supply and users voting power balance.
The good thing about this approach is that we will only change the part of the smart contracts infrastructure that is mutable, which means that we can start using v1.5 now and then do a slow migration to v2.0, just like we are doing from v1.0 to v1.5.

The dxdao-contracts v2.1 will be used for governance v2.0, where three new smart contracts would be written:

  • Voting Power Token

    • Ownable by DXdao.
    • ERC20 Token interface.
    • The voting power composition is defined by a list of tokens and their weight, total weight should equal 100.
    • The voting power composition distribution can be changed by the token owner.
    • A token that is part of the voting power composition should implement a callback function to the voting power token, this callback will be triggered every time the token balance distribution changes (every transfer).
  • Multiple Options Voting Machine

    • Based on the Binary Options Voting Machine.
    • It will support the use of multiple options for a proposal, each option having a list of calls to execute.
    • For a proposal to boost an option will need a score 1.x higher than the total of tokens downstaked for the rest of the options.
  • Wallet Scheme v2.

    • The scheme will support multiple options and it will be used with Multiple Options Voting Machine.
    • The scheme will define the voting power token to be used, it needs to be an ERC20 token with snapshot support, so it can be the DXdao REP token, DXD Token or DXdao Voting Power token.
  • DXD Token upgrade - TBD

Scheme examples:
- An scheme that uses DXdao voting power token of 75% REP and 25% DXD, boosted proposals will need 5% approval to pass, it will use multiple options voting machine that will use DXD for staking.
- An scheme that uses the DXdao rep token, boosted proposals will need a 10% approval to pass, it will use multiple options voting machine that will use DXD for staking.

DXD Integration

The final goal here is to integrate DXD holders into our governance system without the need to hold DXD but to stake, putting DXD into use in dxdao products.

Right now DXD holders that are part of DXDGuild can vote in DXDao proposals using the REP owned by DXDGuild.

For Governance 2.0 a new DXDGuild will be deployed where every time DXD is locked and withdrawn from the guild it will update the DXdao Voting Power Token.

DXdao Voting Power = DXdao REP + DXD Staked in DXD Guild.

The DXD Guild will have complete control over the staked DXD and the guild itself, being able to do whatever it wants with the funds it holds. DXdao avatar will be a guardian of the guild, being allowed to reject malicious proposals if needed.

Combining the DAO smart contracts with the use of ERC20Guilds allows us to integrate DXD holders into the governance system without the need for them to hold tokens in their accounts, putting DXD capital to use.