Introduction to dApps : Beginner’s Guide
DApps, fully known as Decentralised Applications are back-end codes which work on decentralised networks. They are not deployed by an individual company, but instead, they work on a peer-to-peer network. Ethereum is the best example of a DApp.
Features of DApp
To be a DApp, the application must have four features:
Open Source: DApps must be open-sourced networks and their code base must be available for the public to see them anytime. They should be governed by autonomy, i.e., all changes must be decided by the consensus of its users, and the majority vote should be executed.
Decentralised: Blockchain should be used to store all data. All records of the application’s operation should be stored on a public and decentralised blockchain. This would prevent centralisation over the network.
Incentivised: Cryptographic tokens should be used for the store of value. Miners on the blockchain must be incentivised by rewarding these tokens, which would ensure the continuation of the chain.
Protocol: These tokens must be generated through some algorithm. The application community must agree on these cryptographic algorithms. Currently, there are two protocols used by blockchains – proof of work and proof of stake. Bitcoin is using Proof of Work (PoW) currently, while its forked version, Bitcoin Cash has moved onto Proof of Stake (PoS).
Bitcoin and Ethereum as DApps
According to the definition and features, Bitcoin was the first DApp ever. It is a decentralised blockchain with Bitcoin tokens and Proof of Work Protocol. It fulfils the demand of all features. Its implemented blockchain-based solutions arose because even though there have been earlier solutions to censorship and centralisation, they were never successful. “Bitcoin is a self-sustaining public ledger that allows efficient transactions without intermediate and centralised authorities.”
However, Ethereum is considered to be the better and more-fulfilling version of DApps. It was created with not only the aim of decentralisation and incentive but time, security and scalability as well. Ethereum has its own language, Solidity where developers extensively use smart contracts to execute innovative, real-life and useful ideas.
Developers believe that Ethereum is a way to repair the design of internet. It is like a ‘decentralised app store’ where anyone can publish innumerable apps and find users or customers for its usage. Unlike common appstores these days, such as GooglePlay or Uber, which require a middleman to connect the sellers and buyers, DApps provide a direct link.
Types of DApps
Three common types of DApps exist so far. They have been classified by the Ethereum white paper and are:
Apps that manage money
In this type, users need cryptocurrency to settle contracts with each other. On Ethereum where smart contracts are most famous, one user has to pay ether to another in exchange for some service, good, information, etc to settle down the contract. To facilitate the distribution of data, the network’s distributed computer nodes are used.
Apps where money + outside information is involved
In these apps, the execution of smart contract not only requires tokens but outside information as well. The outside information is changing variable upon which the data of contract depends. For instance, if charges of a shopping app depend upon the distance between buyer and seller, and the distance is variable here, it is the outside information required to settle the contract.
To execute foreign-information based contracts, ‘oracles’ on Ethereum stays up-to-date with the outside world and to provide such extra information.
Apps that manage governance and voting
DApps usually use DAOs (Decentralised Autonomous Organisations) to manage governance and voting on the network. They aim to form truly decentralised and autonomous apps, where there is no need for a leader or team or board members. Community members can have rules in the initial on how members can vote and reach consensus amongst themselves. Rules for company funds are also released in the initial so that users know what percentage of the fund is going where. Then the DApps are let to be continued by the community members forever.
Common Development process of DApps
To produce a DApp, the following processes are being followed:
Releasing whitepaper and prototype
A whitepaper is published on the website of DApp and contains all the information describing its motto and features. It contains information on – why this DApp is necessary for the blockchain community or the world, the working of this DApp and its new or special features, and future plans or roadmap of the DApp. The whitepaper can also outline the idea for DApp development but also contains a prototype of the DApp itself.
Token sale or crowd sale
After providing enough information and attracting crowd attention, a token sale or crowd sale is required to get investors.
ICOs (Initial Coin Offerings)
ICOs are like IPOs. In IPOs, shares of the company are spread to get funds and give part ownership away. In ICOs, tokens of the DApp are spread to get fund and give ownership of the blockchain in return.
Implementation and Launch
After funds are collected, they are used to build the app and launch it in the market.