With the rising interest in the capabilities of blockchain technology beyond cryptocurrency, decentralized networks like Ethereum are working harder than ever to create applications in line with the original spirit of cryptocurrencies that made the technology a household term. These decentralized applications, known as dApps, are becoming increasingly powerful and attractive to users within a digital landscape fraught with controversy over privacy, security and ownership. While you may have only just heard of dApps, they have been in existence for some time now, providing users with unique benefits (at the cost of a few drawbacks) that their traditional, more mainstream look-alikes cannot yet offer. But what exactly is a dApp? What are their unique benefits, and how exactly do they work?
What is a dApp?
A dApp is an open-source application whose backend is powered by a decentralized, peer-to-peer network. In this article, we will focus on the decentralized applications built on top of the Ethereum blockchain and how that platform makes use of a technology known as smart contracts to provide a host of unique features across use-cases.
How a dApp Works
Smart Contracts
dApps on the Ethereum Blockchain are created using a technology called smart contracts. These are programs that operate similar to real-world contracts but differ in a few key aspects. The most important of these differences is the fact that smart contracts purely code, and do not require a third-party to adjudicate the contract. They are also, once put in place, fully automated and completely immutable. This is because, at their core, smart contracts are mere if/then statements that are executed as soon as set pre-conditions are fulfilled. For example, if you rent out your apartment to someone, you can set the terms of your agreement into a smart contract that will execute itself automatically — like ensuring the tenant has access to the apartment if they’ve paid their rent — and leaves no wiggle room for you, nor the tenant, to misbehave (as long as the terms are set intelligently, of course) and protects both parties from each other. This takes trust out of the equation completely.
Open Source
Decentralized apps are also completely open-source, meaning that you do not have to take clever sales copy or assurances by a third-party as to their true functioning; everything the app does is laid out in the code for anyone and everyone to see. It also means that anybody can tweak it and make adjustments to it or use it as the code base for their own creation. Using the landlord-tenant example above, this would be like an open-source AirBnB that anybody could inspect or improve upon.
Only Backend Differs; Frontend is the Same
One of the important differences is a subtle one: to the end-user, a decentralized app may look just like any other traditional, centralized app they’re accustomed to. This is because it is only the backend, where the app’s data is stored, that is different. The front end can be coded in a common language like JavaScript and then plugged straight into the blockchain using the blockchain’s programming language (in the case of Ethereum, this would be Solidity. This way, the dApp provides the unique benefits that accompany blockchain technology (privacy, security, transparency) across a variety of use-cases: gaming, finance apps, utilities and e-commerce can all benefit from decentralization and indeed have.
Pros and Cons of a dApp
Increased Security
Because a decentralized app stores all of its data on the blockchain, once it has been validated by the network the data is both immutable and secure. Even the creator of the dApp itself cannot tamper with any of the data once it has been added to the blockchain. This includes financial transactions carried out by the smart contracts as well as user data or anything else. The way numerous blockchains disincentivize cyber-attacks through a Proof of Work or Proof of Stake protocol, the data of dApp is shielded by the same high-level cryptography.
Decentralized Authority
Because of their reliance on smart contracts, dApps do not require an administrative entity to ensure their function or serve as custodians of sensitive data. This also means that your data is never stored on a centralized server that can serve as a vector of attack. Because of the way a decentralized network operates, data is distributed across a multitude of “nodes” or individual client computers that contribute computing power to the network. This way, even if one node is attacked and compromised, the network remains fully secure because network configurations and all data are secured on the blockchain across all devices rather than one singular location. This also means a company can’t sell or mishandle your data — because smart contracts, not human administrators, are the ones in control of your data.
Perpetual Availability
A decentralized network is also more fault-proof than a centralized server because only an event of cataclysmic proportions could take a network the size of Bitcoin’s or Ethereum’s completely offline at once. As long as even a single node in the network is working, the decentralized network the powers a dApp remains available — performance will, of course, the immensely downgraded, but the network will continue to exist. This means that in the context of applications like gaming or other apps, there is no downtime for server maintenance or update rollouts.
Hard to Scale
One of the salient drawbacks of a decentralized network is that they are harder to scale for application use. While centralized servers under the purview of a singular authority can be easily expanded for specific use-cases, like in anticipation of increased workload, a decentralized network’s computing power not only fluctuates with the number and strength of nodes contributing to it, it also cannot be easily added to in a meaningful way by a single entity. This can make it hard for developers to predict network capabilities and prepare accordingly.
Frequently User-Unfriendly
As dApps have become more popular alongside cryptocurrency, so has the frequency with which mainstream users how to grapple with the unique security responsibilities that accompany a decentralized network. As with cryptocurrencies like Bitcoin, Ethereum, or Cardano, the blockchain is secure; you are not. Safeguarding your currencies and tokens requires a careful understanding of the constituent systems that many mainstream users are yet unfamiliar with. This prevents many from being able to comfortably rely on dApps for everyday use.
For now at least.
Got more dApp questions? Feel free to shoot ’em at us down below! We’re all ears.