Decentralized applications (or dApps) are a new paradigm made possible by blockchain technology and smart contracts. While dApps do not (at present) have a universally recognized definition, they are mostly regarded as being open source and operate without a single point of failure.
Though dApps can run on a number of platforms, in this article we will explore what a decentralized application is as seen and used on Ethereum.
Applications today can be found on your computer, your mobile phone, or the internet. Typically, today’s apps rely on a middleman to verify information or facilitate requests. For example, Google relies on its private servers and processing power to offer Gmail. Gmail, subsequently, is offered as a free service to the general public, and draws an income from analyzing data from email exchanges and using that correspondence to power targeted advertising to consumers all over the world.
We can term the issue created by this setup as one of centrality; while Google may provide a great service, users are not always in explicit control of their data. Even though the internet itself was originally designed to be a distributed web connecting users all around the world, centralized ‘middlemen’ – such as Google, Microsoft, or Amazon – have emerged to power large portions of the internet’s backbone and as such can harvest immense stores of data while facilitating requests.
As the internet works today, users can request information stored on servers around the world. While this is convenient, this principle relies on a foundation of trust between a user and the server vendor in question; wherein the best case information is stored confidentially, while in the worst case hackers – or rogue entities – can use such data for nefarious purposes.
In recent years, platforms such as Ethereum have emerged that use blockchain technology to replace ‘third party’ internet vendors that store data or keep track of complex financial instruments.
Whereas servers and clouds handle most complex requests that users can conjure over the internet, Ethereum enables users to essentially decentralize some of the functions they may have relied on a middleman to perform, and instead create those functions in a peer-to-peer environment.
As the Ethereum white paper outlines, decentralized applications, or dApps, are categorized into three archetypes – apps that can manage money, apps where money is involved, and ‘other’ mechanisms such as voting systems.
dApps are reliant upon smart contracts.
In the context of blockchain technology, smart contracts allow the undertaking of credible transactions over a decentralized network which are both trackable and irreversible.
Importantly, smart contracts executed through blockchain technology over a decentralized network do not necessarily indicate the presence of a ‘contract’ in classical terms, but can rather also refer to a set of trusted principles that can be designed to run an application or system over a decentralized network of computers.
Put simply, smart contracts today guide cryptocurrency users in exchanging anything of value in a conflict-free manner without relying on a middleman.
Principally, a user can make use of a dApp in a variety of ways. In perhaps the most simple method, a user can simply exchange Ether (the currency of the Ethereum platform) to settle a financial contract with another user.
Further to that concept, other forms of dApp involve information not solely stored on a blockchain. For example, an insurance application might be able to verify and accommodate the terms of an agreement, but is reliant on several factors to verify the authenticity of an insurance claim.
To effectively do this, some dApps employ smart contracts that rely on outside information provided by what are termed ‘Oracles’ – trusted vendors of specific information that inform how and whether contracts are executed.
In recent years, several interesting dApps have emerged. The Golem project aims to create a marketplace where users can rent, use, or lease spare computing power to form a decentralized global supercomputer. Augur intends to create a decentralized forecasting tool for traders, and for the quirky there is CryptoKitties – a collectible trading game wherein players can own, breed, and sell virtual cats for Ether.
Lastly, perhaps the most ambitious form of dApp is that of a Decentralized Autonomous Organization (DAO). In a DAO, users around the world use Ethereum to form a leaderless organization in which program rules are stipulated at inception. In the past, DAOs have been used as a form of decentralized venture capital fund wherein users can vote to release funds toward specific projects.
The term dApp is continuously evolving, however, as developers create novel technologies within blockchain platforms and aim to decentralize commonly used services found all over the internet.