Creating Your Own DAO - Step-By-Step Guide
Introduction
Decentralized Autonomous Organizations (DAOs) are one of the most exciting concepts to emerge from the cryptocurrency market. Because these organizations are run by community members rather than being controlled by a centralized body, investors have a say in the project's direction.
This article discusses the guide related to DAO in operation today, highlighting how DAO works, why investors are often interested in investing, and so on.
What is DAO?
DAO, or Decentralized Autonomous Organization, is a community-driven entity with no central authority. It is fully autonomous and transparent. Smart contracts set ground rules, enforce agreed-upon decisions and are open to public scrutiny of proposals, votes, and even the code at any time. Ultimately, DAOs are fully managed by individual members. Individual members collectively make important decisions about the project's future, including Technical Upgrades and the Allocation of Funds.
Community members typically create proposals for the future operation of the protocol and then get together to vote on each proposal. Proposals that reach a predefined level of consensus are accepted and enforced through rules instantiated in smart contracts. The familiar hierarchical structure in large companies has been replaced by collaboration. Individual members of the DAO monitor logs at some level.
Part of the elegance of this frame is in the stimulus placement. That said, it is in the individual's best interests to vote openly and only approve proposals that serve the best interests of the protocol itself. A healthy and robust protocol will see more use, resulting in more value for the tokens held by each DAO member. If the protocol succeeds, so will the token holder.
How to use DAOs?
Here are some examples of how to use DAOs.
- Charities: DAOs allow memberships and donations from people worldwide to be approved and organizations to decide how those donations are used.
- Freelance business: Another excellent example of using DAOs is to create a network of contractors willing to combine office space and software subscription funding.
- Pooled Investments: You can pool your investment capital and set up venture funds that rely on corporate backing. The refunded money can then be redistributed among his individual DAO members. DAO is very functional in many fundraising areas, and users can legally use their DAO according to the required scenarios. All you need is a DAO membership.
How do DAOs work?
Sounds great, but how does this work? How does the system guarantee trust? When a DAO is first created, its Rules are written in code in the form of smart contracts programmed to execute when specific actions occur. Everyone agrees to abide by the rules when joining the group, and if those rules are broken, their funds will be blocked, and no one will be able to use DAO.
In theory, a DAO ensures everyone follows the rules. Each DAO has a built-in treasury for storing a cache of digital currency that members can only access with the group's permission. Decisions affecting the group are collectively made during a set period.
There are three steps to creating and starting a DAO:
- Smart contract creation: DAO developers code smart contracts that define the group's rules and determine the group's purpose. The code is extensively tested during this phase, as once the DAO is started, it can only be changed by group voting.
- Funding: DAO will use expected currency cash that members must raise. This is where people join groups if they support a mission by agreeing to buy a certain amount of tokens in exchange for shares. Governance rules can also be established during this phase.
- Launch: DAO code is provided on the blockchain. From now on, changes can only be made by a collective vote of stakeholders. The original developer will no longer retain control of the project.
Everyone shares the group's risks, so everyone has a vested interest in running the group as effectively as possible. Group members also share rewards. If a group performs well, its members will receive more currency, which will appreciate within her DAO ecosystem. Those who agree also participate in the group's decision-making process. Most stakeholders must vote on and approve new proposals before being adopted.
How are DAOs different?
DAO financial transactions and rules are recorded on the blockchain. This eliminates the need to involve third parties in financial transactions and facilitates these transactions through smart contracts. The strength of DAO is smart contracts. Smart contracts represent organizational rules and contain organizational storage. The DAO is transparent and public so that no one can edit your rules without your knowledge. To date, we are used to legal entities, but DAOs can be built as general partnerships so they can work without them.
Compared with traditional enterprises, DAO has a democratized organization. First, all members of the DAO must vote to make changes, not single-party changes (depending on the corporate structure). Second, DAO funding is primarily based on crowdfunding, where tokens are issued. Third, while DAO leadership is community-based, traditional corporate leadership primarily focuses on executives, board members, and activist investors. Finally, while DAO operations are entirely transparent and global, traditional corporate operations are private, and only the organization knows what's going on, which isn't always global.
Fully Operational
A DAO requires a set of operating rules, funds such as tokens that an organization can issue to reward members for specific activities, and rules for setting operating rules. Also, most importantly, a good and secure structure allows investors to structure their organization. A potential problem with the voting system is that even if a vulnerability is found in the original code, it cannot be fixed until a majority votes. As a result, hackers can exploit code vulnerability flaws during voting.
Do DAOs work in the real world?
While the concept of DAOs sounds good in theory and works relatively well in the cryptocurrency and defi niche, it has many real-world business applications. A request is left.
For example, an algorithm might know when to increase or decrease production costs in response to demand, but how would it deal with factory explosions? Worker strikes? These exceptions undermine the effectiveness of DAOs, as AI cannot be responsible for everything. As Tusk Holdings COO Bob Greenlee wrote on TechCrunch (opens in new window), "What if the manufacturers go on strike or there's a fire? Now it's safe to order again. Sometimes it's hard to imagine a smart contract predicting better than a human manager."
DAOs also need to address fraud and security issues. Some DAOs have raised impressive sums of money just to beat the underpinnings of investors. Unfortunately, it s requires a token reboot after being hacked (it opens in a new window). The money is lost forever if a breach occurs and the money is stolen. This happened to his DAO (opens in new window), the first decentralized autonomous organization after raising $150 million on Ethereum.
So are DAOs the answer to corporate world problems? Probably not. Most people who see the feasibility of using them seem to think that combining the old with the new is the best solution. Greenlee writes that the idea might work if human employees oversaw the smart contracts system, but it can still be cumbersome. Like most concepts in the crypto world, they work well in their respective communities, but DAOs may need some work before they are adopted on a large scale.
How to create DAOs
The best way to build a DAO is by using an established platform. Applications like Moralis provide code templates you can copy and paste to set up your project quickly. Aragon is one of the most popular options for decentralized autonomous organizations. The following steps show how to create a DAO in Aragon.
First, set up your crypto wallet. You are required to pay the setup fee. Metamask is the best option for this type of transaction.
- Go to Aragon and click Create Your DAO. This will bring up a welcome page with two options: create an organization or open an existing one.
- Connect your Metamask or crypto wallet to Aragon. Always use the Ethereum mainnet if other networks are connected to the same wallet.
- Load at least 0.3 ETH into your crypto wallet. A little over 0.2 ETH is required to create a DAO.
- Click Create Organization and select a template. Whatever you choose will have little impact on DAO, except for Open Enterprise, which is the heart of dapps.
- Enter a name for your DAO.
- Now you need to configure your organization. These include minimum approval ratings, approval ratings, and voting periods. The recommended voter turnout setting is 50% in favor. This means that more than half of the token holders must agree to the proposal before passing it. However, you can customize these numbers to your liking.
- Set the DAO's native token. Create an icon with a name of your choice. The same procedure can also be used to distribute tokens to her DAO members.
- Confirm the transaction in your crypto wallet to create a DAO.
- Once your organization is online, create your first suggestion question. Token holders vote for or against issuance.
Things to consider before building a DAO
- Members of the DAO have unlimited liability.
- DAO is not a company. Therefore, they do not follow any of the legal procedures expected of a formal company. As a result, you may be taking risks other than your investment.
- DAOs face many legal challenges.
- Due to decentralization, DAOs are not recognized as legal entities, especially in the United States. As a result, they enjoy neither corporate privilege nor government protection. So, litigation within the DAO is complicated to resolve.
- DAO members are anonymous.
- The decentralized, autonomous organizational structure allows employees to hide their identities. KYC suddenly becomes a luxury. I don't know anything about the people I work with other than their wallet addresses.
DAO structure
Each DAO has a different structure, but you generally agree to the applicable code when you join a DAO. Changing this code is not trivial, and changes usually require a vote among members. As a result, DAOs are "very participatory," said Aaron Wright, co-founder and CEO of OpenLaw, a blockchain-based protocol for creating and enforcing legal agreements. Wright collects NFTs and has helped launch several DAOs, including the FlamingoDAO.
"You don't have to wait for a quorum or enough people to decide. It works like the internet according to rough consensus," Wright explains. "As more people back the project, decisions will be made."
Voting rights or membership in a DAO is typically obtained by purchasing a governance token, a cryptocurrency tied to a particular project. In some DAOs, governance tokens can only be purchased in structured funding rounds, and demand may exceed the number of available tokens. By holding these tokens, members typically own equity in the DAO and help shape the future of the DAO.
Although it varies from DAO to DAO, the weight of a member's vote usually depends on how much money they have contributed to the project. Suppose the DAO does not use governance tokens. In that case, he will accept other forms of investment, such as Ether, the second largest cryptocurrency by market value, as the Ethereum blockchain underpins most of his DAOs. Of course, you can, explains Wright. But again, each DAO has its system. In addition to voting rights, members can also work for the DAO. They typically have many internal roles, such as token distribution and financial management positions. "Working for property means working for tokens," says Turley.
For example, he has primarily been rewarded with governance tokens for his work on his DAO but also receives Ether and his USDC.
What are the advantages of DAOs?
DAOs are built so that participants do not have to "trust" each other. They can be strangers. This is because the participant either fulfills the obligations outlined in the Smart contract or does not. Contract terms and actions taken by participants are written into code on the blockchain, making the information public and permanent. A distrust of centralized human control is baked into the thinking behind DAOs. "No CEO can approve spending on their whim," says the Ethereum FAQ.
There is this idea that people cheat in a vacuum, not because they are wrong, but because they act within organizations that give them power that can be abused. They may act against the organization's best interests because of greed, prejudice, the pursuit of fame, or hundreds of other mistakes. and sign their expense reports) or openly (when the CEO decides to host false information on the company's social networks). In theory, a DAO's decision-making authority is distributed across all participants and automated to minimize the need for day-to-day administration.
What are the drawbacks of DAOs?
Despite their names, DAOs in existence today are neither fully decentralized nor purely democratic. They still rely somewhat on the group of people who originally founded the DAO and the participants who trust their goals and general terms. This group also needs to be trusted to choose a suitable governance model. In some models, regardless of the amount, each participant who contributes cryptocurrency receives a single token representing their vote on future DAO decisions. But in some of her DAOs, it may be unfair that participants who donate large amounts of cryptocurrency are given the same say in important matters as those who donate more small amounts. DAO is still early. These organizations and the technologies underpinning them are promising enough to be watched closely as they mature, improve, and discover new use cases.
Why Invest in DAO Crypto Projects?
DAO projects have received much mainstream media attention, and well-known media outlets such as The New York Times have published articles about these companies. In addition, the dramatic rise in the popularity of DAOs made them a natural target for speculative investors. With that in mind, here are 3 of the main reasons why people choose to invest in the best DAO crypto projects.
Impact on governance
As expected, the main reason people invest in these projects is to have a tangible impact on their governance. This cannot be achieved in a centralized project as fixed development teams control them. The community can continue to provide feedback, but there is no guarantee that it will be considered. This is not the case with DAOs. Community members can submit suggestions at any time and put those suggestions to a vote. A rejected proposal is usually considered a good thing, as it reveals that most community members do not want the change to be discussed.
Fully decentralized
Like the best DeFi exchanges, DAOs are fully decentralized and typically work using smart contracts. These smart contracts eliminate intermediaries and allow tasks to be completed automatically. Decentralization has many benefits, including Transparency that dramatically reduces (or eliminates) the risk of fraud. Also, the integrity of the DAO is preserved because it is not subject to government influence. Much like open-source cryptography.
Access to the DeFi sector
Finally, most DAOs operate within the DeFi sector, offering a wealth of revenue-generating opportunities. According to Yahoo Finance, the DeFi market is set to surpass the $100 billion valuation in February 2022, representing a 47% year-on-year growth. The trend seems unstoppable as more and more investors are fed up with the low interest-rate options offered by traditional banking institutions.
Token exchanges, staking, and liquidity pools are just a few of his DAO's services in the DeFi sector, with more being added regularly. This makes DAOs an attractive investment opportunity as more investors are likely to move their capital into this market area.
Example of DAO
You could start a DAO to raise money for a charity or an investment company where all members donate money to a company or project in exchange for shares. Each participating member can pay a certain amount of cryptocurrency, which determines the number of tokens the participant can receive from her DAO. Deposits and withdrawals can be made according to the schedule described in the smart contract.
Bitcoin, the popular cryptocurrency, can be considered his DAO. People enter into contracts to buy or sell cryptocurrencies according to a set of terms. All are tracked on the Bitcoin blockchain. Most DAOs in existence today run on the second largest blockchain, the Ethereum network. Ethereum defines a DAO as "an internet-native entity collectively owned and managed by its members. It has a built-in vault that no one can access without group approval. Decisions are made through proposals and voting. In other words, the participants should control the DAO, not the central controller, and authorize all financial transfers into and out of the DAO's coffers.
For example, in November, a group of cryptocurrency enthusiasts formed a DAO called ConstitutionDAO to raise funds to purchase one of the 13 first editions of the US Constitution. The group failed to win any of the constitutions Sotheby's auctioned, but he was soon able to raise $47 million for the cause.
Another of his DAO, LinksDAO, raises money to buy and develop its own crowdfunded golf course. The group sold club memberships in the form of non-fungible tokens (NFTs), raising over $10.5 million, and is currently sold out. NFT owners receive an interest in the club and the right to participate in decisions regarding golf club development.
Some DAOs to check out
DAOhaus: DAOhaus is a no-code platform for getting DAO up and running. Municipally owned and operated. Look no further if you're interested in starting your own DAO or exploring vibrant landscapes.
MakerDAO: If you want to contribute to the protocol that launched the world's first fair stablecoin, DAI, you can participate in governance by voting on changes to the Maker Protocol.
RaidGuild: This service-based DAO originates from the MetaCartel network and is deeply rooted in the Web3 world. If you'd like to bring your developer, marketing, or design skills to the Guild, the Guild is looking for great talent to keep defeating the product demons.
Proof of Humanity: This Sybil-resistant human registry uses social verification and Kleros courts to distribute Universal Basic Income (UBI) tokens to verified humans on-chain. If you want to join the judicial revolution, start with this democratic DAO.
Opolis: This member-owned digital employment cooperative provides benefits and shared services to independent workers. If you're passionate about the future of work and want to help shape it, join us here.
BanklessDAO: Interested in spreading the word Web3 and educating the masses through content? You might be interested in this media-centric DAO.
MolochDAO: This OG DAO provides grants to develop the Ethereum ecosystem. Please complete this application if you would like to contribute to this group by becoming an elite member.
We are going to use Open Zeppelin to make an on-chain governance DAO. We will look into the compatibility, composition, and methods of the governance contract(s).
Compatibility of a Governance DAO
- ERC20Votes & ERC20VotesComp - These keep track of votes and vote delegation.
- Governor & GovernorCompatibilityBravo - Though the Governor shares all of the same events, some functions are different or missing. Governor contract is by default not interface-compatible with GovernorAlpha or Bravo. Opting into full compatibility is possible by inheriting from the GovernorCompatibilityBravo module.
- GovernorTimelockControl & GovernorTimelockCompound - When using a timelock with your Governor contract, you can use either OpenZeppelin’s TimelockController or Compound’s Timelock.
- Tally - Tally is a full-fledged application for user-owned on-chain governance. It comprises a voting dashboard, proposal creation wizard, real-time research and analysis, and educational content.
Composition of a Governance DAO
Token
An ERC20 token will determine the voting power of each account in our governance setup. The token has to implement the ERC20Votes extension. This extension will keep track of historical balances so that voting power is retrieved from past snapshots rather than the current balance, important protection that prevents double voting.
If your project already has a live token that does not include ERC20Votes and is not upgradeable, you can wrap it in a governance token using ERC20Wrapper. This will allow token holders to participate in governance by wrapping their tokens 1-to-1.
Governor
Initially, we will build a Governor without a timelock. The Governor contract gives the core logic, but we still need to choose:
- How voting power is determined,
- How many votes are needed for a quorum,
- What options people have when casting a vote and how those votes are counted, and
- What type of token should be used to vote. Each of these aspects is customizable by writing your module or choosing one from OpenZeppelin Contracts more easily.
For 1) we will use the GovernorVotes module, which hooks to an IVotes instance to determine the voting power of an account based on the token balance they hold when a proposal becomes active. This module requires as a constructor parameter the address of the token.
For 2), we will use GovernorVotesQuorumFraction, which works together with ERC20Votes to define a quorum as a percentage of the total supply at the block a proposal's voting power is retrieved. This requires a constructor parameter to set the percentage. Most Governors nowadays use 4%, so we will initialize the module with parameter 4 (this indicates the percentage resulting in 4%).
For 3), we will use GovernorCountingSimple, a module that offers three options to voters: For, Against, and Abstain, and where only For and Abstain votes are counted towards quorum.
Besides these modules, Governor itself has some parameters we must set.
VotingDelay: How long after a proposal is created should voting power be fixed? A considerable voting delay gives users time to unstake tokens if necessary.
VotingPeriod: How long does a proposal remain open to votes?
These parameters are specified in the number of blocks. Assuming block time of around 13.14 seconds, we will set votingDelay = 1 day = 6570 blocks, and voting period = 1 week = 45992 blocks.
We can optionally set a proposal threshold as well. This restricts proposal creation to accounts that have enough voting power.
The Governor contract is available at: https://docs.openzeppelin.com/contracts/4.x/governance
- Timelock
It is good practice to add a timelock to governance decisions. This allows users to exit the system if they disagree with a decision before it is executed. We will use OpenZeppelin’s TimelockController in combination with the GovernorTimelockControl module.
TimelockController uses an AccessControl setup that we need to understand to set up roles.
- The Proposer role is in charge of queueing operations: this is the role the Governor instance should be granted, and it should likely be the only proposer in the system.
- The Executor role is in charge of executing already available operations: we can assign this role to the unique zero address to allow anyone to execute (if operations can be particularly time sensitive, the Governor should be made Executor instead).
- Lastly, there is the Admin role, which can grant and revoke the two previous roles: this is an empathetic role that will be granted automatically to both the deployer and timelock itself but should be renounced by the deployer after setup.
Proposal Lifecycle / Method
Let’s walk through how to create and execute a proposal on our newly deployed Governor.
A proposal is a sequence of actions the Governor's contract will perform if it passes. Each action consists of a target address, call data encoding a function call, and an amount of ETH to include. Additionally, a proposal includes a human-readable description.
- Create a Proposal
Let's say we want to create a proposal to give a team a grant in the form of ERC20 tokens from the governance treasury. This proposal will consist of a single action where the target is the ERC20 token, call data is the encoded function call transfer(
Generally, a proposal will be created with the help of an interface such as Tally or Defender. Here we will show how to create the proposal using Ethers.js.
First, we get all the parameters necessary for the proposed action.
const token address = ...;
const token = await ethers.getContractAt(‘ERC20’, tokenAddress);
const teamAddress = ...;
const grantAmount = ...;
const transferCalldata = token.interface.encodeFunctionData(‘transfer’, [teamAddress, grantAmount]);
Now we are ready to call the propose function of the Governor. Note that we don't pass in one array of actions but instead three arrays corresponding to the list of targets, the list of values, and the list of calldatas. In this case, it's a single action, so it's simple:
await Governor. propose(
[tokenAddress],
[0],
[transferCalldata],
“Proposal #1: Give grant to team”,
);
This will create a new proposal, with a proposal id that is obtained by hashing together the proposal data and which will also be found in an event in the transaction logs.
- Cast a Vote
Once a proposal is active, delegates can cast their vote. Note that it is delegated who carries voting power. If a token holder wants to participate, they can set a trusted representative as their delegate or become a delegate themselves by self-delegating their voting power.
Votes are cast by interacting with the Governor contract through the castVote family of functions. Voters would generally invoke this from a governance UI such as Tally.
- Execute the Proposal
Once the voting period is over if a quorum is reached (enough voting power participated) and the majority votes in favor, the proposal is considered successful and can proceed to be executed. This can also be done in Tally in a project's "Administration Panel" section.
We will now see how to do this manually using Ethers.js.
If a timelock is set up, queueing is the first step to execution. You will notice that both the queue and execute functions require passing in the entire proposal parameters instead of just the proposal id. This is necessary because this data is not stored on-chain as a measure to save gas. Note that these parameters can always be found in the events emitted by the contract. The only parameter not sent in its entirety is the description since it is only needed in its hashed form to compute the proposal id.
To queue, we call the queue function:
const descriptionHash = ethers.utils.id(“Proposal #1: Give grant to team”);
await Governor.queue(
[tokenAddress],
[0],
[transferCalldata],
descriptionHash,
);
This will cause the Governor to interact with the timelock contract and queue the actions for execution after the required delay.
After enough time has passed (according to the timelock parameters), the proposal can be executed. If there is no timelock to begin with, this step can be run immediately after the proposal succeeds.
await Governor.execute(
[tokenAddress],
[0],
[transferCalldata],
descriptionHash,
);
Executing the proposal will transfer the ERC20 tokens to the chosen recipient. To wrap up, we set up a system where a treasury is controlled by the collective decision of the project's token holders, and all actions are executed via proposals enforced by on-chain votes.
If you're interested in this space and looking for ways to contribute as I do, join now. Reveation Labs is just right.
Conclusion
Now that you know how to create a DAO, it's time to bring your idea to life. At a fundamental level, DAOs help us connect with the world and like-minded people. It was built financially but has become more of a community. Many DAOs are formed for charitable and non-commercial purposes, such as Big Green. We are confident there will be more and look forward to DAO meeting the challenges.
Comments
Post a Comment