Find file
046cc1f Aug 6, 2015
@fractastical @d3developer
58 lines (33 sloc) 3.81 KB

One very cool thing about the evolving distributed autonomous organization (DAC/DAO) layer on top of cryptocurrencies is that it increasingly allows programmable governance.

This paper includes my best thoughts on an optimal approach. It is partially an attempt to resolve the tension that for most projects there is an early need for centralization (i.e. classic startup) vs. the legitimate desire to have more voices heard as things evolve. Many projects also need funding in order to get started and need to accomodate investor interests.

Here are some existing models:

  • Current corporate model is investors decide via board seat allocation. You only have an opening once you hit IPO, but there are severe barriers to IPO which seem to be increasing.

  • Cooperative model and non-profits I perceive as extremely inefficient in the early stages. Among other things they need a board, have high initial costs, and don't scale internationally.

  • Some cryptocurrencies have a "founder lock" on fund received via multi-sig, which is cool but doesn't exactly address the issue of evolved control over time and generally assumes static decision makers. Actual decision making is a bit vague at this point and not captured in the protocol layer.

My optimal model is something like:

 *  All major "board level" decisions captured in blockchain format. 
 * "Board level" decisions decide allocation of funds, which then go into pools
 *  Pools of funds allocated to individuals/projects can each have one or many decision makers. Once allocated pools have complete autonomy. 
 *  "Boards" have the following decision-makers, "founders," "investors," "users."
 *  Voting is handled by a two-tiered process in which each group allowed one or more proxies. Those proxies become a board. This board then makes relevant decisions. 

To illustrate, here's a sample timeline:

time 0. board members 1. founder 1.

time + 30 days. fundraiser, reception of $5M. all investors vote, elect a board member. board members 2. founder 1. lead investor 1.

time + 31 days. 2 board members unanimously vote to create $1.5M pool for founder.

time + 32 days. Founder hires 5 full time staff to build cool shit. Approves various related expenses.

time + 180 days. Project has 2 million verified accounts. board is expanded to 3 members. Users vote and elect a representative. Voting is as follows. Anyone can nominate themselves up until 7 days prior to election. The person with the most votes wins. Serves 12 month term.

time + 181 days. Board debates and unanimously decides to disperse an additional $2.5M.

time + 182 days. 15 more people hired. Various other expenses approved.

time + 365 days. 50 million verified accounts. Board increases to 4, 1 founder, 1 investor, 2 user. New election for new user board.

time + 366 days. Board votes 3/4 to open a new fund-raising round, seeking an additional $20M.

time + 400 days. $20M received, new investor election, new board position. Board increase to 5. 1 founder, 2 investor, 2 user.

Open questions:

 *  Can the number of board members automatically scale to the appropriate number? Is this linear with respect to time or with respect to some other quantity (i.e. amount of funds and/or users)
 *  What's the length of time for positions? Can this also be programmable? 
 *  How can you verify users (i.e. not allow fake accounts)?
 *  Can the voting also be handled on the blockchain?
 *  Is board one person one vote or can/should votes be weighted?
 *  How does this ideally evolve after the initial stages?  Linear increase in board members?  
 *  Is this just a nice idea or can this be programmed into a metacoin or Ethereum? 

As of May 2015 this now has an implementatation: