A DApp is a blockchain-based, decentralized open-source application that uses cryptographic tokens for transactions. Unlike proprietary applications owned by a company and managed on centralized servers, DApps use a resilient peer-to-peer network. DApps are set to take a pivotal role in the development of a blockchain-based decentralized Web3 Internet.
What are DApps?¶
The term DApp is the abbreviation of « Decentralized Application » which means » decentralized application « . DApps are therefore standalone apps which operate in a decentralized manner. They are therefore not dependent on corporate servers, but use a distributed peer-to-peer network. The storage of data, communications and transactions is based on a blockchain. Additionally, DApps use transparent open source code, which is usually visible to users and can be used for free.
The specificity of DApps is broken down into 4 essential criteria¶
Four basic criteria are involved in the definition of DApps. The following conditions must be met to consider software as a decentralized application:
- uses open source code
- is blockchain-based
- uses cryptographic tokens
- allows you to create tokens
Let’s take a closer look at the four main features of decentralized applications:
open-source code¶
DApps are based on the open source principle. The software uses open source code formulated in a precise specific programming language, which can be viewed, freely used and modified by third parties. The open source code of a DApp should be self-contained and not dependent on companies or administrators deciding on changes to the application.
Arbitrary changes to the layout and operation of the Instagram application can be cited as a counterexample, which regularly garners protests from users. DApps thus operate on a more democratic principle and adapt to community change proposals, market shifts, and developer consensus.
On the other hand, it has been observed that current decentralized applications in turn do not use fully open source code, but only fully or partially proprietary code, in the wake of the success of cryptocurrencies. In 2019, only 15% of available DApps were found to be open source, while a quarter of all DApps used proprietary source code.
blockchain¶
The storage of source code, transaction data, and logs must take place in the blockchain when it comes to decentralized applications. The latter is based on a decentralized peer-to-peer network of different computers distributed around the world. Unlike centrally managed apps like WhatsApp or Telegram, these apps are less prone to hacks and failures because user data is not stored on dedicated corporate servers.
DApps offer a higher level of security because attacks on distributed blockchain networks are directed against each isolated machine and must resolve the cryptographic cipher. This is practically not possible with a DApp, since its source code is stored in a blockchain and therefore on many different networked computers. The source code of the DApps is thus decentralized in the blockchain, distributed and executable in the network.
Crypto tokens¶
The cryptographic tokens used in DApps applications are permanently anchored in the decentralized and encrypted blockchain. The tokens or « tokens » are encrypted digital copies data stored in the blockchain. Tokens can correspond to cryptocurrencies like bitcoin in the Bitcoin blockchain. They can be used for trade transactions or to reward the production and verification of new tokens by mining.
The tokens issued or exchanged are accompanied by transaction data in the form of digital copy or transaction certificate protected against counterfeiting when they are mined in the blockchain. This prevents scams and hacks on the one hand, and eliminates the need for centralized administration on the other. Verification is done in a decentralized peer-to-peer network of miners, not through centralized hierarchical management.
Generation of tokens¶
In order to use a DApp and trade, buy or sell tokens, DApps must generate crypto tokens. A proof of work algorithm is used for this purpose in the Bitcoin or Ethereum blockchain. Bitcoin thus uses, for example, an SHA-256 algorithm. By combining an algorithm, cryptomining and hashing, i.e. creating and verifying tokens by solving a hash function, DApps meet the token generation criterion.
How are DApps different from mainstream apps?¶
The major differences between DApps and centralized applications are:
- Unlike applications, DApps are not managed as proprietary software by a central instance such as a company or system administrator.
- The source code of DApps is generally open source, publicly visible, free to use and modifiable.
- System and user data is not stored on company servers, but distributed and processed over peer-to-peer networks globally.
- DApps rely on a decentralized backend in a blockchain network, which is also managed by users.
- With DApps, communication does not take place between end users through the provider’s servers, but through a decentralized and globally distributed network of devices and servers.
- Transactions are encrypted in a blockchain and verified and documented using smart contracts.
Smart contracts and DApps¶
DApps are also based on smart contracts, which belong to the backend code of the blockchain. Smart contracts are codes that function like a contract and enable verified official token transactions between DApp users. As soon as users fulfill the conditions of the smart contract, the program code of a transaction is executed and stored in the blockchain. Since smart contracts cannot be modified or manipulated, they make it possible to set up transparent and tamper-proof transactions.
Among other things, the terms of the smart contract stipulate the fees blockchain miners receive for executing and verifying transactions. Smart contracts are often written in the Solidity object-oriented programming language. Although multiple smart contracts can be used for DApps, more than 75% of current DApps use only one smart contract at a time. (Status: September 2022)
What are the pros and cons of DApps?¶
Benefits | Disadvantages |
---|---|
✔ Operate independently of individual companies or corporate servers via a distributed and decentralized blockchain network | ✘ The performance and scalability of a DApp depends on the performance, scalability and hash power of the blockchain |
✔ Are fail-safe, tamper-proof, transparent, and hard to hack | ✘ Large companies such as Meta or Microsoft offer better performance and usability with their proprietary applications |
✔ Are protected against government interference, censorship and further manipulation | ✘ Operate online only through their decentralized peer-to-peer approach and require blockchain connection |
✔ Allow users to participate in the backend and influence development | |
✔ Financial transactions via DApps do not require intermediaries such as banks or other financial institutions | |
✔ Increased anonymity and privacy as user data is not sent to commercial companies with non-transparent data processing | |
✔ Varied areas of application and active participation in user development |
What areas of application are DApps suitable for?¶
DApps are considered a mainstay of Web3. The Web3 is a new generation of Internet based on blockchains and distributed networks. However, DApps already play an important role in transactions within decentralized networks. The development and application of DApps are aided by the fact that they can be programmed by users with blockchain and programming skills.
Here are some examples of possible applications:
- finance : DApps encourage financial transactions and decentralized business operations that do not require the intermediary of financial institutions. For example, monetary protocols for financial transactions are used for this purpose. Application possibilities include loans, bonds, investments, barter transactions and auctions.
- Games and NFTs : Various gaming DApps allow trading and “gambling” with an NFT. One can thus earn money with NFTs through their creation, collection, exchange or by making bets.
- Navigator : Dapp browsers establish connections between decentralized applications, allow surfing in DApps on blockchain networks and provide an integrated wallet for crypto payments.
- Social networks : Decentralized social networks like Leeroy can be used as an alternative to centralized social network companies like Meta or Twitter, which show laxity in data protection.
Practical example for DApps¶
Well-known DApps that are already surrounded by a large community today are:
- rare : Rarible is a distributed application that serves as an NFT marketplace. NFTs can be created, sold, and purchased through Rarible. Other ways to procure earnings include trading in art and trading in collectibles.
- TraceDonate : The DApp service uses crypto wallets to channel donations to charities.
- Minds : As a social media DApp, Minds uses open source code and strong encryption of user data.
- 1inch : Acts as an exchange DApp, which can be used to split exchange trades and stimulate trading across multiple DEXs at optimal conditions.
- Ipse : Dapp Browser is a decentralized search engine based on the Interplanetary File System and the EOS blockchain. Ipse promises more anonymity and privacy with asymmetric encryption as a key.
- pancakeswap : this decentralized exchange among the most important for cryptocurrencies is used as a DApp. It serves as a trading platform for BEP-20 tokens.