DAPPCON 2019: MolochDAO has risen, now what? - Ameen Soleimani (MolochDAO)

DappCon 2019 · August 2019 · 29:43

Ameen Soleimani of MolochDAO reflects on the DAO's early growth at DappCon 2019, asking what comes next after its funding model proved viable. He discusses MolochDAO's minimal, grief-resistant governance design and its influence on later DAO tooling, situating the project within Ethereum's broader experimentation with on-chain coordination.

Speakers

Topics

From DappCon 2019, hosted by Dappcon Berlin.

Transcript

right first of all raise your hand if you've heard of Moloch Dow awesome today's agenda we're going to talk about summoning sacrifice and rebirth summoning Moloch was summoned on Valentine's Day a teeth Denver was a passion project it's a side project from a bunch of friends and aetherium community members that just wanted to build a dhow and try to help aetherium fund collective infrastructure so that's a teeth invert like 1:00 a.m. but time is wrong because

it's fast forwarded when you look at it on Twitter in Germany this is me on stage defender voting in Cassandra Cassandra it was the first person summoned into the Moloch cow she also used to run the etherium Community Fund I sort of see Moloch as like the spiritual successor to the etherium Community Fund Cassandra died had a number of conversations about the governance issues with the ECF that ultimately led to its untimely demise there are many organizations in there was a board structure all of the members from khyber to polkadot to cosmos to maker many of

them were arguing that they wanted some special privileges that would advantage them for over new members and special governance rights and that that stuff as well as just the fundamental incentive misalignment led to its failure and Moloch learned from those lessons and so when I started summoning people in Sioux Moloch one by one each each of these people put in some of their personal funds into the Dow and it is through through their sacrifice that we were able to create this grassroots effort and take the risk and and create the conditions for

Vitalik and Joe Levin and others to join by demonstrating that we as a community could make useful grants so you can see that the members here come from sort of all avenues of the etherium community its developers its executives its investors its marketers some anons and as a result of our hard work and our personal sacrifice we were able to compel Joe and vitalik and the F and consensus to all put in a thousand ether and that brought us to a million and a half ether at the time a little

less now but yep I thought that was really cool because it provided validation for dows in general it demonstrated that the EF was willing to decentralize it's fun management and allow community members to participate and it also showed a willingness to cooperate between the theorem foundation and consensus which hadn't really been the case in the years before so this talk will somewhat go over the operations of the Dow and how we've been able to use it and it'll also go over the DAP decisions that we made in designing it and building it and so

the design decisions that we made were heavily influenced by the Dow alright and so in the moratorium on the Dow even grandsire recommended that we as somebody who is trying to remedy the Dow design would add two features one instant withdrawals into post VOC grace periods and this ragequit functionality has now become its own meme and to great success and the idea is if you want to put in money into some sort of funding pool the thing that you're most worried about is the other members of the funding pool using their voting power to bully you and use your money in a way that you don't want and your ability to withdraw your funds at any time

counteracts that it's like a game theoretical I win button and that made the pitch really easy the pitch was hey I'd like you to join my funding pool and they're like okay but how do I get out and they're like whenever you want like okay I'm in and that specifically was the reason that we couldn't use Aragon or Dow stock and to Aragon's credit they're now working on a project called dandelion which will bring the ragequit into Aragon dows which I'm personally very excited about I asked them for a long time to get it in the first place but they didn't think it was important and sometimes you just got to prove things other safety motivated

design decisions was that the contract only uses a single ERC 20 token that's defined at the contract lunch and in this case we used we--the and that proved to not have to have any loops to loop over ERC 20 tokens that are in the guild bank or that are being input or external contract calls we actually remove the ability for the contract to have ether because if you want to send ether then sometimes you trigger a fallback function which is an external contract call and we didn't want to deal with any of that we also decided to only build the MVP there are a lot of times that we had conversations and somebody

would say something like you know it'd be really cool if we could just blah right and I would agree and you know we think that that's a cool feature and then we would just not do it and the reason why is because the entire process of shipping a secure smart contract that you believe will or might hold a significant amount of money is bottlenecked by security the the cost of doing an audit the cost of writing tests this influences the entire process of developing and so every additional feature that you add means more tests that somebody has to write and then somebody else has to review it means a more complicated audit that I mean makes it more expensive and it also

complicates the mental model which makes the design less easy to convey and thus less socially scalable uh and because this is I have a full-time job right I'm the CEO spank chain everybody who is working on this has a job this we didn't set out to dad a company right we wanted a Dow to do what we wanted and so it was very important that we were able to do this as a side project and save time and so that also motivated the MVP and the the other thing is compounding right being able to ship something so meme driven development is all about you know writing code in order to advance a

narrative it's to infiltrate Minds right all of you know what Moloch is if we added a bunch of features maybe it would work better but maybe you would have taken another three months to launch and that would have delayed this narrative of what we've been able to accomplish which is like making dows cool again making this experiment you know meta cartel was able to form around a clone of the Moloch Dow and all of that would have been delayed and so I think we've done a good job at putting the meme first so these are the active members and the shared distribution of Moloch down you can see there's two little dots at the top those are our you know our heroes Vitalik and Joe jazz Stan came in

with 250 from funfair and a lodestar got about a hundred and thirty shares as part of their grant not pictured here is the EF and consensus because their thousand shares were divided up between ten individual members and same with spank chain because we put in 500 eath that was also divided between five members you can see a long tail some of that is grants some of that is people just joining with lower amounts of eath this is the proposal submission graph that's me in the middle I'm the five one two I've submitted the vast majority of

the proposals at great cost to myself one of the features of Moloch Tao is that there's a deposit and you pay a processing fee out of that deposit so you you put in ten each as the deposit and you get nine point nine teeth back and so I've submitted I think about 70 proposals so just this proposal submission has cost me over a thousand dollars I think it's Cassandra that has the bots running that automatically pushes the calls the process proposal button so I hope at some point she buys me dinner or something this might look to some as sort of centralized and risky really I'm being this steward right people ask like

hey can you submit a proposal for da da da and I'm like yes I will do it and I'm just the most familiar with the interface and a lot of times it falls on somebody to just do the work this is how people have voted on proposals so you can see at the top there are four proposals for yang Dao and that was the most contentious of our proposals so far the yang Dow is also a clone of moloch which is being used in the context of funding Andrew Yang's a bid for candidacy for the presidential nomination and it has a UI that uses meta transactions that we wanted to

build on and fund through this structure but many in the dao felt that that was this was potentially inappropriate use of funds I took a different approach and I thought that being able to demonstrate use cases in mainstream context could be really important and on the off chance this becomes a sweeping you know success and ends up on CNN it could you know be a powerful boost for theorems narrative and those 500 shares from spank chain came in real handy because it was down about 200 and then I swung the vote yeah so most and you can see on the left its 0.3 so that means about 30% of the

total participants in terms of shares voted on that proposal so there's about I think it was like 2000 ish voting out of 7,000 on those most proposal votes are quite low I think I've passed some proposal votes with just my one single summoner share because there's no quorum so what have we funded so far we've funded over a hundred and twenty thousand dollars in grants this is as of a week ago we've keep funding more I think another thirty thousand proposal just passed over two thirds of it has gone towards east to point oh and development some of it has funded various ecosystem projects and

some of it has gone to internal upkeep so you can see that about 600 of the shares there's more shares than there is ether now because every time we make a grant we dilute ourselves of our pool of ether and mint new shares against it and give those to the grant recipient that's how we pay for things collectively and so the fact that there's roughly 8% less eath than there is shares means that the members have spent about 8% of the money that they have put in if you tried to exit now you would get 8% less ether back then you started with this is an incomplete list of the grants that we've

made I just ordered it by amount so chain safe for e 2.0 note factory for an ethereal validator client gooey so that's what we'll you know measure up time of your staking node it will record your performance in terms of how much money you're getting it'll allow for key management attaching to multiple different types of nodes and email notifications and so that just passed $27,000 split between several proposals to Matt slipper for e 2.0 the state of e 3.0 report that we did initially several

months of part-time networking specs coordination he also wrote the Lib p2p report to try to rally the community around solving the outstanding issues with to be 20,000 for a UI on top of the hopper mixer built by Argand 15 for white block 4 well Antoine he's now with white block he wasn't at the time its build a test runner to keep notes in sync this is the three and a half for the yang Tao and Kevin Nowacki proposed to do a theorem career fairs to represent the jobs that the etherium community might have open at career fairs and this was an interesting

proposal because it wasn't something that anybody had thought of you know at the outset of moloch we weren't like you know we should fund marketing and outreach but it points to one of the interesting properties of a Dao which is that you might have you know a scope a mission values whatever but if people vote to pass something then that is the new you know scope so the scope is whatever the members say it is and that's the only real rules there are and I think Malik Dow has been a great success so far it started out as an experiment and we ran it and six months in we've made grants and one of the most important things I think that we've been

able to accomplish is nailing down this process where we are able to have fast turnarounds for grants and so Danny Ryan who largely interfaces between the e 2.0 research and developer teams you could think of him as the leader of a 2.0 he posted a poll and our members only discord for trying to see what the members thought about building this e 2.0 validator client and five weeks later it was last night that proposal passed and that's really important because it means that we have a very efficient grants process we go from idea to RFP you know he does the poll we say yeah this is a good idea write up a

proposal two pages you know one page whatever we'll blast it out and we collect candidates we vet them and then we negotiate a rate for the proposal and we submit that to the members there's a seven-day voting period and at the end of that voting period we know whether or not they have the money and then they can start working and after that they weave Oh up with them and make sure that everything's going according to plan trying to do this within the EF or consensus would take probably a lot longer this was you know like about a month that would be maybe three to six months and so it makes it completely unfeasible for grants of you know in the like thirty thousand you know dollar

range in that area it's not worth anybody's time to even bother going through the process and it's like the death of curiosity when you know you don't have Google right you're sitting there watching a movie and you're like what's that person's name again but because you don't have Google you're like yeah I guess I'll just keep watching right and so far the East 2.0 you know the theorem community without having a sort of supply chain that they can tap into and receive grants when they're like you know I wish we had blah that would be great and you know they they can't be like oh let's do this but now they're like well actually what if we made a Moloch proposal for that and so now that there's this like new

pathway that has emerged and we're training the community members to be able to realize that they can parallelize and outsource parts of their roadmap and I think that's going to move the whole ecosystem faster another cool thing is just on the great success category is that I think somebody correct me if I'm wrong but I think Moloch has more money in it than all of the other dows on ethereum combined like all the arrogance are like eight hundred and fifty thousand bollocks at one point three million I don't know how much I don't think that stack has that much money it's like locked the staked right so like maker Dow isn't really a doubt it's

a TCR so Moloch will be reborn because it will die but then it'll come back to life there's no upgrade mechanism I got this question a lot they're like how do you upgrade it and we're like we didn't even know if this was gonna work why would we put an upgrade mechanism like that takes time introduces security vulnerabilities let's just ship the thing if it works here's a great upgrade mechanism we can all ragequit pull out our money deploy a new contract put our money in the new contract it's gonna be great so in trying to design this new contract the the principle that I'm thinking

about are if it's not broken don't fix it but let's fix the broken things so what's working as intended the ragequit mechanism totally working as intended that has allowed you know people to join with confidence and it also acts as a check on any abusive power because the game theory of moloch is I don't want to vote in ways that will piss off anybody else enough that they will then quit so I don't actually have any incentive to try and attempt to capture it now this only works for Dow's which govern funds that can all be exited it wouldn't work for something like blocker Ward's it wouldn't work for

you no polka dot for example because you can't leave with your share of polka dot you know doesn't work but for this stuff it does work and I think it will continue to work and having the the post vote grace period is really important for this because it allows you to see the outcome of a vote before you have to make the decision about whether or not to exit otherwise you would have to exit betting that the vote would go one way or another not as clean no voting no quorum and simple majority has been working fine you know I was talking to them now stack CTI yesterday he's like let's add holographic consensus tomalak I was like why you know nobody's screaming right now that we need

holographic consensus maybe if it balloons to a thousand people you know ten thousand people then that would be a really important feature but at the moment I don't see a need for it this has been working great no quorum is actually also add a stack recommendation to help at scale because if you do get more members then it's harder to get quorum and and also no quorum is in the Moloch context particularly safe because of the post vote grace period where you can leave whereas in most governance structures you when a vote is complete its executed immediately so permission entry I also like so permission entry if you want to join

Moloch either as a you know to get a grant or if you want to put money in you have to be voted in through a proposal same mechanism as but by the existing members and I think that's worked really well at curating who the members are and preventing that members from joining that might try to mess with it or have their own interests and that are in congruent with the interest of everybody else and keeping it simple right trying to make sure that we don't do all the things right because then it'll take too long it'll never ship it'll be really expensive I still have my full-time job you know so I have to just do this for fun so things that are broken mullick is

definitely broken in a bunch of ways that we now know about that might have been hard to predict earlier on so one of the first things that's broken is multi applicant proposals say I'm you know submitting a yang Dail proposal and I want to fund the different people who contributed to this effort individually and admit them all into the DAO well I need to submit separate proposals for each of them that have each of them as as the applicant but these proposals can pass or fail independently which is kind of bizarre it would have been really funny for example if the development you know proposal passed and the design one failed and be like sorry dude let's try

again there you know but this can be solved with adding an array of applicants for example to a proposal and a array of shares to distribute to each applicant there's volatility risk in the grants process so Moloch uses only ether which has been a great decision by the way because we doubled our money because we started at $100 either and you know people are like why don't you use compound like well does your CDI double no it could also go down though and the problem is for grants for grantees you take on two weeks of volatility risk

because I price the proposal time is over what I priced the proposal in the dollars at the time that the proposal is submitted but you can you can fix this by adding the ability for the Dow to have multiple tokens I can have eath and maybe hold 10% of its assets and die and then it uses the die as grant capital and then makes distributions of die and at the end of that it will you know if it's starting to get low and I can buy more die with its eath but now you have a problem because now you have to be able to trade between the two of those another one is just a security issue we're approving Moloch Dow is unsafe so if I approve my we--the to the Dow in

order for a member to submit a proposal on my behalf which I have to do that member can be a douchebag or another member can see that I've approved the contract and be a douchebag and submit a proposal that takes all of my eath that I have approved and gives me zero shares and so if the members decide to pass that proposal I lose my money and get nothing and that's not good so we can solve that by allowing the applicants to confirm a proposal before it gets voted on vote delegation so this is really funny didn't think this all the way through but when the EF decided to join with a thousand shares split between ten members they actually had to execute 41

transactions to do it first they had to wrap a thousand ether then they had to transfer a small amount of eath to ten addresses to pay for the gas then they had to transfer a hundred wiith to ten addresses then they had to go into each one of those addresses and call approved ten times on the contract from from each address and then once the proposals had all passed they had to go back into each of those ten addresses and call update delegate key which allows the another address to vote on behalf of that address and they did this because they wanted to centralized security right they wanted to have their DevOps team managed the ten that can rage quit and take the money so that you know the people who are assigned voting rights don't need to worry about losing money but they still

wanted those members to be the ones who had control of voting power you know and this deals with like edge cases like if you if they fire someone or for whatever reason somebody dies or something like they can reassign that voting power to somebody else and so you can solve this and have a function that's just update delegates takes an address of array of addresses array of votes to delegate and they could have instead of having 41 transactions could have had two or maybe three because transfer trance rapid-hypnosis um buddy and then they vote and then I

delegate to somebody else how do I make sure that I haven't voted twice on the same thing and also assigning votes to somebody who's assigned their votes to you would be really weird because then we have a circular vote delegation fun safety this actually happened to somebody where they their car got broken into and they lost the member key that they had for their money and now they can't rage quit now fortunately the money is still in the guild bank which means whenever it comes time to wind it down the remaining members can decide to make a proposal that gives themselves all the shares and that will give that person all of the money of the person who lost it and they'll be able to get their money back but they have to wait

until the contract is done and they can't vote or anything so one solution is to force contract wallets on people another solution is to add keepers who can rage quit on your behalf also a guild kick so there's no way to kick anyone out which means that it's harder to take a risk on somebody if you think that somebody might be a liability or you're not sure if they're fully aligned with you you might want to just say no it's too risky to let you in because I can't decide differently later but you you could have a system to guild kick force people to rage quit essentially so one is you submit a proposal to burn a

members shares and that could work in a number of ways one is that you essentially do the rage quit but give them the money which is what they would have done anyway but if they lost their key that doesn't really help if you know you send you can also submit a proposal to burn their shares and send the funds to a different address but that has the problem of I can just decide to give myself some of these money and the third one which is that you decide to burn their shares and give the money to nobody which means essentially they're distributed to the guild bank to all the members proportionately but then that basically becomes like a look we're gonna burn you if you don't leave yourself type of game not sure which of these two to go with spam protection so right now with every proposal it costs a

deposit of ten ether and so there is a seven-day voting period and a seven-day grace period which means and there can be 70 proposals active at a time because there's also a throughput of five proposals per day so five times fourteen seventy so seventy times ten seven hundred and that's about one hundred and thirty thousand dollars so if you want to completely jam up the proposal queue you could do it for one hundred and thirty thousand dollars and the solution is to non-linear the increase for each member er c20 you can rebalance I think there's telling me my time is over so I'm gonna wrap it up quickly the simplest way to

do this is to offer trades there's other ways of doing this too like custody funds you know send it to some custodian then you have to trust that person really easy is just to be able to submit a proposal that has I'm gonna skip this one has the RC 20 tokens and so proposals can offer any number of tokens request any number of tokens mints shares or any combination of the above and something that I think would be is interesting is that there's a lot of activity around building a for-profit Dow right now and I'm pretty sure that the same contracts could be used for both a non-profit Dow that's an upgrade to Moloch and a for-profit down either of these things interest you come talk to me and let's jam also like to

announce the Moloch pool which is a way to donate proportional follow-on grants to Moloch without having to be vetted by the existing members we launched this last week you basically just go to the website approve the tokens and deposit into the Moloch cool and once you've done that if Moloch does a grant for 1% of its money to you know some applicant then the pool will also get 1% of its money to that applicant thank you all for your sacrifice [Applause]