The Transfer of MKR Token Control: A Giant Leap Toward System Decentralization

December 20, 2019

In the Maker Protocol, the MKR token plays two roles. First, as the governance token of the system, MKR allows those who hold it to vote on changes to the Protocol. One MKR token locked in a voting contract equals one vote. Second, through the automated Auction mechanisms of the system, the supply of MKR will fluctuate. During a Debt Auction, MKR is created by the Protocol and sold for Dai to cover outstanding debt, thereby increasing the total supply of MKR. By contrast, during a Surplus Auction, the Protocol sells surplus Dai for MKR, which the Protocol destroys, thereby decreasing the total supply of MKR. 

Given the importance of MKR to a healthy and functioning Maker Protocol, safeguarding the MKR token contract has historically been the responsibility of the Maker Foundation. The plan from day one has been to transfer MKR token control to Maker governance shortly after the launch of Multi-Collateral Dai (MCD). With MCD released and the Protocol functioning as expected, the transfer of authority has now been scheduled. 

Beginning on December 20, control of MKR token will be handed to the contracts, and therefore to the governance community, in steps as we continue on the path to decentralization. The Foundation will share control of the token with the contracts for about one month to ensure a successful handover. After that time, MKR token holders will be given full control, meaning that decentralized governance will be the only avenue for changing MKR token authorizations.

The Technical Details

To understand the transfer process, insight into the structure of the MKR token contract is necessary. 

There are two addresses in the MKR token contract that determine which functions can be called, and by whom: Owner and Authority. The Owner address, which is currently set to the Foundation’s multisig wallet, can call any function of the MKR token with full permission. The Authority address, however, can grant permission to call specific, restricted functions (for more fine-grained control).

The Foundation has created a custom Authority contract for the MKR token: the MkrAuthority contract. That custom contract, which underwent extensive design review, testing, and formal verification, provides a specific permission set for the MKR token to enable key functionality of the following contracts:

  1. The Debt Auction Smart Contract, for creating MKR at the end of a Debt Auction.
  2. The Surplus Auction Smart Contract, for destroying MKR at the end of a Surplus Auction.
  3. The Burner Contract, for destroying MKR used to pay Stability Fees for SCD.
  4. The Governance Contract, for controlling future permission changes on the MKR contract.

In addition to transferring control to the community through decentralized governance, the MkrAuthority is necessary to the successful operation of the MCD system. It authorizes the Debt Auction to sell MKR tokens. Likewise, it authorizes the Surplus Auction Contract, the Burner Contract, and, technically speaking, any address with MKR, to destroy the tokens they own. 

Once the Burner Contract is triggered, the MKR inside it will be destroyed, thereby decreasing the total supply of MKR to below 1 million. Importantly, no one can burn another person’s MKR balance without approval—not even the Owner or Authority of the token. Authorization of the Surplus Auction Contract and the Burner Contract will enable the total MKR supply to drop below the current 1,000,000 once the Burner Contract is triggered. 

For additional technical information, please see the Maker Documentation Portal.

Transfer Steps

Two steps have already been taken to begin the transfer process:

  1. Deploy the MkrAuthority contract on the Ethereum mainnet.
  2. The deployer sets the DSPauseProxy of the governance layer as the MkrAuthority’s root, giving decentralized governance complete control of the MkrAuthority. This is because DSChief, the principal governance contract, ultimately owns and controls DSPauseProxy. 

On December 20, the following step will be taken:

  1. The Maker Foundation multisig sets the token’s authority address to the address of the MkrAuthority.

Last but not least, after waiting for one month to ensure there are no problems with the new configuration, the multisig will finally be used to set the owner of the MKR token to the zero address.

Closing In on Decentralization

A strong, engaged, and motivated governance community is critical to the growth of the Maker ecosystem and the expansion of the DeFi (decentralized finance) movement. The transfer of MKR token control from the Foundation to Maker governance represents the latest significant step toward increased system decentralization.

To learn more about Maker, visit the MakerDAO website; to learn more about Multi-Collateral Dai, read our MCD-related blog posts; and to get involved in the Maker community, join in the conversations on the Maker Forum.

December 20, 2019