A DApp is a blockchain-based open source decentralized application that uses cryptographic tokens for transactions. Unlike proprietary applications that are owned by a company and managed through central servers, DApps use a crash-proof peer-to-peer network. For the development of decentralized Internet Applications are expected to play a central role in the development of a decentralized Internet based on the blockchain.

Digital Guide

What is a DApp? Definition and Functionality

A DApp is an open-source, blockchain-based decentralized application that uses cryptographic tokens for transactions. Unlike proprietary applications that are owned by a company and managed through central servers, DApps use a fail-safe peer-to-peer network. For the development of decentralized Internet DApps are expected to play a central role in the development of a blockchain-based decentralized Internet.

What are DApps?

The term DApp stands for “decentralized application.” DApps are therefore autonomous applications that operate in a decentralized manner. They do not rely on company servers, but instead use a decentralized, distributed peer-to-peer network. Data storage, communication, and transactions are based on the blockchain. In addition, DApps use transparent, open source code that is usually viewable by users and can be used free of charge.

What makes DApps special: 4 important criteria

Four basic criteria are used to define DApps. For a computer program to be considered a decentralized application, the following conditions must be met:

  • Use open source

  • It is based on a blockchain

  • Uses cryptographically encrypted tokens

  • Allows the creation of tokens

Below we discuss the four main characteristics of decentralized applications:

Open source code

DApps are based on the principle of open source. The software uses open source code formulated in a specific programming language that is visible to third parties, freely usable and modifiable. The open source of a DApp must be characterized by its autonomy and not depend on companies or administrators to decide on changes to the application.

As a counterexample, one can mention the idiosyncratic changes in the design and functionality of the Instagram app, which regularly provoke protests from users. DApps thus operate on a more democratic principle and adapt to changes suggested by the community, market developments, and developer consensus.

In turn, the success of cryptocurrencies has shown that today's decentralized applications do not use fully open source code, but rather fully or partially proprietary code. In 2019, only 15 percent of available DApps turned out to be open source, while a quarter of all DApps used proprietary source code.

Blockchain

The storage of source code, transaction data and protocols of decentralized applications should be based on a blockchain. It uses a decentralized peer-to-peer network of different computers distributed around the world. Unlike centrally managed apps such as WhatsApp or Telegram, there is thus a lower risk of hacks and failures, as user data is not stored on dedicated corporate servers.

DApps offer a higher level of security, as attacks on distributed blockchain networks would have to target each individual computer and solve the cryptographic encryption. This is difficult to do with a DApp, as its source code is stored on a blockchain and therefore on many different, interconnected computers. Thus, the source code of DApps is stored in a decentralized manner on the blockchain, distributed across the network, and executable.

Cryptographically encrypted tokens

Cryptographically encrypted tokens, which are used in DApps, are firmly tied to the decentralized and encrypted blockchain. Tokens are digital, encrypted copies of data that are stored on the blockchain. Tokens can be, among others, cryptocurrencies such as Bitcoin on the bitcoin blockchain. They can be used for trading or to reward the generation and verification of new tokens through mining.

The generated or exchanged tokens are stored on the blockchain with the transaction data as a digital copy or a forgery-proof transaction certificate. On the one hand, this prevents fraud and hacking, and on the other hand, it makes central administration superfluous. Verification takes place in a decentralized peer-to-peer network of miners and not through a central, hierarchical administration.

Token Generation

In order to be able to use a DApp and exchange, buy or sell tokens, DApps must generate cryptographically encrypted tokens. On the Bitcoin or Ethereum blockchain, a proof-of-work algorithm is used for this. Bitcoin, for example, uses a SHA-256 algorithm. By combining algorithm, cryptomining and hashing, i.e. the generation and verification of tokens by solving a hash function, DApps meet the token generation criterion.

What distinguishes DApps from conventional applications?

The main differences between DApps and centralized applications are as follows:

  • Unlike apps, DApps are not managed as proprietary software by a central entity such as a company or system administrators.

  • The source code of DApps is usually open source, publicly visible, freely usable and modifiable.

  • System and user data are not stored, shared, processed and edited on company-owned servers, but on decentralized and globally distributed peer-to-peer networks.

  • The foundation of DApps is a decentralized backend on a blockchain network that is also managed by users.

  • With DApps, communication does not occur between end users via the provider's servers, but rather via a globally distributed and decentralized network of devices and servers.

  • Transactions are cryptographically encrypted on a blockchain and verified and documented using smart contracts.