Since Bitcoin launched over a decade ago as a cryptocurrency-centric network, blockchain protocols are constantly being developed and iterated upon to unlock new functionalities and use cases. While cryptocurrency was the first use case applied to blockchain, now there is a whole industry of decentralized applications (dApps) that you can use for everything from finance to gaming to web browsing to collecting art.
While most dApps are built with Ethereum, all dApps are built using blockchain technology. DApps rely on blockchains to process data through distributed networks and execute transactions with smart contracts. Smart contracts are automated, self-executing agreements that make transactions between two parties seamless, quick, and automatic. They are the key element of dApp technology, and can be combined to create powerful software which can be applied across different industries.
Just like developers build applications for mobile and desktop devices, dApp developers create applications to function on specific blockchain networks. The vast majority of dApp development is on the Ethereum blockchain. As a result, the Ethereum blockchain supports the vast majority of activity across the dApp ecosystem.
Web Apps vs. Decentralized Apps
Trello, Slack, and Twitter are examples of companies that offer web applications. The usability of traditional web applications depends on two elements: the front end and the back end. Web applications use software that lives on centralized web servers, not the local operating system of any given device. Devices and servers communicate via coding messages through the HTTP protocol. For instance, when you open Twitter on your web browser, the feed on display is drawn from data held on the company’s web server.
While the internet channels huge amounts of data through massive, centralized servers, a blockchain represents hundreds or even thousands of machines that share the transactional burden over a distributed network. On the front end, decentralized apps and websites use the same technology to render a page on the internet. However, on the back end, dApps communicate with their respective blockchain networks through a “wallet,” which serves as a bridge to the blockchain ecosystem.
Wallets manage your blockchain address and the cryptographic keys necessary to identify and authenticate yourself. Instead of using the HTTP protocol to communicate with the blockchain, dApp wallets trigger smart contracts that interact with the blockchain and execute transactions. A dApp, then, is the front-end user interface that communicates with smart contracts that transact on the blockchain, at which point the distributed network of nodes that makes up the blockchain validates and confirms the dApp data. While a well-designed decentralized application user experience may not seem so different from a web app, it differs from the latter in that it lacks servers, HTTP, and censorship.
Decentralized App Criteria
Although it’s apparent that dApp architecture differs from conventional platforms, what constitutes a dApp is still being iterated upon. There are four main criteria that can define a dApp:
- A dApp is entirely open-source, with no entity owning the majority of the tokens. By way of its open-source nature, changes to the protocol must be decided through the consensus of its network users.
- A dApp’s data must be stored on a decentralized blockchain.
- A dApp needs to generate tokens that act as a proof of value.
- DApp tokens are distributed as rewards on the network.
Based on this definition, the Bitcoin blockchain classifies as a dApp given it’s adherence to all four criteria. Let’s run through the dApp criteria for Bitcoin:
- Bitcoin operates on open source code, no single entity owns the majority of bitcoin in circulation, and the Proof of Work (PoW) consensus mechanism guides governance.
- Bitcoin and all its data live on the blockchain.
- Bitcoin generates tokens that act as proof of value resulting from the mining process.
- Bitcoin distributes bitcoin cryptocurrency to miners as a mining reward.
Under this definition, many cryptocurrencies can be considered rudimentary versions of dApps, even without smart contract functionality and web interfaces. If you’re wondering how a blockchain itself can classify as a dApp, an assessment of decentralized application types offers an explanation. DApps can have their own blockchains like Bitcoin, or build atop the blockchain of another dApp (like many dApps on Ethereum do).
The Future of Decentralized Apps
Although Bitcoin can be argued to be the first dApp, Ethereum has since become the primary driver of growth in the dApp ecosystem. This is largely due to its smart contracts, tech momentum, and user base. As the decentralized finance (DeFi) market further expands use cases and adoption, the remarkable growth of the dApp landscape is accelerating. As this happens, dApps present an essential on-ramp to new audiences by deploying user interfaces that emulate conventional web applications while accessing the blockchain. In doing so, dApps are leveraging familiarity to gain new users while building blockchain into the technological fabric of our economy.
Although Ethereum continues to dominate the market, diversification is underway. Regardless of the underlying blockchain in use, it’s apparent that interest in dApps is growing fast — and the movement has only just begun. As blockchain continues to develop at a rapid pace, it’s likely that finance, gaming, online markets, and even social media will all become blockchain-incorporated dApps.