What Is A Decentralized Application?
A decentralized application (DApp) is an app that works in a peer-to-peer network and is managed by all network participants (nodes). All nodes are equal and interact directly.
The concept of DApp is clear when compared to a traditional centralized app. A centralized app is any application (program, software) with data located on a server and managed by a certain owner company. Clients using this program provide their data to a server, and if something goes wrong with the server, it will affect the work of the app. This model implies a trust a user has to put in a company, which is not justified. A server can be hacked, or a company itself can use personal data of its users for its own purposes.
How and where you can use the DApps
DApp data is not stored centralized, as there is no such thing as a central major server. Information is stored in an encrypted form and is shared among users. Each network member is both a server and a user, while the app and its management is a collective responsibility.
Essential DApp attributes
The app code should be available to all network members so that they can make sure what program they are launching. It may seem that any participant can change the code, but this is impossible because of imposed restrictions.
Payment with cryptocurrency
Any app gives a user access to resources, for example, to data storage. This resource requires payment for the network maintenance. The payment is carried out in cryptocurrency — ether in particular if the application is based on the Ethereum platform. Ether is also used as a reward to participants for providing computing power for the application.
Blockchain as a guarantee of trust
In order to avoid trust issues, the use of DApps has to be as transparent as possible. Transparency is ensured through blockchain, a decentralized data register, in which all operations among the users are open. Only confirmed transactions are recorded in blockchain, and all users can see the time and amount of ethers transferred while the network participants remain anonymous.
Centralized vs. Decentralized Applications
Advantages of DApps:
- High speed, which is not limited by a server channel capacity. Users interact directly, without intermediaries, and therefore much faster.
- Absence of censorship that is thanks to decentralization. No central node – no regulatory control, except for the limitations of the app itself.
- Privacy, which is ensured by a distributed storage and data encryption. Nobody can access user data, despite the fact that this information is stored on other people's devices.
- High performance of decentralized software with the overall saving of resources. Each app has hundreds of devices – members of the Ethereum network – working for it. At the same time, users are paid for providing computing capacities.
- Low vulnerability since only an attack on the vast majority of nodes can stop the network operation. If a small number of users quit the network, it will not cause a loss of data and/or access to the program, as in the case of one main server that can be DDoS attacked.