A DAO is born!

What a DAO is and how it can be used in your DAPP

Vittorio Minacori
FriendsFingers
6 min readJun 9, 2019

--

What is a DAO?

A DAO (Decentralized Autonomous Organization) can be seen as the most complex form of a Smart Contract, where the bylaws of the decentralized organization are embedded into the code of the Smart Contract, using complex token governance rules.

At today’s evolutionary stage, a DAO materializes as a Smart Contract (a piece of code) executed on top of a distributed networking and consensus technology like the Ethereum blockchain or similar blockchains.

The idea of a decentralized organization takes the concept of traditional organizations and decentralizes it. Instead of a hierarchical structure managed by a set of humans interacting in person and controlling property via the legal system, a decentralized organization involves a set of people interacting with each other according to a protocol specified in code and enforced on the blockchain.

How DAOs work

Decentralized Autonomous Organizations (DAOs) run through rules encoded as computer programs called Smart Contracts. It is an entity that lives on the internet and exists autonomously, but also heavily relies on hiring individuals to perform certain tasks that the automaton itself cannot do.

  • Tokens of Transaction: In order to exist a DAO needs some kind of internal property that is valuable in some way, and it has the ability to use that property as a mechanism for rewarding certain activities. The funding takes place directly upon creation of the organization. DAOs do not have a hierarchical structure, nor executives or management.
  • Autonomous: Once deployed the entity is independent of its creators and cannot be influenced by outside forces. DAOs are open source, thus transparent and incorruptible. A DAO’s financial transaction record and program rules are maintained on a blockchain. This approach eliminates the need to involve a bilaterally accepted trusted third party in a financial transaction.
  • Consensus: In order to withdraw or move funds from a DAO, a majority of its stakeholders (this percentage could be specified in the code of the DAO) must agree on the decision. Even if bugs are found in the code, they could not be corrected until a voting procedure has taken place and the majority of voters agreed on it, which could leave known security holes open to exploitation.
  • Proposals: Proposals are the primary way for making decisions in a DAO. To avoid people overloading the network with proposals, a DAO could require a monetary deposit to prevent people from spamming the network.
  • Voting: After submitting a proposal, voting takes place. DAOs allow people to exchange economic value with anyone in the world, like investing, money raising, lending, borrowing, without the need of an intermediary, just by trusting the code.

DAOs as Crowdfunding Vehicles

Since Smart Contracts run on top of public blockchain networks such as Ethereum, they can be programmed to collect and manage real economic value in arbitrarily large amounts referred to as ICO.

Improving the ICO model by merging in some of the benefits of DAOs, but doing so in a way that minimizes complexity and risk will be the future of Crowdfunding.

What is a DAICO?

The DAICO crowdsale model was proposed by Vitalik as a mechanism to increase the accountability of development teams regarding the promises made to their token holders.

It essentially consists of a Smart Contract that limits the amount of funds the development team is able to withdraw to a predetermined rate over time. This rate is what is referred to as the tap and can be increased by the token holders if they see that the development team requires additional resources. However, if the token holders lose confidence in the ability of the development team to fulfill its promises, they can decide to shut off the tap and initiate a refund process which allows them to redeem their tokens for the remaining unspent funds in the contract.

What’s new?

When I started thinking about FriendsFingers, here is what was the point:

make people able to crowdfund their project or idea and, at the same time, ensure investors and donors that their funds will be used as well as expected

So, what is better than a DAICO?

ERC-1363 Payable Token

First: a token is needed.
The standard for fungible tokens was ERC20.
It has been used for most of the ICOs done.
All the Ethereum wallets are compatible with this standard.
MetaMask allows you to store and manage ERC20 and use Smart Contracts simply in your browser.
But it was not possible to make an action after a transfer of ERC20 tokens (as explained in my previous article).
This ability, for instance, could be useful in a DAO to increase the vote amount after I used a token to vote.
Note that it could be done in two different transactions but people need to wait for Ethereum network to include the first transaction before make the second and, pay the GAS twice.

So I started an Ethereum Improvement Proposals to extend the ERC20 standard with new methods.
It is the ERC1363.

It defines transferAndCall and transferFromAndCall functions that will call an onTransferReceived on a ERC1363Receiver contract.
It defines approveAndCall functions that will call an onApprovalReceived on a ERC1363Spendercontract.

Shaka Token

Shaka (HAK) is the ERC20 Token issued by FriendsFingers and that will give holders rights to be active part of the platform like in a Decentralized Autonomous Organization (DAO).

It is an ERC1363 Ethereum token so, it extends the ERC20 standard.

You can actually earn free Shaka Tokens by using a faucet.

View Shaka Token on Etherscan or explore the Source Code on GitHub.

FriendsFingers DAO

Second: a DAO is needed.
I started developing it from scratch using ERC1363Payable contract and finally it is now live on Mainnet.
All is Open Source.

You can join it by visiting https://www.friendsfingers.com.

View DAO on Etherscan or explore the Source Code on GitHub.

The DAO Smart Contracts make people able to join it and stake/unstake Shaka Tokens. They can be used in authorized DAPPs to grow the DAO ecosystem.

The DAO allows to add Operators and Dapps. They can be Smart Contracts.

Each Operator will be able to add DAPP, add new members, approve them, manage their datas.
Each DAPP will be able to use tokens staked by members to perform actions.

For instance a DAPP could be a voting system and use a token for each vote a user participates in.

Everyone will be able to add a DAPP Smart Contract but it is required to extend the DAPP interface and that an Operator add the DAPP in the DAO Smart Contract.
Note that Operator could be a Smart Contract (i.e. a DAPP) that automatically adds approved DAPP after a voting session from each DAO member.

Awesome!!

What’s next?

As said, everything will be a DAPP.

  • Voting System
    DAO members will be able to vote proposal made by DAO members.
  • Crowdsale Builder (DAICO)
    DAO members will be able to create their Crowdfunding Campaigns and issue their tokens to rewards investors.
  • Token Locker
    DAO members will be able to lock their tokens in exchange for rewards.
  • Token Faucet
    DAO members will be able to earn tokens from other members Airdrop.

A DAO is born. Buidl your DAPP.

Join the DAO at https://www.friendsfingers.com and let us know what do you think about.

--

--

Vittorio Minacori
FriendsFingers

Software Engineer. Blockchain & Web3. Author of ERC-1363.