A decentralized autonomous organization(DAO) is an entity with no central leadership. Decisions get made from the bottom-up, governed by a community organized around a specific set of rules enforced on a blockchain. DAOs are internet-native organizations collectively owned and managed by their members. They have built-in treasuries that are only accessible with the approval of their members. Decisions are made via proposals the group votes on during a specified period.
A DAO works without hierarchical management and can have a large number of purposes.
Why?
The internet was the enabler of large-scale human coordination. DAO tools — built on web3 — now give us the ability to design and manage incentives to maintain positive-sum relationships between stakeholders, keeping them aligned on shared goals as the product or community grows.
A DAO is usually implemented using blockchain smart contracts:
organization is managed by a defined group
blockchain and smart contracts is a trustless execution layer where rules and decisions are recorded
decisions are usually made by voting.
Goals of DAO:
specifying and guaranteeing a decision process
governance
fund management: DAO can make decision on fund distribution.
dapp management: one smart contract can manage another smart contract.
Project Overview
We are going to implement a DAO, where the members are defined either by:
ASA holding(1 ASA = 1 voting power) — each token holder is a DAO member and can participate equally in the governance.
Council — a set of users set in a smart contract. The defined set of users can vote for extending or shrinking the initial set.
ASA holding + Council — a combination of the two basic strategies above, where we can define a special groups with extra policies.
The project will be implemented in multiple stages with new governance features and UI.
Version 1.
THIS IS A BETA SOFTWARE
In the first version we will create a simple DAO template with the following functions:
DAO membership is defined by ASA holding(mechanism 1. from the Project Overview section) with equal rights.
Each member can make a proposal. A proposal can be either:
ALGO transfer from a specific account(defined in the DAO app).
ASA transfer form the DAO.
Recording an arbitrary message(decision) - execution of that proposal is supposed to be handled off-chain.
NOTE: in the future we will add support for inner transactions.
All members can vote for a proposals. There are 4 vote options:
yes — vote to support the proposal
abstain — an“empty” vote
no — vote against the proposal
Anyone(not only a member) can execute a proposal.
Each user will vote by delegating his tokens. We define a power vote as a number equal to the tokens deposited and used by a user to vote. For example, if Alice will have 10 DAO gov tokens and will delegate 6 to vote yes for a proposal, then the proposal will receive 6 yes power votes.
Design requirements
The design should support millions of propoals and voters.
Why?
Goals of DAO:
Project Overview
Version 1.
Setup