An Explanation of DAOstack in Fairly Simple Terms
Table of Contents
Original version written by the wonderful Josh Zemel. This post was last updated on August 16th, 2019. See the previous version here.
DAOstack is an open-source software stack designed to support a global collaborative network. The stack can be used to build organizations for any kind of collective work, and it also contains tools to link these organizations together, so as the network grows, all its member organizations are strengthened.
Organizations built on DAOstack belong in a new category of structure called DAOs: Decentralized Autonomous Organizations. DAOs are organizations that run on peer-to-peer software backbones and empower groups of people to make non-hierarchical decisions about shared resources, like funds. Those working on DAOstack believe these structures have the potential to change the world, by making collaboration radically more accessible, direct, and scalable.
DAOstack aims to support the entire process of building DAOs, and so the stack currently includes everything from basic peer-to-peer decision-making modules to a fully functional user interface that requires no technical knowledge. This article gives a basic overview of DAOstack’s approach to building DAOs, describes some of the current layers of the stack, and introduces GEN, a utility token used to help DAOs scale effectively.
Historically, when there has been a need to coordinate large groups of people and point them toward collective action, humans have relied on systems of top-down hierarchy, as in corporations, governments, and militaries. It’s fairly easy to point the ship when you have only one captain, or a small team of navigators.
One major problem with top-down hierarchies is that they contain concentrated points of failure, since individuals are subject to bias and have limited bandwidth. The interests of the powerful few are often misaligned with those of the less powerful many, leaving the decision-makers frequently incentivized to act against the common good. Hierarchies also create information bottlenecks: leaders, even if they are benevolent, can’t always keep up with all the needs of their much more numerous community members.
An exciting alternative has arisen in the form of a movement toward decentralization, in which networks of peers self-organize to act collectively without such concentrated power centers. DAOs are a part of this movement.
In a DAO, a network of peers encodes its protocols for decision-making into secure, decentralized software (in our case, smart contracts on the Ethereum blockchain). This software becomes the arbiter that tallies votes and carries out the will of the people.
It’s a popular concept because it promises to “eliminate the middleman” — and the boss, for that matter — as well as to circumvent centralized funding mechanisms like venture capital in favor of crowdfunding. Imagine thousands of people working together to solve major world problems, with rewards distributed according to value contributed, and decisions being made through the wisdom of the crowd. It might be Facebook or Amazon but owned by the users; a hedge fund with no one skimming off the top; or even equivalents of BP or ExxonMobil, driven by the people and for the people (and the planet).
Up until this point, however, DAOs have remained largely an abstract idea, not yet real except in a handful of limited cases. And the decentralization movement has not yet scaled.
It turns out that decentralization poses some major challenges.
Perhaps the biggest one is inefficiency. If you give everyone a voice, things can get very noisy very quickly, like an annoying neighborhood association meeting, multiplied by a thousand. The more you distribute decision-making power throughout an organization, the more you risk either taxing everyone’s attention with a sea of decision-making or creating gridlock among decision-makers — or both.
So, if you’re going to coordinate a crowd effectively, you need technology not just for making proposals and tallying votes, but also for managing the collective attention. You need ways to determine who can make proposals and how. You need ways to determine which proposals should actually get the attention of the voters — sort of like means of voting on what to vote on. And you need ways to determine who should be involved in each decision, according to reputation or subject-matter credibility.
You also want none of these mechanisms to be vulnerable to corruption, which is to say you don’t want influence easily bought and sold. You want everyone to be incentivized to act in alignment with the greater good. And you want all these systems to be robust enough that they can scale to provide viable alternatives to today’s telecoms, oil giants, social networks, and so on.
To address a problem this complex, we need an elegant and adaptable solution.
“The first principle of designing the DAO stack was not to build a specific protocol or a specific application, but rather to build the soil, the ground from which a whole ecosystem can grow and thrive.”
— DAOstack architect Matan Field
When the originators of DAOstack set about to architect solutions for decentralized governance, they recognized that given the complexity of the problem, the best solutions would emerge only over time, especially since needs would vary across use cases.
So, first and foremost, they designed DAOstack to be not a fixed offering in decentralized governance, but rather a sandbox for ongoing experimentation, in which bits and pieces of governance infrastructure can be easily mixed and matched for each organization, like LEGO building blocks or WordPress templates.
They also wanted to offer multiple ways for users to interact with the system, so that it would serve the needs of everyone from blockchain-governance programmers to the most technophobic DAO participants. And they wanted to make it easy to build custom front-end applications based on the stack’s back end because they realized that many use cases would require their own interface.
With all these considerations in mind, we built DAOstack to be modular at its core and open-source throughout.
Infra is the foundation layer of the stack. It houses the most basic, backend software modules for decentralized governance, such as voting machines and voting permissions systems like DAOstack’s Reputation system. These modules are implemented as smart contracts on the Ethereum blockchain, from which the software draws much of its security. Infra’s modules are generalized so they can be used for any kind of group decision-making, DAO or otherwise.
Arc expands on Infra to create a full library of modules for building the back ends of DAOs. Also built on Ethereum, Arc contains the master contracts that coordinate all the various pieces of DAOs together, as well as any number of flexible “schemes” that enable other DAO functions, such as defining the types of proposals users can submit. These modules can be mixed, matched, and modified to create the complete governance protocol for any given DAO.
Arc and Infra are the products of years of research by some of the leading scholars in decentralized governance into making systems that are both (a) resilient to bad acting and (b) efficient and scalable.
Because Arc and Infra are written in Solidity code, the users most inclined to interact with the stack at this level will be programmers. In fact, DAOstack envisions an ecosystem in which developers regularly adapt the smart contracts to create alternative governance solutions that anyone can adopt, just as anyone can create WordPress templates and make them available to others.
ArcGraph is a caching layer based on The Graph that fetches, stores, and organizes information from the blockchain, enabling applications built on DAOstack to achieve fast load times.
The Application Layer
Most users of DAOstack will not be blockchain developers or software engineers, but rather participants in decentralized organizations, and in some cases creators of them. These individuals will be interacting with the stack primarily through the dApps (decentralized applications) that use Infra, Arc, and ArcGraph for their backends.
We expect two common categories of dApp to be 1) DAO interaction apps, where users can go to participate in their organization’s governance, and 2) DAO creator apps, that make it easy to deploy a customized DAO. The first DAO creator app, aptly named DAO Creator, is currently being developed by dOrg, and the first DAO interaction app, Alchemy, is live right now. Future app categories may include DAO data visualizers and custom DAO contract-deployers, that allow non-developers to create new governance modules.
The first production-ready application built on the stack is Alchemy, an intuitive user interface for participating in DAO governance.
In Alchemy’s current release, participants are able to create and vote on proposals that have various effects on their DAOs, from transferring funds and voting power to changing the structure of the DAO itself. Alchemy also includes a prediction market function, running in parallel to the voting apparatus, that helps organizations prioritize important proposals. More on the prediction feature in a bit.
The future roadmap for Alchemy includes greater customizability, more proposal types, integration with other popular collaboration tools, mobile support, and bounty systems.
Because nearly every part of DAOstack is modular, we need ways of organizing and curating the modules within each layer. The ArcHives will provide this service. The ArcHives will be a set of registries for the various types of modules in the stack–Arc contracts, applications, DAOs, and so on–registries that will be curated by the DAOstack community itself. At the moment, however, the ArcHives exist only as lists internally managed by the core DAOstack team. You can see some of the current ArcHives inside of Alchemy: the list of DAOs and proposal schemes available there are the beginnings of the ArcHives.
In the broadest sense, DAOstack is useful any time there is a need to coordinate a large group of people to make decisions collectively. So, by thinking about a few different types of decisions a group might need to make, we can imagine several categories of use cases.
1. Collaboration to Produce an Outcome (“Work”)
In cases where the goal is to develop or deliver products and services — roughly speaking, a decentralized “company” — the decisions that need to be made often concern how to value individual contributions, and how to budget for projects and other purchases. Which projects should be funded? How much should James be paid for that article, or Sally for that software upgrade? What will be the process for verifying and evaluating work? Should the organization invest in this or that office space, legal support, or PR firm?
Examples of this DAO use-case include the following:
- A film project of 1,000 artists
- An open-source software project of 10,000 developers
- A climate initiative of 50,000 scientists
- A collaborative news network of 100,000 journalists
Soon, these kinds of organizations will be able to use Alchemy to collectively distribute tokens and reputation, find collaborators, and offer bounties to professionals. Or they could build a custom dApp on the stack if that would better suit their needs.
2. Asset Management
These types of collectives make decisions primarily about the management of assets and the allocation of funds. Should we invest in this company, or that property? Should we pay out this claim? Should we sell that asset?
Examples include decentralized versions of the following:
- Venture funds
- Insurance networks
- Charitable funds
- Pension funds
- Real estate investment collectives
Curation networks leverage the wisdom of the crowd to rank the subjective quality of objects. What content should be featured in the feed, or the newsletter? How trustworthy is this company? How good is the food at that diner?
Examples include decentralized versions of the following:
- Restaurant or hotel guides, similar to Yelp or TripAdvisor
- Article or video feeds, akin to social news feeds or Reddit
- Website listings, like a socially curated Google search
4. All of the Above
In practice, many DAOs will include decision-making in more than one category. An open-source software project, in addition to rewarding its contributors (case 1), might collectively curate which code will be included in each release, or featured in its newsletter (3). Conversely, a social network, in addition to curating content (3), has a business to run and must pay its developers, marketers, legal personnel, and so on (1). And either organization might want to invest the proceeds from its activities into other ventures (2).
Holographic Consensus and the GEN Token
“There is a natural tension between scalability, the number of decisions a collective can make in a period of time, and resilience, the incorruptibility of those decisions. We resolve that tension with a new collective decision-making process, called holographic consensus, whereby small groups can make decisions on behalf of the larger majority in such a way that guarantees perfect alignment between the two.”
— DAOstack architect Matan Field
Large organizations need to make lots of decisions quickly, so in order for DAOs to scale, they must be able to make voter-aligned decisions at a high frequency. To do that, we need to ensure that a DAO can focus its attention on only the most important issues, and when it focuses, quickly make decisions that are aligned with its members’ views.
This is where the GEN token comes into play. GEN is a cryptocurrency that manages attention within the DAOstack ecosystem. GEN cannot buy voting power, nor does holding it grant voting privileges, but you can use GEN to place a stake for or against a proposal. This stake influences whether or not the proposal rises into the collective attention of the voters. If you stake for proposals that the voters then pass, you’re rewarded with more GEN. If you stake for a proposal that then fails, you lose your GEN. And vice versa if you stake against a proposal.
This staking system effectively amounts to a prediction market that runs in parallel to the voting apparatus.
Since predictors are incentivized to pick out the best, most DAO-aligned proposals, we can lower the passing requirements for the top predicted proposals: these proposals can be passed much more quickly and with fewer total votes than other proposals. This creates a dynamic we call holographic consensus. Here, as in a hologram, a smaller part of the whole (a small group of voters) can be made to effectively represent the whole (all the voters), allowing DAOs to make fast decisions while maintaining value-alignment. This effect is compounded by opening the staking system to anyone, be they a voting member of the DAO or not.
Effective staking will be profitable for the staker, and so DAOstack envisions a community of active predictors, the “GEN predictors network,” that will help create holographic consensus throughout the DAOstack ecosystem.
The first question many readers will ask about GEN is: why use the GEN token? Why not use Ethereum’s native token, Ether, or some other currency already in demand? The simple answer is that we want to point the incentive structures for everyone in the DAOstack ecosystem towards the improvement of that community. Using GEN, everyone in the ecosystem, from DAOs to voters to stakers, has a vested interest in DAOs becoming more useful and effective tools, because it is primarily through the improvement and prevalence of DAOs that GEN will gain in value. If DAOstack borrowed some pre-existing currency, the incentive structure would be mixed up with whatever other uses that currency had, and DAOstack community members would tend to care less about the ecosystem’s overall success. You can learn more about GEN here.
Voting Rights — Avoiding Plutarchy
We indicated earlier that a governance system needs to be resilient to bad acting or influence. One of the ways DAOstack achieves this resilience is by allowing monetary wealth to be separated from voting rights. If this weren’t the case, and tokens could always be bought and sold freely, then we would have plutocracy, in which the wealthy few have control over the less wealthy many. (Vitalik Buterin, inventor of Ethereum, wrote about plutocracy among blockchain projects and the dangers of “coin-holder voting.”)
To create DAOs resilient to corruption, DAOstack’s first governance templates implement voting rights using a system called Reputation. Reputation is a score assigned to each user that represents that user’s voter power. Each DAO has a separate ledger of Reputation scores, and so Reputation cannot be directly transferred from peer to peer. Rather, it is distributed through the passing of proposals inside the DAO.
Indirect transfers of Reputation that cannot be completely prevented, such as a user transferring selling control of their account, are discouraged by a DAO’s ability to slash Reputation: if DAO voters find that an account has indirectly transferred its voting power, the DAO can pass a proposal to set that account’s Reputation score to zero.
The Genesis DAO
The Genesis DAO is the first DAO created using DAOstack, with a mission to advance the DAOstack project and ecosystem. Deployed in a private alpha in spring 2018, the DAO has since then been using Alchemy to collectively manage a fund and invest in proposals related to:
- Further buildout of components of the stack.
- Building new modules, like new applications or smart contracts, for the stack
- Support for and investments in organizations built on DAOstack
- Promoting and/or driving adoption of DAOstack
- Creating and/or distributing content to improve the functioning of existing DAOs (e.g. guides, onboarding materials, etc.)
While it is still in alpha testing, the final version of the Genesis DAO will also hold the ability to mint up to 40 million additional GEN tokens, cementing its place as the center of the GEN ecosystem.
Participation in the Genesis DAO is open to anyone: like all DAOstack organizations, anyone can participate in staking, but joining as a voter in Genesis is also open to all, provided you can convince the DAO to vote you in by demonstrating your commitment to the cause and competence to help. To learn more about Genesis (also called GenDAO), including how to join, start here.
The Collaborative Economy
DAOstack imagines thousands of organizations and applications utilizing the stack in the near future. And the intention is not just to serve each use case individually. It’s easy to imagine how, with a scalable solution for decentralized governance in place, decision-making can become more frictionless not only within collectives but also between collectives.
Indeed, this is the broader vision of DAOstack. The platform is designed to underpin an entire ecosystem of decentralized organizations — a community of interoperable DAOs, able to share talent, ideas, and learnings with one another. DAOs will even be able to act as members of other DAOs, creating a fluid “DAO mesh” or “internet of work” in which collectives of collectives are commonplace, and in which any given individual might participate in dozens of different DAOs.
Imagine tens or hundreds of millions of people participating in this kind of collaborative economy — one in which no one wields a disproportionate amount of power, all are rewarded in proportion to the value they contribute, and everyone is incentivized to act in alignment with the common good.
This is not only an exciting scenario; it’s arguably a necessary one. Many futurists believe that solutions to some of the world’s great challenges — climate, poverty, terrorism, nuclear risk, and so on — will be solved only through the power of decentralized collaboration on a massive scale, as well as through a widespread shift from win-lose (or “rivalrous”) economic incentive structures to win-win (or “anti-rivalrous”) ones.
(For more on the anti-rivalrous economy and DAOstack’s potential to help bring it about, we recommend this interview with DAOstack advisor Jordan Greenhall.)
The DAOstack project, at its essence, endeavors to use crypto-economics and other technologies to create moment-to-moment micro-incentives that, when multiplied across thousands of individuals and millions of moments, enable crowds to collaborate more resiliently and efficiently than any other system that has yet existed.
Learn More and Get Involved
- Follow DAOstack on Medium, Twitter, or any of the other channels you’ll find on our website.
- Interested in joining the Genesis DAO? Start here.
- Experience Alchemy, DAOstack’s first application, currently live and in use on the Ethereum mainnet.
- Part of an organization interested in creating a pilot DAO or building on DAOstack? Connect with us here.
- Developer? Check out the DAOstack Github, or jump into the stack with our friendly Hacker’s Kit.