The ICO-based projects of today are generally proposed, driven and built by a group of people who come up with the idea and the corresponding token utility for the project. There is not much that the community can do or contribute apart from funding (investing in) the project by participating in the ICO and purchasing the tokens. Also, once the funds are raised, the teams raising the funds are in full control of expenditure, delivery, and timelines for the project.
What if the process was more transparent and community driven? What if the expenditure and delivery were not in control of a single entity or organization?
To achieve this, we can combine two of the common frameworks in the crypto world. These frameworks are Token Curated Registries (TCRs) and Multi-Signature wallets (multi-sig).
Token Curated Registries
A Token Curated Registry is basically a list of items, governed by a group of interested people. To have a say in adding/deleting items from this list, you need something of value which is represented by a crypto token. Token Curated Registries are a great tool to enable community-driven curation.
Multi-Signature wallets (multi-sig) are crypto wallets which are governed by multiple parties. Every transaction must be approved or signed by more than the defined threshold before it can be executed.
Token Curated Crowdfunding Process
Let’s imagine a community-driven, decentralized Y Combinator. Let’s represent it as a customized TCR. This decentralized Y Combinator will have its own token. Let’s call this token
DYT (Decentralized Y Combinator token).
Based on this custom TCR representing a decentralized Y Combinator, here’s a simple workflow to bootstrap a Token Curated DAO.
A community member comes up with an idea about a cool project which can help the society. They submit this idea as a project in this decentralized Y Combinator TCR. (PROPOSE)
As soon as the idea is proposed, it is challenged by default. This is because we don’t want a single person deciding whether an idea should be challenged or not. Think of it as the review questions in the real Y Combinator applications.
The voting starts at this stage. Voting is bound by a time limit.
The idea reaches either an accepted or rejected state after the voting completes.
If the idea is rejected, the winning voters (people who voted against the idea) are rewarded. The process completes.
- Result: Bootstrap failed as the idea was rejected by the community.
If the idea is accepted, the workflow continues with the following steps,
- The winning voters get to choose whether they would want their rewards back or if they would like to contribute towards building the project.
- Based on the contributions from the winning side, an ICO/Crowdfunding is created with a new token for the project (
NPT, new project token). The value of this token is derived from the amount of
DYTcontributed by winning voters.
- The winning voters get an amount of
NPTproportional to their contribution in
DYTduring the ideation process.
- Once the ICO for
NPTgoes live, it is governed by the proposer along with top X voters whose votes on the idea had the most stake. Here X is a number (top 5 or top 10, etc). The idea is that the funds raised by selling
NPTin the ICO, will be governed by the top backers of the idea and not just by the proposer. This brings in the DAO concept in the process.
- The ICO can then carry on just like any other ICO, governed by a multi-sig wallet. The participants of this multi-sig wallet are the top X voters defined in the previous step.
The implementation can be done using smart-contracts on the Ethereum network. The implementation will have the following smart-contracts,
Customized TCR with ability to deploy a new contracts when an entry is whitelisted. As soon as an entry (idea) is whitelisted in the TCR, new smart contracts will be deployed for token sale. A simple addition to the generic TCR implementation will be needed to enable deployment of new contracts from it. This can be done by following the factory pattern.
Crowdfunding and token sale contracts. In addition, we will need a multi-sig wallet contract to govern the withdrawal of funds raised using the token sale contract. Smart contracts for crowdfunding, token generation and multi-sig wallets are available as verified and reviewed standard contracts from several open-source projects.
Reference smart-contract implementations
Following are the open-source implementation of the smart-contracts needed for this implementation. These contacts, with some modifications, can be put together to implement this community-driven crowdfunding process.
- Token generation - Open zeppelin implementation of Standard ERC20 token
- Crowdsale - Open zeppelin implementation of crowdsale for ERC20 token
- Token Curated Registry - Generic TCR implementation from adChain team
- Multi-sig wallet - Gnosis multi-sig wallet implementation