Dapps – Ethereum decentralized apps
Decentralized applications otherwise known as dApps are one of the key reasons the Ethereum blockchain was built
What are dApps?
Traditional applications are hosted on a server and owned by the person or people that created them. If the server crashes the application doesn’t work. The owner has full control of the application, the data, and if they want to make changes they can.
Distributed apps on the other hand are hosted on the blockchain. Ethereum is the most popular blockchain hosting dApps. The fact that a dApp is running on ethereum you’ll get distributed out of the box, immutable (can’t change it), and trust via smart contracts.
How to access dApps with MetaMask
MetaMask is a browser based plugin that allows you to browse and interact with the ethereum blockchain. It is one of many ways to interact with ethereum and what I’ll use to access the example dApp.
Example of a dApp
The best way to explain what dApps are is to provide an example of one. Probably the most common is CryptoKitties, but we will use a different example
There are over 1,000 applications on State of the Dapps.
One simple example is called RoShambo also known as Paper, Rock, Scissors.
- Player 1 starts a game and chooses either paper, rock, scissors, and a random number between 1-100
- Player 2 chooses the same
- Hands are revealed and winner is chosen
- If there is a tie a random number will be generated between 1-100. The user that picked the closest number wins
- If both users selected a number the same distance from the random number a draw will be declared
The smart contract is open source and available for viewing on Etherscan.io
Is this possible without Blockchain and dApps?
Yes, you don’t need a blockchain, dApps, or ethereum to run this application.
The benefits are that you can play the game confident that you are not being cheated by the person running the game because they put the code on the blockchain
dApps are still primitive
This is a simple example of a dApp and you’ll find 1,000 more to get a feel for how complex they are.
It doesn’t take too long to realize that they are very basic and in a primitive state.
Looking back at any technology in the early days the same is true. Think about video games, web pages, even ecommerce stores.
The important thing to grasp is the possibilities dApps bring to the table and how useful they can be.
What are the benefits of dApps?
Decentralized meaning no single point of failure and no owner that can manipulate the data, application
Bringing trust where there normally isn’t trust
Efficient applications by design due to the Gas concept with ethereum. Bad design creates high cost, which forces developers to create better applications.