How New Blockchain Apps Make It Easier To Use DeFi
June 25, 2021
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:
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:
On December 20, the following step will be taken:
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.