Introduction to decentralized applications ( DApps)
By Inkarias - 2019-10-28
Over the past two years, dozens of applications have adopted the Bitcoin model (and its open source code mainly) to develop a whole world of decentralized applications (DApps). Ethereum, Omni and the SAFE network are just some of these decentralized applications that use a variety of complex methods to work. Some use their own blockchain (like Ethereum for example), some use existing blockchains and issue their own crypto currencies (Omni Layer), and others operate two layers on top of an existing blockchain and emit their own coins/token (SAFE Network).Thus, the creation of DApp is one of the most common use cases of blockchains and leads to think, beyond the technical aspects, the potential of an economy without trusted third party. To better understand the potential of DApps, it is important to understand their operation and their added value.
The DApps built on top of blockchain technology open new horizons toward a new ecosystem without intermediaries in a complete decentralized manner and brings unlimited possibilities.
Introducing the term Dapp
A decentralized application, or "DApp" , is an application developed according to the standards of distributed consensus protocols, such as Bitcoin, Ethereum, EOS, Stellar, NEO or more. As a result, these applications are deployed on blockchains and shared across large global peer-to-peer networks. Unlike traditional applications running on a central, local or remote unit, the DApps are both more transparent in their operation, more robust and are completely impossible to stop or censor. The DApps aim to eliminate the intermediaries of linking, omnipresent in our modern economy, and to improve the traceability and the transparency of the collected information.
There are many different DApps, but we can distinguish 4 main features associated to DApp:
- They are open source.
- They operate autonomously, without the help of a central entity, thanks to a consensus mechanism providing proof of the value exchanged on the network. The consensus also makes it possible to decide on each application change by consulting all the nodes of the network.
- They operate on a blockchain or other public decentralized registry to make the transaction history public and accessible to everyone.
- They are designed around incentive crypto-economic models, mostly through the creation and exchange of a cryptocurrency. This cryptocurrency is generally necessary to use the services of the application, but also and particularly to reward all those contributing to the security and development of the DApp. It is this alignment of the economic interests of all users of the DApp around a cryptocurrency that allows the DApp to operate autonomously and decentralized.
How do DApps work?
There are two common and key mechanisms by which Dapps can build consensus: Proof of Work (POW) and Proof of Stake (POS).
Through the proof of work mechanism, decisions about changes in a DAPP are made according to the amount of work that each stakeholder brings to the operation of the DAPP. Bitcoin uses this approach for its operation through mining.
With the Evidence of Interest (POS) mechanism, decisions about changes in the DAPP are made based on the ownership shares that the different actors have in the application. For example, the vote of an actor who controls 10% of the coins issued by a Dapp, would have a weight of 10% (The masternodes standard features are also included in that definition of POS and can be implemented into various forms within a DApp application)
Both mechanisms can be used in parallel, as is the case with Peercoin. Such a combination allows a Dapp to operate with less power consumption (the main criticism of the "proof of work" mechanism, the mining activity consuming a lot of energy at the moment) and allows it to be more resistant to takeover type attacks via 51% (one of the main faults of the stake proving mechanism).
All the variants of POS are also included in the possibilities with DApps ( DPoS , LPoS, etc..)
There are three common mechanisms for Dapps to distribute their coins: mining, fundraising, and proof-of-service(stakes) for development.
- With the mining mechanism, the coins are distributed to those who contribute the most to the operation of a Dapp. By taking Bitcoin as an example, Bitcoins are distributed via a predetermined algorithm to minors who check transactions on the network and maintain the Bitcoin Blockchain. Each mined block (around every 10 minutes) offers a "Block Reward" (a reward) shared by the miners.
- With the Initial Coin Offering (ICO), the coins/tokens are distributed to those who finance the initial development of a DApp.
- With the staking mechanism, the tokens are generated using a predefined mechanism and are only available for the development of the DApp. For example, in addition to its fundraising mechanism, the Protocol can use a collaborative mechanism to finance its future development. In that way, a special percentage will go to development funding with this mechanism.
What is a DApp for?
The main added value of a DApp is to offer a service to its users without ever having to go through a trusted third party. The banking sector is the first targeted at the creation of Bitcoin in 2008, in a context of general distrust with Banks. Today, the desire to eliminate intermediaries has spread to other economic actors in general.
More fair, but also much more transparent, the decentralized platforms and applications connect the different users of a network willing to operate in peer-to-peer, removing not only the commission costs of the trusted third party ( which can be really expensive sometimes) but also confiscating its power to put it back in the hands of the user.
What are the different types of decentralized applications?
There are several characteristics according to which decentralized applications can be classified. Here we will classify the Dapps according to the type of Blockchain they use (some of them use external blockchain or modified versions).
The DApps can then be classified into three distinct categories:
- Type 1 DApps have their own blockchain. Bitcoin is the most famous example but Litecoin and some other altcoins are also in the same category.
- Type 2 decentralized applications use the blockchain of a type 1 DApp. Type 2 decentralized applications are special protocols that issue and use tokens necessary for their operation. The Omni protocol is an example of a type 2 decentralized application.
- Type 3 decentralized applications use the protocol of a decentralized type 2 application. Type 3 decentralized applications are unique protocols and also use tokens necessary for their function. For example, the SAFE network that uses the Omni protocol to issue "safe coins" (used to acquire distributed file storage credits) is an example of a type 3 decentralized application.
A useful analogy for a type 1 DApp would be a computer operating system (like Windows, Mac OS X, Linux) for a type 2 of Dapp a general purpose software (like a word processor, spreadsheet, ...) and for type 3, a specialized software solution (such as a mail merge tool that uses a word processor, an expense report macro that uses a spreadsheet, etc.).
Using this analogy, it can be expected that, due to the network effects and ecosystem surrounding each decentralized application, there will soon be some Type 1 Dapps, more Dapps of type 2 and many more Type 3 Dapps on the market.
Process of creation and development of a DApp
The development of decentralized applications generally takes place in three stages:
First, a white paper is published, describing the Dapp, its operation, its features and the associated roadmap (equivalent to business plan). As in the case of Bitcoin, the most common way in which a DApp takes shape is via the publication of a whitepaper that describes the protocol, its features and the details of its implementation.
Then, the initial coins are distributed. (through ICO,ITO, or any other funding mechanism to gather funds). If the DApp uses the mining mechanism to distribute its tokens (POW), a reference software is broadcast so that it can be used to start the extraction. In the case of Bitcoin, a reference software was launched, and the initial transaction block was created by its creator Satoshi Nakamoto (who initiated and mined himself the first blocks). In case of a fundraising mechanism, a portfolio-like software becomes available for those interested in the DApp and its project, so that they can start trading tokens. In case of a staking for development mechanism, a bonus system is put in place to enable the tasks to be carried out.
Finally, a distribution of the participation is put in place:
As the coins from a mining-based, fund-raising or POS mechanism are distributed to a larger number of participants in the long term, the ownership of the DApp is becoming less and less centralized and participants who previously held a majority stake in a previous point have less and less control. As a DApp matures, participants with more diverse skills are encouraged to make valuable contributions and the ownership of Dapp is further distributed to ensure a complete decentralization.
What qualifies a software application as Dapp?
The application must be fully open source, operating autonomously and without an entity controlling most of its tokens. Furthermore, its data and operating records must be stored cryptographically in a public and decentralized database.
The application must generate tokens according to a standard algorithm or set of criteria and possibly distribute some or all its tokens at the beginning of its operation. These tokens are required for the use of the DApp and any user contribution should be rewarded by a token payment used by the application.
The application may adapt its protocol in response to proposed improvements and market feedback, but all changes must be decided by consensus of the majority of its users like in a fully decentralized ecosystem.
Examples of Dapps
There are many examples of decentralized applications in various areas:1. Payment DApp: OmiseGo2. Decentralized cloud platforms: Storj, Siacoin3. Decentralized Exchange Platforms: Bancor, EtherDelta, iDex4. Predictive market platforms: Augur, Stox5. The DApp decentralized online voting: Followmyvote6. Social media platforms or entertainment: TRON, Decent, Steemit7. The games on blockchain: CryptoKitties, Etheremon and a lot more8. Crowdfunding platforms: KickICO, Weifund9. Decentralized marketplaces: OpenBazaarTo cut a long story, DApps have the potential to become self-sustaining as they enable their stakeholders to invest in the development of decentralized applications and have many different applications in our modern society. For this reason, it is conceivable that DApps to manage payments, data storage, bandwidth management and storage in the cloud may one day exceed the capitalization of multinational companies like PayPal, Mastercard, Google Drive, eBay or Amazon who are currently active in space.