- The application must be completely open-source, it must operate autonomously, with no entity controlling the majority of its tokens, and its data and records of operation must be cryptographically stored in a public, decentralized block chain.
- The application must generate tokens according to a standard algorithm or set of criteria and possibly distribute some or all of its tokens at the beginning of its operation. These tokens must be necessary for the use of the application and any contribution from users should be rewarded by payment in the application's tokens.
- The application may adapt its protocol in response to proposed improvements and market feedback but all changes must be decided by majority consensus of its users.
Token issuance is typically done by a non-profit which manages the development of the code. This non-profit will never receive financial benefits from the software and may have the following responsibilities:
- Issuance of initial tokens
- Holding of developer tokens
- Managing bounty payments
- Setting the direction of the project to be developed
There are no other legal entities required. Owners of tokens do not need to be represented by a corporation. A contributor to the development of the project does not require any specific legal entity either.
The non-profit can make decisions fully decentralized allowing a “proof of stake” voting mechanism to determine any decision.
Tokens are issued according to the white paper that coordinates the founders thoughts and incorporates community input.
There are several categories for which tokens may being issued:
- Kickstarter (Crowdsale): An initial one-time sale of tokens is a common way to initially fund a DApp. The money raised will be set aside into the foundation which will use that to develop the project.
- Developer Pool: A portion of the tokens can be set aside for developers working on the project. As the market sets a valuation for the project, the developer pool will gain it’s value and can attract contributors to the project.
- Premine: It is best to avoid premining a token. Communities dislike this methology. If a premine is done it is recommended to have a meaningful reason.
- User Behavior (Mining): User Behavior distribution of tokens incentivizes nodes to contribute resources to the DApp. In Bitcoin, there is a block reward every ten minutes. This incentives contributors to provide hashing power to the DApp. In the same way, DApps need to determine how to incentivize the network to contribute the required resource. This is the most important portion of the token distribution. Overtime hashing power will be fully rewarded with transaction fees on Bitcoin however to scale to that the block reward provides the incentive.
The tokens purpose is to allow access to a computer system. For example, an individual must own some amount of bitcoins in order to have any transaction on Bitcoin. The bitcoins allowed the individual to use a computer system. The value of using this system may change overtime yet lack the underlying features of an equity security.
There is no underlying assets that can be represented by the tokens, there aren’t dividends and no equity in anything is owned by having a token.
Developing a DApp has the following steps:
- Create a whitepaper: The paper can outline:
- Intentions of the project
- Coin distribution plans
- Consensus mechanisms
- Non-profit management control plan
- Plans for managing developer bounties
- Technical description of the project
- Gain Community Engagement: Release the plan to the community and revising based on feedback.
- Kickstarter (Crowsale): Sell the initial tokens based on the plan in the whitepaper. Setting a date where anyone can contribute to the project. At this time establishing a non-profit would be suggested.
- Begin Executing Plan: The non-profit will plan development
How is this a profitable business model?
The model allows contributors to get involved with the project as purchaser of tokens, a project contributor or providing resources to the network for user behavior rewards. All of these user groups can earn benefit as the tokens can be exchanged. If the value of the token increases all parties are rewarded.
What is a User Behavior reward?
A User Behavior reward is given to contributors that provide utility to the network. The whitepaper will outline what utility needs to contributed. For example, hashing power on Bitcoin is rewarded. Determining what to reward involves having a proof mechanism for guaranteeing the behavior. For a decentralized data storage project, proof of storage may be a good solution.