If you are here, we assume you are already familiar with the basic concepts of the blockchain, distributed ledger and smart contracts described in the earlier articles in our Blockchain 101 series. This time, we will try to explain what is a dApp – distributed application. First, let’s define the application. It is computer software, which was designed to help computer operator (a user) perform a set of predefined tasks. As you know there are different types of application including web browsers, email clients, databases, games, and others. Usually, those applications can run on a single computer or group of the computers thus are centralized to a certain degree.
In contrast, dApps or Distributed Applications are also computer-based programs however designed to operate on the distributed computing systems. That means the application will not operate on a single computer but rather on a system whose components are located on different computers which communicate and coordinate with each other via a connected network by exchanging messages. In the context of the blockchain, the main characteristics of the distributed application are:
1. Open source – code should be available to anyone and managed autonomously.
2. Deployed on a blockchain – all the data and records should be stored on the blockchain providing trustless interaction and be redundant to the single point of failure
3. Incentivized – all network participants validating or providing any sort of service to the network should be rewarded by cryptocurrency or cryptographic token.
4. Cryptographic protocol – Currency used for the exchange must be generated using a cryptographic algorithm like Bitcoin or Ethereum.
Since we already established dApp definition and main characteristics, we shall move on to classification of a distributed application.
|Type I||Type II||Type III|
|Distributed applications which have their own implementation of the blockchain, like Bitcoin or other altcoins which are considered cryptocurrencies.||Distributed Applications which are running on the Type I dApps (blockchains). Those applications provide tokens which are necessary for their function. An example is Bitcoin Omni Layer||A distributed application which is deployed over the Type II dApps (protocols). An application like SAFE network which is using Omni Layer to issue SafeCoins which are later used to build file storage.|
The first dApp
How dApps work?
Type I dApps should be considered as autonomous blockchain networks like Bitcoin, Ethereum, DASH, etc. The best way to explain how it works is to bring back some knowledge from our earlier post “The beginner’s guide to blockchain technology and cryptocurrencies ” – “The blockchain is nothing else than an evergrowing peer-to-peer database of records called blocks. Blocks are connected to each other via cryptographic functions to ensure integrity.”
Type II dApps utilize Type I networks to transact and store data however implement another layer of functionality elsewhere. In example Omni layer allows its users to generate, send, trade, redeem, pay dividends to and make bets with tokens representing any kind of asset. Instead of just sending bitcoins around, you can send a very small amount of bitcoin that acts as a stamp, and that transaction forever stands for the transfer of some Omni layer property.
SAFEnetwork can be categorized as Type III dApp as it utilizes Type II Omni layer to issue SafeCoins which are used to build the storage elsewhere. That means all of the transactions are taking place over the blockchain, but data storage is happening on the connected computers rather than Bitcoin network.
We hope, you have enjoyed your reading and have a better understanding of what the Distributed Application (dApps) are. If you have any further questions regarding this topic or feel there are some more information required to complete this subject, please do let us know in the comments section.