What is a dApp?
When Satoshi Nakamato invented Bitcoin, he/she/they presented it as an electronic payment system that obviated the need for banks, financial institutions and other centralized brokers.
However, blockchain, the innovative technology that underlies Bitcoin and other cryptocurrencies, has the potential for much more than the store and exchange of money. Soon, developers wanted to use blockchain to create all sorts of decentralized applications, also referred to as dApps.
In 2015, Ethereum made its debut. Ethereum’s blockchain was designed to better support dApps, earning the title of, "the world computer." Since then, more than a thousand dApps have been created on the Ethereum blockchain.
Here’s what makes dApps significant.
The problem with centralized applications
Traditional centralized online applications rely on the client/server architecture. A server or cluster of servers store critical data and perform critical functions. Even if those servers are located in different geographical locations, a single organization or company controls them.
An example of a centralized application is Facebook. The application has billions of users across the world, but they are all under the control of a single company, in which one person (CEO Mark Zuckerberg) has an unproportionate amount of control.
The Facebook community has to place their trust in the company and its executives "not turning evil" and making the right decisions. But as we’ve seen in the past, for-profit companies tend to prioritize their bottom line above the benefit and wellbeing of their users.
Centralized models are also attractive targets for hackers because they store large volumes of valuable user data in one place. In recent years, many companies have fallen victim to data breaches and given away sensitive customer information to cybercriminals.
How do dApps work?
dApps are applications that run on the blockchain. The blockchain is a distributed database which stores information on numerous computers instead of a single server. The nodes that store the blockchain are independent and must reach consensus before updating the database. No single node can unilaterally change the information stored in the blockchain without obtaining the consent of others.
One of the main building blocks of dApps is the smart contract, software code that runs on the blockchain. Instead of being run on a server, smart contracts are executed by the same computers that store and update the blockchain. Smart contracts enable developers to tie transactions of digital assets to specific conditions. For instance, a smart contract can predicate the completion of a cryptocurrency transaction upon the confirmation from several parties, which is known as multi-signature transactions.
Basically, dApps are a collection of smart contracts that are inter-connected and call each other to accomplish complex scenarios.
Like cryptocurrencies, dApps remove middlemen and provide the basis for many different kinds of business models where customers and providers connect directly.
Types of dApps
There are generally three different kinds of dApps:
dApps that focus on the exchange of digital tokens: The first type of dApp is focused on exchanging digital tokens. Multi-signature wallets are one kind of dApps that falls in this category. Another example is a decentralized escrow service, when one user freezes funds in a dApp’s smart contracts and releases them when a job is completed.
dApps that use information from outside the blockchain: dApps that fall within this category combine information from the blockchain with other sources of information, such as sports results or weather information. An example is prediction markets and decentralized betting apps. For instance, two or more users bet on the result of an NBA game and put their funds in a dApp’s smart contracts. The smart contract automatically checks the NBA website for the result of the game and rewards the winner with the sum of the bets.
Decentralized autonomous organizations (DAO): The third type of dApp is the most complicated one. The idea is to create ecosystems and business models where smart contracts, cryptotokens, rewards and penalties align the interests of different parties involved in an organization and make sure they all work toward the same goal without the need for heavy management roles.
Example of dApps
According to State of the dApps, there are nearly 1,800 Ethereum dApps. Following are some interesting examples:
Augur is a decentralized prediction market. Users can predict and bet on the results of anything and everything including sports matches, elections, the weather and more. Without a centralized authority to regulate the bets, Augur makes sure that winners get maximum reward without giving commission fees to brokers and gatekeepers.
Ethlance is a dApp that provides decentralized online freelancing services. Employers can post jobs on Ethlance and job seekers can apply for jobs, just as they would do in platforms such as UpWork and Fiverr. However, while centralized hiring platforms shave off as much as 20 percent of the freelancer’s earnings, Ethlance does not take commission fees and fully rewards freelancers for their hard work.
CryptoKitties is a digital collectibles games that is based on the Ethereum blockchain. Gamers can create, breed and trade digital cats on CryptoKitties. CryptoKitties is an example of a type of application that is unique to blockchain: crypto-collectibles. As opposed to traditional digital assets, which can be copied over and over again, crypto-assets are scarce and limited in supply. This dApp puts this characteristic to use to create the digital equivalent of Beanie Babies, Tamagotchi and trading cards.