MakerDAO Governance Audit Report

MakerDAO Governance Audit

Abridged spent significant time interviewing multiple parties to pull together this report on the systems involved in the MakerDAO governance process today. At the end we highlight a few solutions that may be implemented to reduce the frictions involved by creating more accessible voting systems, reducing gas cost, and increasing information access via notifications.

Any of our proposed solutions should focus on designing around the system that exists today to limit change in contracts and satisfy the needs of incumbent users.

Please reply with any questions or comments!

This was ported from Notion. Find the original document here

A. Introduction and Research

DAO Ops is a set of practices that aims to systematize the management of DAO functions and reduce human coordination costs associated with resource allocation, decision-making processes, and membership administration. This idea emerged from work created by Abridged when tinkering with integrating DAO capabilities into chatbot interfaces.

Abridged has recently focused on understanding the needs of the MakerDAO ecosystem. There has been much research and discussion previous to this proposal attempting to define the largest points of friction today. We worked closely with folks from Comm Dev and governance and held interviews with many of the key stakeholders facilitating governance of the MakerDAO protocol today. This includes people pushing forward the new MIP process, delegate voting, Maker participation metrics, and relevant notifications with the MKR bot.

LFW is a critical piece of the MKR governance system, here he summarizes issues from the Why arent MKR Holders Voting? forum post. (1)

A.0.0 Survey Results

The past three weeks has been filled with zoom calls and rocketchat conversations on a variety of topics related to Maker governance. Below is a summary of the different initiatives in development at Maker today, as well as results from a survey we ran.

A.0.1 Survey Results

Our process included a survey advertised on Reddit, in the Forum, and in Rocketchat. Find details here. Please see responses below.

A.0.2 Survey Questions

"Please provide the links you rely on most for participating in and understanding Maker governance."

https://awesome.makerdao.com/

Chat.makerdao.com

https://community-development.makerdao.com/onboarding/

https://community-development.makerdao.com/onboarding/voter-onboarding

https://community-development.makerdao.com/governance

Docs.makerdao.com

https://docs.makerdao.com/mcd-developer-guides/developer-guides-and-tutorials

Forum.makerdao.comhttps://forum.makerdao.com/t/governance-at-a-glance/84

blog.makerdao.com

Maker 101 pdf

https://www.youtube.com/watch?v=0Jd1l5I6DHs&list=PLLzkWCj8ywWNq5-90-Id6VPSsrk4OWVan

https://www.reddit.com/r/MakerDAO/

Vote.makerdao.com

"Please describe the Maker governance process today."

“Maker Chat, forum posts and governance meetings to achieve rough consensus to see what goes into Monday Governance polls. Result of these polls become Executive votes on Fridays.”

"A broad group of stakeholders, within the Ethereum and fin-tech ecosystem, use open forums/platforms to discuss and distill opinions around the Dai stable coin system. Using an interconnected but ever more technical set of systems a series of consensus votes are debated in the open, transparently, and then placed on chain for a group of skin in the game participant. These participants can be included, lead, shape, or work with the stakeholders in open forums but ultimately they govern the risk parameters that direct upgrades, changes, and parameters in the Day Stablecoins system. They are MKR token holders. MKR token holders are tasked with maintaining the health of the system and the stability of the peg while defending against any proposals that seem antithetical to the overall governance objective.

There can only be one active executive proposal as it represents all the parameters of the system combined into one ‘state’. It is not possible to revert the current state of the system as it is possible that the underlying architecture of the ecosystem has changed. I.e. the Executive vote represents the ‘settings’, the Dai Credit System is the ‘program’. Can’t always go back to old settings safely if the program has been updated.

Every week these stakeholders open a call to the broader community and discuss an agenda about the direction of governance then go back to the forums to distill consensus and put that on chain."

"Ratified governance proposals are made into slates for execution.

Slates of proposals are created and voted on by MKR holders in a continuous approval vote"

"Weekly governance calls to talk about most pressing issues.

Forum/rocketchat for ongoing discussions.

Emergency off schedule governance/risk calls for when shit hits the fan.

vote.makerdao to voice your support."

“Anyone can Vote and sign on a contract and contribute his opinion or idea about the governance or anything else. On-chain pooling vote for proposal and forum members participation. MKR holders can vote as well non MKR holder and made a decentralized voting contract.”

"Members of the forum create topics and discuss. Polls are created to decide intentions/opinions. A member of the foundation organizes an onchain poll or executive vote to finalize. How decisions are then executed are a mistery to me. I imagine resources are allocated (money or development time) by the foundation.

Recently MIPs have been added to formalize the process above."

“Ideas/proposals are brought up in the forums, discussion is had, proposal is formalized and organized, community vets and Then raises a poll or vote”

“A messy combination of signal requests, domain team fiat, and last minute emergencies.”

“Topics are moderated and discussed in the Discourse Forum. The governance facilitator and/or Rich brings up current topics for discussion & the risk team present parameters in the forum and weekly call. A poll goes up to gauge signal on vote.makerdao.com and is notified on the forum. After collecting responses, then the Maker Foundation Interim Governance Facilitator places an Executive Vote into the voting system.”

A.1.0 MakerDAO Structure

MakerDAO uses a variety of on-chain and off-chain decision making and communications to build and execute improvement initiatives and make changes to the protocol.

Who are the decision-making bodies?

Maker Foundation - controls the majority(?) of the value accrued to initial protocol investments in MakerDAO. This entity is incorporated in Delaware, and employs 50-100 people full time.

MKR Holders - votes and executes on-chain decisions.

Community Development Team - manages community development projects and initiatives.

Governance and Risk Team - monitors and determines items of highest importance.

How are decisions made?

The way decisions are made rely on forum discourse, rocketchat comms, and the following voting types:

Off-Chain:

Rocketchat

Discourse

Governance and Risk Meetings

Forum Poll Votes

On-Chain:

Poll Votes

Executive Votes

Where to find the latest decisions?

Governance in General: https://forum.makerdao.com/t/governance-at-a-glance/84

MIPs: https://forum.makerdao.com/t/weekly-mips-update-4/2749

CDIPs: reviewed in community standup every Wed.

A.1.1 Communications and Decisions

The majority of communications within Maker happens between the Maker forum and Rocketchat. Communications within maker revolve around the following changes and updates to keep a healthy protocol:

Consistent Changes

Stability Fees (if DAI is above peg then lower SF and visa versa)

  • MCD - ETH - weekly
  • USDC Stability Fee - weekly
  • SCD - ETH - weekly

DSR - biweekly, near term incentivization

  • Spread relative to the stability fee
  • Levers immediate profit vs growth
  • If DSR and SF are the same

Other Changes (look at https://catflip.co/)

Debt Ceilings

  • Don’t want the debt ceiling to be too high
  • Main consideration is the liquidity in the system
  • Gap should be <20M

Auctions

  • Flip - Auction Collateral
  • Flap - Burning MKR
  • Flop - Printing MKR

GSM (Pause) - time lock for governance changes, once a vote is cast, changes are queued into

Mayday Indicators

  • Surplus auction buffer (if this becomes negative)
  • MKR Burned in the ESM (emergence shutdown mechanism)
  • Bad debt increasing
  • Flop auctions
  • Adding collateral types

A.1.2 Maker Initiatives

Backbone of MakerDAO Governance:

Weekly Cycle / Signal Request Process

Maker Improvement Proposal (MIP) process

  • Used for protocol changes, liquidity support opportunities, and community development grants

Community Development Improvement Proposal (CDIP) process

Ongoing Initiatives:

Delegate Voting - give voting responsibility to someone I trust.

**MKR Bot** - a source of all important information for MakerDAO.

SourceCred Integration - an automated participation rewards system.

Maker Ecosystem Onboarding Process - an initiative spurred on by the Comm Dev team to make onboarding and orientation easier for Maker newbies.

Maker Badges - another participation rewards system.

A.1.3 MIP Process

The Maker Improvement Proposal (MIP) process is a formal voting process for changes to the Maker protocol. The governance process is defined in MIP3.


This was found in the MIP3 forum post written by a community member.

Maker Governance Cycle (from MIP3 forum post)

A.1.3 CDIP Process

The Community Development Initiative Proposal (CDIP) process defines community initiatives to supply resources for beneficial development initiatives including hackathons, events, applications, and educational resources.

A.1.4 Voting Types

Executive votes occur once a month and require MKR holders to stake enough MKR to grant the “hat” to the new executive decision. This also involves a default inclusion threshold which requires a minimum amount of MKR to vote yes on a proposal before it passes.

Poll votes happen in the second and third week of the month. An MIP must pass through both the inclusion poll in the second week, and then the governance poll in the third week to be accepted as a spell in the executive vote.

Signal Requests - https://forum.makerdao.com/tags/signaling

Weekly Cycle - https://vote.makerdao.com/polling

Confirmatory Forum Polls are used by working groups to make lower risk decisions. Recently the SourceCred trial was passed by an initiative through a governance working group and forum poll.

A.2.0 Problems and Goals

We break the feedback down from this research into a few interrelated categories, Goals, Pain Points, and Magic Moments. This section largely comes from the detailed UX research created by Jordan Jackson.

A.2.1 Goals - things we want to accomplish

The goals of the MakerDAO governance system should assist the DAO’s decision-making function by increasing access to relevant information and encouraging engagement of the community.

We are breaking down this category in two parts, first that an individual’s influence is valued in the governance process, and second that we are able to create a system that enhances each participants decision-making.

Value my Influence!

We need to give maker voters a clear reason and incentive to vote.

Enhance my Decision-Making!

Creating ways to give voters context and increase their ability to make confident decisions is important. Voters should be given relevant information in bite sized ways to increase their understanding of goals and past precedents.

Make it easy for me to participate!

Participation requires someone to feel well informed enough to make a decision. To do this we need to break down information into more bite sized pieces, at the right time, through the right interface.

A.2.2 Pain Points - things we want to ease

These are the aspects of the process that cause mental stress to MakerDAO community members. Accomplishing our Goals and amplifying the Magic Moments should reduce the influence and prevalence of these pain points.

Subcategories for this section include increasing information access, reducing friction for voting, and eliminating any fear involved with the system.

Increase Information

Forming consensus and forecasting the consequences of decisions is an area of struggle.

Clear history and easy to understand historical context.

Staying informed and up to date with governance is hard and time consuming.

Reduce Friction

Getting set up to vote is difficult and scary. As best we can we need to take away all obstacles when casting a vote.

Eliminate Fear

Fear experienced by Maker voters includes bot social fear that their vote is too small to matter, and fear of technology creating vulnerabilities with their digital assets.

A.2.3 Magic Moments - things we want to enhance

These are the pieces that assist in encouraging user engagement. While they exist today, we need to find ways to amplify!

Enhancing the ability for users to experience magic moments help accomplish our goals, and reduce the pain points present in the system today.

My Influence Matters!

Help voters feel motivated and rewarded after taking action. Help them stay encouraged by generating the “aha” that I made a difference and sense of pride for participating. This could be as simple as gifting a Maker badge or sending a happy “You Voted!” email.

We Solved the Thing!

Proof that collectively we made the right decision. The system is stable.

B. Proposed Solutions

The proposed solution to the above mentioned issues includes providing a way to increase:

1: New Voting Pathways - ease of access to vote in Rocketchat or Discourse without compromise on key management.
2: Voting Notifications - accessibility for relevant information to surface for a particular vote.
3: Ecosystem Navigation - ease of engagement and orientation for new community members.

Implementing these targeted goals must include explicit detail around key and identity management. We want to inspire confidence from members of the MakerDAO that their keys and tokens are secured to create a seamless experience for both new and old users.

B.0.0 New Voting Pathways

This section will review the heaviest technical advancement in the MakerDAO Ops system. We provide a brief analysis of digital asset risk for past MKR voters, the benefits and challenges for a contract account system in Rocketchat, the benefits and challenges for a key-based account system in Rocketchat, the potential for a poll signaling system in Discourse, and how to upgrade to a delegate or batched transaction system.

The success of most of these implementations lies in the ability to add read and write functionality into communication interfaces like Rocketchat and Discourse. Historically we’ve been able to do this using Abridged no-code to build Web2 interfaces into contract or key based account systems.

This document is created to present the scope of potential integrations and gauge interest within the community to determine value. Technical implementation on any of the below proposals will require additional research.

B.0.1 Digital Asset Risk

Creating a system with secure and safe digital asset management is of top priority for the DAO Ops project. With this, we investigated the number of voting MKR accounts and the USD value held of the digital assets within these accounts.

Screen_Shot_2020-06-04_at_4.09.27_PM

This data was analyzed from the Catflip voting dashboard. Find the spreadsheet calculating numbers here.

76% of the top 100 MKR voter addresses have less than 1 ETH in their account and 67% of these accounts hold less that $100 USD in digital assets. At the same time 24% of these accounts hold more than $2000 USD in them.

We consider these numbers to get a sense of the financial risk associated with accounts of . voting MKR holders. We can assume that the majority of token holders will be using these accounts primarily for voting rather than digital asset management. As the number of assets managed in a specific wallet increases, so does the risk. For the 24% with more than $2000 USD in their account holdings, we expect any key management changes to be more difficult. For the 67% with less than $100 in total assets, the migration to a more convenient voting system should be easier.

B.0.2 Contract Account Upgrade

We suggest integrating an Abridged contract wallet to create an easy to access system in Rocketchat or Discourse for the following reasons:

  • Security - multi signature allows for recoverability.
  • Functionality - can leverage upgrades to the system with batch transactions, metatransactions, and layer 2 voting.
  • Mobile Access - with metatransactions innate to the platform, voting and calling information is available on mobile and desktop.

This setup defined below considers an integration of contract-based wallets in the proxy voting system. We created this image in part from this resource, which explains the proxy voting process today.

Benefits of a Contract Account

  • Higher future functionality (batch and delegate voting)
  • More robust key management (guardian key / recovery options included)
  • Mobile reading / writing accessible
  • Allows for simple onboarding for new users (no need to save PK)

Challenges with a Contract Account

  • Transition to a contract account will require more learning for incumbent users
  • Shift in process can create uncertainty

B.0.3 Using a Key-Based Account

Key-based accounts are the original and most widely used system for managing funds and digital assets today. The issues with these accounts involves the fragility of private key management, and this system also does not allow for programmable access of on chain identities.

Developing a system that allows for voting and notifications within chat or forum using a key-based account does create different vulnerabilities for the voter. More research needs to be done around the possibility of utilizing WalletConnect as a safe way to vote on mobile, but the solution for now allows for connection via desktop. Mobile would require a user to add their PK to local storage on their phone.

The image below shows a user adding the private key from their MetaMask proxy account to an contract account . Another option to explore here is whether connecting with WalletConnect to the system could provide a similar benefit.

Benefits of Key-Based Accounts

  • Incumbent users know this system well
  • Fully non-custodial

Challenges of Key-Based Accounts

  • Fragility of PK security
  • Non newb friendly
  • Mobile access introduces vulnerability

B.0.4 Poll Signaling

The poll voting system in Maker governance is a precursor to the executive vote. LFW discusses an even lighter process than poll voting here.

We can create a system within Discourse that may not need an actual vote on chain by gathering sentiment through signature verification of MKR holders. This would be the easiest implementation to improve the voting process and bring in broader feedback from active community members.

B.0.5 Future Developments (Delegate and Batched Voting)

Delegate Exploration

Creating a delegate voting system to ease the burden of frequent decision-making would be possible if MKR holders upgraded to a contract based account system.

This has been explored deeply in this document.

Batched Voting

Poll votes can number as many as 9 in a given week. The base cost of voting on every poll vote in a given month could reach $18. If we were able to batch all poll votes to wrap up in one on chain transaction, we can reduce the price to the cost of a single transaction. This batch voting could be created with a contract account, or by redesigning the voting contract and governance dashboard.

B.1.0 Voting Notifications

Maker Governance Cycle (from MIP3)

PLAN: Create a system for someone to easily decide how they will vote. Distill the information from past votes into accessible and relevant data to inform the voter.

Hurdle: Distilling the information down to something easily digestible (this will require some dedicated work by a person with deep Maker knowledge).

B.1.1 Tell me when things happen

Scottrepreneur has created a really robust system of information for the Makerbot. We need to filter this system even more to provide the simplest answer for those reading.

Charles St. Louis is spearheading the MIP process. DAO Ops could automate updates like this.

One system we could spec would be a MIP subscription service, for people to subscribe to specific MIPs. Likely notifications will need to start broadly with updates on voting deadlines etc.

B.1.2 Provide easy access to relevant information

Typically relevant information can look standard. What was the peg last week? How did the vote change the peg last week? How did the people I trust vote?

On Governance: https://forum.makerdao.com/t/governance-at-a-glance/84

MkrBot: https://github.com/scottrepreneur/mkrbot/blob/master/mkrbot_guide.md

B.1.3 Tell me the outcome of my participation

These features should encourage participation by both showing the voter that their voice matters, and that their votes made a meaningful difference in the outcome of a decision.

B.2.0 Participation Rewards

Participation rewards come both from a gas cost and community participation.

Gas Cost: We could discuss creating a system that paid users for voting rather than spent their resources. This would involve creating a relayer system that pays for all Maker votes.

Community Participation: Another way to reward governance is to use social tracking algorithms like SourceCred, badges, and merch to encourage engagement in forum and chat discourse, community calls, etc.

B.3.0 Ecosystem Navigation

This user needs to get up to speed quickly with the state of the ecosystem, and how to participate. To do so, the Maker bot needs an on-boarding loop to answer FAQs, orient the new user, and lead them to the conversation they find most interesting.

Relevant Links:

Index

  1. Awesome MakerDAO: https://github.com/makerdao/awesome-makerdao/blob/master/README.md#governance
  2. Behavior forum post: https://forum.makerdao.com/t/maker-governance-overhead/1129
  3. Catflip: https://catflip.co/voting
  4. Delegate Voting: https://docs.google.com/document/d/1VxqHQsmkvrFkLF6er93IvifY9QodG_YMf9FCRU0SoIk/edit?usp=sharing
  5. Demo Videos: https://blog.makerdao.com/an-update-to-maker-governance-polling/
  6. GSM: https://community-development.makerdao.com/governance
  7. Glossary: https://community-development.makerdao.com/makerdao-mcd-faqs/faqs/glossary
  8. Governance Dash: https://vote.makerdao.com/
  9. Governance Module: https://docs.makerdao.com/smart-contract-modules/governance-module
  10. Maker Chat: https://chat.makerdao.com/channel/chakachat
  11. Maker Voting Today: https://forum.makerdao.com/t/why-arent-mkr-holders-voting/301/1
  12. MkrBot: https://github.com/scottrepreneur/mkrbot/blob/master/mkrbot_guide.md
  13. On Governance: https://forum.makerdao.com/t/governance-at-a-glance/84
  14. Poll Signaling: https://forum.makerdao.com/t/wanted-a-plugin-that-allows-signalling-with-mkr-on-a-discourse-forum/1876
  15. Risk Calls: https://forum.makerdao.com/t/special-governance-and-risk-calls-tuesday-4-14-and-4-15/1962
  16. SourceCred Trial: https://forum.makerdao.com/t/maker-sourcecred-trial/2551
  17. https://twitter.com/makerdao/status/1249735453546172417?s=21
  18. Tools: https://mkr.tools/
  19. Top 100 Voting Accounts: https://docs.google.com/spreadsheets/d/1a1X7EFdabGvHXWsou0Aq9ky_PfbQNT6RnZvGkaOd4mc/edit?usp=sharing
  20. Voting Metrics: https://mkrgov.science/
  21. Voting, Linked Wallet: https://www.youtube.com/watch?v=-zq6_ZJ0MpI&t=43s
  22. Voting, Single Wallet: https://www.youtube.com/watch?v=nWhLzyhZV-Q
13 Likes

I saw this report pop up and wanted to thank you for the hard work and effort that went into this. I hoped we would get more discussion on the points. For now I will just add my own comments as time is limited.

I think I had discussed this idea in rocket chat so I read this suggestion with interest.

Deinitely this.

I would like to see more discussion on this in connection to B.0.3 above.

Definitely this. There is one simple fact about Maker that people really should take notice of here. The mere fact there is no singular one point, one stop contact for everything associated with Maker still causes people this day to be fished for DAI by scammers. This was particularly true with SCD, MCD migration but also true in general. If I had one suggestion for Maker from a ecosystem navigation point of view it would be to standardize a menu function on not just the primary markerdao website but on every other one so all of these sites have the same navigation structure. Going to one doesn’t take you away from getting to the other ones. It was and still is my biggest beef with MakerDAO is the sheer lack of website(s) integration into one coherent whole as defined by a standard logo, and menu structure that should span all sites approved by Maker governance as part of the MakerDAO family of websites. I was trying to think of a way a website could proffer a signature of some kind so people could actually verify directly if this is the ‘approved’ MakerDAO subsidary vs. some copy that is seeking to steal funds.

3 Likes

Thanks for these comments @MakerMan! Very glad you find the information valuable. I think there’s a lot of good work happening with @Derek and the dev team on solving the voting issues by reworking some of the ID Chief + @web3developer, @scottrepreneur and the Source Cred initiative seem to be kicking things in the right direction for participation rewards.

Im glad to get your input on the ecosystem navigation. I think this and mobile notifications are the first step in improving the system (lowest risk bc no contract changes). It is wild how many links and pages there are holding critical information to participate in the Maker ecosystem. I also like your thought of making the system accessible across all interfaces. The first step will likely be RocketChat notifications and navigation for all relevant sites etc, and then working with the teams deving each site to find the smoothest path to that navigation system would be the next step in increasing visibility / usability.

1 Like