Blockchain and decentralised Applications

An introduction on how decentralised Apps aka "dApps" work and how they differ from regular Apps.
Pascal Marco Caversaccio
Pascal Marco Caversaccio
May 25th, 2020

dApps = Apps2.0?

Everyone knows apps. If I ask you what an app is, you are able to explain in simple words where I can search for apps (e.g. Google Play Store), how I can download it, and what I can use a certain app for (e.g. messaging). Today there is literally an app for every use case and apps have become ubiquitous.

So, everything should be fine, right? Well, now think more carefully about how apps are governed: Third-party platforms such as the Google Play Store or the App Store are very powerful and can remove your app within seconds (e.g. if you do not comply with their rules). A recent incident, though it may have legitimate reasons, underpins this risk: Google removed 600 apps from the Play Store due to disruptive ads. These companies also charge developers fees for hosting and make large profits on sales. Apple and Google for example get 30% of all revenue from app and in-app purchases. Another issue may arise if the provider shuts down the app and you no longer have access, or the app has technical downtime due to e.g. backend problems. Especially, downtime can become very costly for the company and the customer.

Now imagine something crazy. Apps that do not belong to anyone, cannot be shut down, and do not have any (technical) downtime. Sounds like wishful thinking, doesn't it? Not really! Such new breeds of applications are currently discussed and developed across the world and are called "decentralised Applications" or just simply dApps. In other words, dApps are blockchain-based* apps. Thus, one could speak of "apps 2.0".

*For the sake of simplicity I use the terms blockchain and distributed ledger technology interchangeably throughout this article. However, generally speaking, a blockchain is only one of the many types of data structures that provide secure and valid achievement of distributed consensus (c.f. IOTA for a non-blockchain-based distributed ledger technology).

The Underlying Technology

In order to understand the power of dApps, one must first grasp the underlying distributed ledger technology (DLT). I am pretty sure you already have heard about Bitcoin, the publicly villainised cryptocurrency that will destroy our modern monetary policy 😉. For the sake of brevity, I do deliberately not discuss any implications of cryptocurrencies in detail here, but, more interestingly, I have to emphasise that Bitcoin is just an add-on or application of the blockchain technology itself. Hence, Bitcoin can be considered as the first ever dApp.

So what is a blockchain? Put into simple words, a blockchain is a globally distributed ledger that records transactions and is secured cryptographically via a robust consensus mechanism. Still too complicated? Don't worry, actually, one only has to remind that it is a distributed database and therefore decentralised all over the world. Thus, there is no central party who can simply shut down this new type of database.

The really great thing about this new technology is that it addresses all the aforementioned issues of third-party-dependent apps. Once the dApp is deployed on the DLT, it just runs forever.

Let us quickly formulate what kind of criteria have to be met by a dApp:

  1. The source code has to be open-source,

  2. The blockchain must be decentralised

  3. The application itself must provide an incentive for fuelling itself (e.g. tokens)

  4. This incentive must be generated using a protocol/algorithm

If an app does not meet all of these criteria, it is not a dApp!

Examples based on Ethereum

Enough with the theory, let us examine some examples. In order to do so, I focus on the Ethereum blockchain that provides by its design (i.e. Turing-complete programming language) a natural breeding ground for dApps. Moreover, dApps are represented by smart contracts in the Ethereum network.

CryptoKitties: a famous gaming dApp that allows players to purchase, collect, breed, and sell virtual cats.


Uniswap: a protocol for automated token exchange on Ethereum.


Augur: a decentralised prediction market platform that runs on Ethereum. In essence, users can bet on the outcomes of future events using Ether (Ethereum’s native cryptocurrency) or REP (Augur’s native cryptocurrency).


Classification of dApps

There are several characteristics according to which decentralised applications can be classified. Based on a well-known white paper, there are three types of dApps:

  • Type I: decentralised applications have their own blockchain. The flagship example for this type would be Bitcoin.

  • Type II: decentralised applications use the blockchain of a Type I dApp. The Augur platform is an example of a Type II dApp since they leverage the Ethereum blockchain.

  • Type III: decentralised applications use the protocol of a Type II dApp. Type III dApps are protocols and have tokens that are necessary for their function. For example, the SAFE Network that uses the Omni protocol to issue “safecoins” that can be used to acquire distributed file storage is an example of a Type III dApp.


A useful analogy for a Type I dApp is a computer operating system (e.g. Windows, Linux), for a Type II dApp a general purpose software program (e.g. Microsoft Office 365, Dropbox), and for Type III dApp a specialised software solution (e.g. mail-merge tool that uses a word processor, an expense report macro that uses a spreadsheet).


Summarising, dApps can provide a wide range of applications without many risks you face with a normal app. Currently, the “decentralised finance” or just simply DeFi is gaining momentum. DeFi is a current movement that leverages DLT to transform old financial products into trustless and transparent protocols that run without intermediaries. Or in plain English, apps that provide banking services (e.g. loans) without the imperative of a banking license. However, this movement is not the end of the story but could be the beginning of a major digital revolution. Be prepared and get yourself dApp-ready!