With the ever-growing popularity of blockchain technology and decentralized systems, a new term is catching developers’ eyes. This term is decentralized apps, or DApps.
Decentralized systems, or blockchains, store data in a network of computers called nodes, as copies of encrypted blocks. This means that when a person shares a set of data online, that information is managed by the technology, encrypted, copied and shared with an entire network. Due to the encryption, the network will know about the existence of the data, but can never “read” it.
This means that the chain of nodes is able to validate the block of data without being able to decode and alter it. Consequently, the data is never decoded, and cannot be traced back to the owner. In short, blockchain maintains your anonymity while your actions online are completely transparent.
Technologies that don’t work on blockchain are called centralized systems. As opposed to blockchain, these technologies store data in central points such as a web server, with central points of failure.
What is a web application?
Web applications, or web apps, are centralized software programs that are stored on remote servers controlled by a host, better known as “the cloud”. As compared to desktop applications, web apps run through a browser and not an operating system.
The advantage of this feature is that web apps allow developers to only develop the application once, as it works across all platforms. For example, Gmail is an email web application that you can access on any web browser on any device. All the emails you send and receive is stored on Google’s servers, centrally.
The difference between web applications and websites is that web applications are interactive, whereas websites are purely informational. Depending on their functionality, there are 5 main types of web apps.
1. Static web apps
Usually built in CSS or HTML, static web applications are the simplest type of web apps. They contain a limited amount of content, they are not flexible and their interactivity is limited. Most common static web apps are online resumés and professional portfolios.
Due to how they are built, for static web apps to show media content developers need to first download the HTML code. Then they need to alter it to add the wanted content and then upload it back to the server. This process can be troublesome for beginner coders, so using a web hub, such as Wiredelta® is a better solution.
2. Dynamic web apps
Dynamic apps are more complex than the static ones. For one, dynamic web apps use databases to store data and allow constant updating. This is due to the CMS that the app comes with, and allows administrators to edit content and easily add extra features.
The issue with dynamic web apps is that, although they are a little more flexible, programming them is more difficult. The most popular language programmers use for this type of apps is PHP, which is more advanced.
3. E-commerce web apps
As it can be read in the name, these types of apps are e-commerce apps or online store apps. Professional developers may choose to use code and create their webshop from scratch.
However, these apps are usually built using a content management system specifically created to allow features like payment methods, carts, product databases and so on. Some of the more popular CMSs are Magento, Shopify, and PrestaShop
These type of apps require sensitive information from credit cards. Also, the administrator of the page needs to manage content through an administration panel. Beginner developers may find this tedious and difficult, so having a professional set up your webshop may be a good idea.
4. Portal web apps
This type of web apps is the kind of apps that require authentication. Authentication allows the provider to track the user’s activity and provide fresh content.
The most common portal web apps are chat rooms or instant messaging, emails, social media, and so on.
5. CMS web apps
CMS web apps are applications that allow you to not only create other web apps but websites too. Content management systems are very popular because they require little to no developing knowledge.
What are decentralized apps?
Decentralised applications, or DApps, are a new model for web applications that is significantly more secure. As opposed to web apps, DApps have their protocols and data encrypted sorted on a blockchain. The first DApp to come on the market, and the one that paved the way for a decentralization revolution is, of course, Bitcoin.
In order for an application to be qualified as a decentralized application, it has to meet the following criteria:
- The application should not have a controlling entity, must operate entirely autonomously and be completely open-source. Every update of the application has to be agreed upon by the network.
- The application has to work on a blockchain, so all the data is encrypted and stored in the network.
- The applications must use a cryptographic token (their own tokens or others) so it allows contribution of value from (miners/farmers) and rewarding systems.
- The application must follow a standard cryptographic algorithm and generate tokens that act as proof of the value nodes are bringing to the app. (e.g. Proof of Work Algorithm).
Classification of DApps
Although Decentralized apps generate and manage tokens, they do not have to be transaction apps such as Bitcoin. In this case, tokens generated by the DApp are used simply as a reward system so they encourage nodes to bring value to the app. At the moment DApps are classified into three main types:
Type I DApps, like Bitcoin, are decentralized apps that have their own blockchain. Another example of type I apps is Litecoin.
To better understand type I DApps, one can compare them to the functionality of operating systems, such as Windows, or MAC OS, for example.
Type II DApps are decentralized apps that use the blockchain of type I DApps. However, type II DApps are protocols that use tokens to function. You can compare their functionality with that of a general purpose software program, like a spreadsheet, for example. It is an application of its own, but it needs the operating system behind it to work.
Leeroy, is such a DApp and is popularly known as the Ethereum Twitter and it can be accessed by those who have the Ethereum token, Ether. Another example would be Steemit, a social media platform working with rewarding systems. Steemit works on top of the Steem blockchain. These systems allow users to vote and “tip” content creators. Tips and votes encourage both adding value, as well as a constant presence on the platform.
Finally, type III DApps are two-leveled protocols that use the protocols of type II DApps, but also their own. One example of type III decentralized apps is the SAFE Network.
The SAFE network uses the type II app Omni Protocol and issues tokens ‘safecoins’. These are used to acquire distributed file storage.
Web Apps vs DApps
Like with every technology, there are pros and cons to both web apps as well as decentralized apps. So the question we must ask is, which one is better?
This developing technology is slowly taking over the world as it attracts more and more users. As the concept of blockchain and decentralization grows, web applications will be less preferred. DApps enable value generation, and the fact that they eliminate the need for third parties makes them very enticing. Not only do they offer reduced costs for users, but also security.
Apart from cryptocurrency, adopting blockchain in financial and other industries is a growing interest. This allows decentralized apps to develop even further away from the banking industry. Eventually, DApps will be customized by any individuals or businesses’ requirements, just like web apps are today.
For now, web applications are still more accessible and user-friendly, and they have a wider range of functionalities. However, once DApps become popular with non-professionals, they may give web apps a run for their money. Only technological advancement will eventually show the ‘last man standing’.