After the popularization of mobile Internet and smartphones in the past few years, I believe that almost everyone knows what APP (short for application). In the blink of an eye, we entered the blockchain era, and a new term, DAPP (Decentralized Application), appeared.
I often see developers at the forefront of technology asking: What is a DAPP? What does dapp mean? What is dapp in crypto ? Why develop a DAPP instead of an APP?
1. What is DAPP?
A simple understanding of DAPP is D+APP. We all know that APP is a mobile client application. And DApp, English Decentralized Application acronym, translated as:Â distributed applications. Therefore, this extra “D” is “decentralized. “
The application must be completely open-source, autonomous, and no one entity controls most of the application’s tokens (Token). The application must be able to be upgraded according to market feedback and technical requirements, but the upgrade must be carried out only after the users of the application reach a consensus;
The application data must be encrypted and stored on the public blockchain; The application must have a token mechanism (you can use an existing token or issue a new built-in token), and miners or application maintenance nodes need to be rewarded with tokens;
The generation of application tokens must be based on a standard encryption algorithm, and valuable nodes can obtain application token rewards based on this algorithm.
According to the above standards, both Bitcoin and Asch are considered DAPPs. Take Bitcoin as an example:
Bitcoin’s code is completely open-source and not under the control of a central organization. All Bitcoin transactions and other information can be found on the blockchain. Bitcoin’s token reward mechanism is determined by a built-in encryption algorithm and cannot be modified. Miners are rewarded for maintaining the security and stability of Bitcoin nodes; all changes to data on the Bitcoin blockchain must be approved by most users (consensus).
So Bitcoin is a DAPP, Asch is a DAPP, and [ CCTIME ] ( CCTime cryptocurrency newsletter ) developed based on Asch is also a DAPP.
The difference is that some DAPPs play the role of operating systems (such as Ethereum, Asch), and DAPPs with specific requirements can be quickly developed based on these platforms.
Some DAPPs (such as CCTIME) are specific applications, but they all meet the above criteria.
2. The core elements of DAPP
You can start from scratch, create a complete blockchain system yourself and develop your own applications. This is equivalent to developing a new blockchain project, which is more laborious and requires higher personal abilities.
If you are just an ordinary developer who wants to develop your own applications based on the blockchain, then choose a mature blockchain application development platform. These platforms generally provide complete interfaces and development tools. You only need to worry about business logic and its implementation. Regarding the underlying part of the blockchain, these platforms will handle it for you.
- Development Platform
Currently, the most popular development platform is Ethereum :
Ethereum is currently the world’s second-largest blockchain project after Bitcoin. It is like a distributed computer all over the world. You only need to deploy your application on Ethereum, and all Ethereum nodes can guarantee the operation of the application.
The operation of the application needs to pay a handling fee (GAS). The disadvantage is that it needs to learn a new language, Solidity.
- Consensus mechanism
The consensus mechanism determines how each node running DAPP reaches a consensus and obtains rewards. The most commonly used consensus mechanisms include POW, POS, and DPOS.
POWÂ allocates rewards based on computing resources. Currently, Bitcoin and Ethereum have adopted this mechanism (but Ethereum may be migrated to POS in the future).
Asch uses the DPOS mechanism optimized by PBFT. The core system is composed of 101 principal nodes. The principal is a trusted account elected by the community, and the 101 principals with the highest votes are responsible for producing blocks.
Accounts that do not rank in the top 101 are called candidates. When they get enough votes in the future and enter the top 101, they will become official clients.
The DAPP developed by Axi uses this consensus mechanism by default, but developers can modify and decide which consensus mechanism to use.
- Token Distribution
Generally, DAPP will have built-in tokens, but if you want more users to participate in the maintenance and use of DAPP, you need to consider how to distribute tokens to users.
At present, the most common schemes are as follows:
Mining:Â Taking Bitcoin as an example, anyone with computing resources can join Bitcoin mining and obtain new Bitcoins through mining rewards.
ICO: It can be simply understood as crowdfunding. It is completed by collecting other mature tokens on the market and converting them into the tokens in the DAPP according to a specific ratio. Ethereum is based on the ratio of 1BTC/2000ETH through ICO crowdfunding to raise a lot of Bitcoin as the starting capital. This method of distribution has been banned in the country.
Airdrop: Distribute tokens to users for free. Users who hold other tokens only need to complete a simple binding process to get tokens. The most recent case is the CCTIME airdrop. Please refer to [Â CCTIMEÂ official website] (Â CCTime cryptocurrency newsletter ) for details.
Private equity: This is the same as looking for investment. It depends on personal ability.
3. Life Cycle of DAPP
The life cycle of a DAPP is mainly divided into three parts:
- Writing a white paper
The white paper describes the technical principles, problems to be solved, and features of DAPP. Community feedback on the white paper can be added to later updates.
- Distribution of tokens
One of the token distribution mechanisms described in the previous chapter can be used.
- Develop DAPP and gradually evolve and improve
After the release of the DAPP, if the DAPP is on a path of healthy development, it can be expected that more and more users with various skills will join the community to maintain the development of the DAPP together.
At this time, the proportion of early developers in the community is getting smaller and smaller, and the development of DAPP is left to the overall operation and update of the community.
Whether it is Bitcoin or Bitcoin shares, the role of early developers has become smaller and smaller, and the decentralized community can already promote the continued development of these projects.
4. Why develop a DAPP?
At present, society’s attention to DAPP development has just begun, and it is still challenging to see popular DAPP applications on the market.
With the development of blockchain technology, the traditional C/S model may be subverted, and developers no longer need to buy cloud servers to deploy their own applications.
With the blockchain development platform, developers can easily deploy applications on the blockchain. This is an application platform based on global servers and 7*24 uninterrupted services. In addition, due to the existence of the DAPP token mechanism, developers can easily obtain value returns based on tokens.
It is believed that soon, DAPP will surpass traditional APP and play an increasingly important role in people’s social life.
Although DAPP has many advantages, its shortcomings cannot be ignored. Compared with apps, the fluency of DApps is greatly restricted due to the performance problems of the underlying public chain, and the experience is not good.
For example, Ethereum can handle more than a dozen operations per second, EOS has a few thousand operations, and Taobao has reached a million levels.
In addition, for ordinary users, there are various complicated processes to use a DApp application.
The vast majority of DApp products are still in the experimental stage. Although the blockchain brings us unlimited possibilities, there is still a long way to go before it can be implemented on the ground.