Apps on the blockchain that are decentralized. What types are there and what requirements must a dapp meet? You will learn that on this page.
Table of Contents
What is a decentralized application (dAPP)
Blockchain offers the possibility to store and run software in a decentralized manner. What does this mean, why is this interesting and what are the possible applications? In this introductory article we briefly summarize it for you.
A dapp is a computer program that is not run through a central server, but through decentralized distributed servers (nodes). A network of nodes is called a blockchain. The execution of decentralized applications uses the same technology as the execution of transactions with cryptocurrencies such as Bitcoin, Ethereum and many other digital currencies. Transactions with digital payment units are therefore completely decentralized. Many decentralized applications “run” on their own virtual currencies that keep the blockchain ecosystem functioning properly. It uses a complex consensus algorithm. This algorithm ensures that all nodes in the network are continuously synchronized with each other.
Why are dapps better than apps?
In principle, decentralized applications are completely open-source, which means that everyone can make his or her contribution, if necessary or desired. A dapp does not depend on one central point, which makes such applications much less vulnerable to errors. In other words: there is no longer a single point of failure. Because dapps do not use central servers, there is a direct connection between users and developers. This also means that third parties such as governments or companies cannot simply censor, remove or disable these applications.
What types of decentralized applications are there?
There is not one definition of what a dapp actually is that covers the whole load. Blockchain technology and decentralized applications are still in development and the most common definition of this new concept will probably be completely different next year. A distinction is currently made between three different types of decentralized applications:
You could say that type 1 dapps are mainly used for money transfers. Sending and receiving cryptocurrencies is central here. This includes decentralized applications that run on their own blockchain and are therefore intrinsic to their own decentralized distributed ecosystem. Bitcoin is an example of this.
- Smart Contracts:
Dapp type 2 is a combination of a decentralized application and virtual currency. This second appearance of a dapp builds on the first type of dapp and can be seen as a software program that uses virtual tokens. Cryptocurrencies are intertwined with information (oracles) from outside the blockchain network. Smart contracts also fall under type 2. Users who, for example, want to perform a smart contract within the Ethereum blockchain can then use the cryptocurrency Ether. The Ether then ensures that the contract is executed correctly. The nodes within the network are used to distribute the cryptographic data.
This dapp uses specific software for specific tasks, such as “voting” within a blockchain infrastructure or blockchain governance (the complicated process that ensures that consensus within the network is done correctly). The dapp uses the protocol of dapp type 2, however they also have their own tokens to run within a blockchain network. This token usually does not function as an investment but has a certain utility within the network that must be fulfilled. For example, 1 token can be equal to 1 vote.
What criteria must a dapp meet?
In principle, a dapp may be regarded as a decentralized application if the following conditions are met:
- Decentralized execution on the blockchain
The dapps must be able to be executed within a blockchain network without the involvement of third parties. The data must be cryptographically stored within a decentrally distributed network of computers (nodes).
The source code must be available to everyone, everywhere and at any time.
There must be a certain incentive within the blockchain network to ensure that miners solve the cryptographic puzzles and thus keep the network running. That incentive is usually provided in the form of a reward with virtual tokens.
- Consensus algorithm
The reward mechanism for correct execution of dapps currently uses two different consensus algorithms: proof of work and proof of stake. In proof of work, all miners (in the case of Bitcoin) within the network are rewarded based on the effort (the amount of work) they have put in. The proof of work is not exactly the same for every blockchain network and the reward mechanisms are often different. With proof of stake consensus, all transactions are verified in a different way. No mining is used, but whoever owns the most digital tokens is allowed to create an entirely new block within the network. For this, the participant will then receive a reward in cryptocurrency tokens. Dapps that are executed by means of proof of stake therefore consume much less energy than dapps that are executed by means of proof of work. Consensus is achieved with some blockchains through a combination of proof of work and proof of stake.
Hiring specialists for creating dapps
Developing dapps and creating smart contracts is a complicated sport and at the moment only reserved for programmers with special skills. Organizations such as governments and companies would therefore do well to hire people who are experienced and specialized in the development of dapps.
- Elaboration and publishing
Before you make the choice for a “normal” app or a dapp, you should first ask yourself which problem is actually being solved by the decentralized nature of the dapp in question. It is very important to properly map out all elements of a blockchain project. What are the costs? How can the dapps be funded (perhaps through an ICO)? Is there actually a market for it? Only when you have a clear picture of all aspects of your decentralized application can you elaborate and publish the idea. Think of the purpose of the dapp, the way in which the dapp is applied and the future perspective of the dapp.
- A clear white paper
The publication can be done by means of a white paper in which you explain all the advantages and functionalities of your dapp. The white paper must be written attractively and make potential investors enthusiastic about your project. Be open and transparent about this and make sure you are clear about all the pros and cons, so that an investor knows exactly what he or she is investing in. Initial Coin Offerings are a great way to raise funds and fund blockchain projects. Please pay close attention to the current applicable laws and regulations.
Which dapps are being developed on the Ethereum blockchain?
Ethereum is arguably the most well-known open-source blockchain platform today, for developing dapps. Anyone who wants to can write smart contracts in a Turing-full programming language and develop dapps that run according to their own “arbitrary” rules. These rules (which specify exactly how a dapp should be executed) determine, among other things, who owns certain properties and which transactions must be carried out when and where.
Types of Ethereum dapps
- Financial Decentralized Applications
These dapps give users more options to manage their business digital contracts and financial transactions more efficiently.
- Partial (semi) financial transactions
These dapps usually have a financial character, but are also suitable for non-financial applications.
- Dapps for governance purposes
This includes online voting (for example, decentralized applications for organizing elections) and decentralized autonomous governance.
- Decentralized People Identification Applications
Dapps can also be developed for registering the identity of users. This allows, for example, to record who is the owner of a certain cadastral property or certain physical objects in our physical space.
- Dapps for decentralized data storage
With dapps that specifically focus on data storage, the information is cryptographically encrypted by means of a smart contract and distributed in blocks across the blockchain network. This form of data distribution significantly increases the security of sensitive data.
In summary, the concept of a decentralized app can be very interesting if there is a use case that lends itself to it.