What is a Dapp? And how it will kill the Internet [or at least make it Awesome]
Blockchain and the whole Token Economy hit the banks and the whole world real hard. And I love that. What’s cool – software dev. was no different and if you are wondering what is a Dapp, how this is changing the whole internet and what the h*ll “D” is doing in front of App..
We are here to lay it out for you.
The term Dapp stands for Decentralized application on the blockchain.
In this article, we have the answers to all your Dapp questions!
- how we can use Dapps
- how users can benefit from this new technology that is meant to change the WWW
- and how can one create Dapps
Before we dig deeper into Dapps – let’s start with the basics.
It will be quick, I promise 😉
What is blockchain?
Before you continue – to understand Dapps – you must understand what is blockchain and how it functions.
A blockchain is a growing list of records, called blocks, which are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data.By design, a blockchain is resistant to modification of the data. It is an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.
What is a Dapp?
The concept is still in its infancy stage so there might not be one definition of what is a Dapp. That being said all Dapps have some common features that characterize them and these are;
- Open Source. Ideally, it should be governed by autonomy and all changes must be decided by the consensus, or a majority, of its users. Its code base should be available for scrutiny.
- Decentralized. All records of the application’s operation must be stored on a public and decentralized blockchain to avoid pitfalls of centralization.
- Incentivized. Validators of the blockchain should be incentivized by rewarding them accordingly with cryptographic tokens.
- Protocol. The application community must agree on a cryptographic algorithm to show proof of value. For example, Bitcoin uses Proof of Work (PoW) and Ethereum is currently using PoW with plans for a hybrid PoW/Proof of Stake (PoS) in the future.
The first example of a Dapp is, of course, Bitcoin, since it’s an open-source token that uses the blockchain. Bitcoin also generates its own tokens and all changes must be approved by the majority of users.
Watch the following video to understand furtherly what is a Dapp;
Dapps are classified based on whether they have their own blockchain or they use the blockchain of another Dapp. Based on this criteria, there are three types of Dapps;
- 1. Decentralized applications that have their own blockchain, such as Bitcoin.
- 2. Decentralized applications that use the blockchain of a type I decentralized application but are protocols and have tokens that are necessary for their function.
- 3. Decentralized applications that use the protocol of a type II decentralized application and are protocols and have tokens that are necessary for their function.
Think of Dapps as an operating system like Windows, Mac OS X, Linux, Android, iOS as a Type I classification. The programs on these systems, such as a word processor or Dropbox, would be Type II. A Type III example would then be a blogging platform that integrates Dropbox.
- Factom – A type 1 DApp that aims to validate digital assets.
- KYC-Chain – Type 2 DApp that aims to use know-your-customer (KYC) to simplify the process of identity confirmation.
- The SAFE Network – Type 3 DApp that offers decentralized data storage.
There are two common mechanism by which Dapps can establish consensus: the proof-of-work, POW, mechanism and the proof of stake, POS, mechanism.
With POW decisions about changes in a Dapp are made based on the amount of work that each stakeholder contributes to the operation of the Dapp. Mining is the mechanism for establishing consensus in regards to POW.
With POS, decisions about changes in the Dapp are made based on the percent ownership that various stakeholders have over the application. This would mean that a stakeholder owning 10% of the token carries 10% of the weight.
Both mechanisms can run parallel in order to prevent 51% attacks.
When distributing tokens, there are three common mechanisms;
- Mining is where tokens are distributed to those who contribute most work to the operation of a Dapp.
- Fundraising occurs when tokens are distributed to those who fund the initial development of the Dapp.
- The development mechanism is where tokens are generated using a predefined mechanism and are only available for the development of the Dapp.
Creating your own Dapp
To develop your own Dapp you must follow this step-by-step procedure;
- Release a white paper that describes its features, goals, the mechanism for establishing consensus, and plans for tokenization.
- Gain feedback from your community to make revisions.
- Have a date for when your community can contribute to crowd-sale.
- Distribute the tokens. This will vary depending on the mechanism that you use. Mining will require reference software, fundraising needs a digital wallet for stakeholders, and development uses a bounty system for suggestions.
Start executing your idea while still developing your plans.
Steps to create your first Dapp
These are the 11 steps to start from scratch and build your own Dapp;
Step 1: You need to install MetaMask & enable the extensions in Chrome
Step 2 : Need to install “Ganache”
Step 3 : Need to install “Truffle Framework” using NPM
Step 4 : Create reactJS application
Step 5 : Create our First SmartContract using Solidity Language
Step 6 : Deploy our contract using Truffle in Ganache Network
Step 7 : Integrate the SmartContract Logic into ReactJS program, so that you can play with front end GUI
Step 8 : Initialize IPFS Daemon, & integrate that logic in ReactJS
Step 9: Run ReactJS Application
Step 10: Ensure MetaMask & Ganache are in Sync
Step 11 : Trigger “Write” Transaction via reactJS Application & pay Gas Fee to submit the transaction via MetaMask
Finally, review the results & make sure all are wired-up successfully.
Remember: You need some programming skills and/or knowledge of Solidity – The Ethereum smart contract programming language to build an ethereum based Dapp.
Do you need to educate yourself and acquire the skillset to build Dapps?
We got this covered as well!
You can take the following online courses that will help you master your skills and build a successful Dapp;
Watch the following videos to learn how to create your own Dapps;
A quick and painless guide to creating Dapps
After spending 3 minutes of your life – you will learn how to create Dapps.
Sweet deal, huh?
Guide to become the master of Dapps
Here’s a bit longer video on how to create Dapps.
But, boy, it’s worth it!
37 minutes later, you will be the master of Dapps.
Pros and Cons of Dapps
It is not a surprise that there are advantages and some disadvantages in the use and implementation of a Dapp;
- No one controlling entity
- More secure than client/server networks
- Secure record of the entire database
- Requires the agreement of the entire network to alter written blocks
- Cannot be shut down by single outage/attack
- No downtime
- Increased trust
- Easy to facilitate payments
- Slower transaction processing times
- Blockchains become less efficient as they grow in size
- Energy costs are higher
Wrap-up on what is a Dapp
Dapps are important because they have the power to disrupt a number of industries like retail banking, insurance, financial exchange, marketplaces, and content platforms.
The blockchain adoption will render numerous practices obsolete. It may be a bold and distant conjecture, but services such as banking will be made redundant as the world learns to operate and finance itself by self-sustaining, trust-less and decentralized networks.
Large corporations hurrying to secure their place in the blockchain movement is only a testament to that.
That being said the future looks very bright and everyday adoption of Dapps has begun already.
Be prepared for mass adoption in the following years or even make it happen by implementing your own special idea into a Dapp on your desired blockchain!
Are you ready for what is coming?!
Share your thoughts and vision of the future of Dapps in the comment section below!
For more awesome blockchain posts – visit this secret chamber of blockchain wisdom.