What is a DApp?
In this article, we are going to cover what dApps are, how they came to be, why they are important, and the impact they have. Before we get to all of that, what is a dApp?
DApp stands for a decentralized application. dApps are applications built on a decentralized network rather than a single computer.
Since dApps are built on a decentralized network, they have backend code running on a decentralized peer-to-peer network, unlike traditional apps where the backend code is running on centralized servers.
A dApp can have frontend code and user interfaces written in any language, similar to traditional apps. The decentralization of these apps means they are independent and uncontrollable as a group.
Another thing about dApps, is that they are isolated, meaning they are executed only in a virtual environment known as Ethereum Virtual Machine.
Bitcoin has paved the way for cryptocurrencies and extended blockchain technologies. Ethereum was one of the first companies that have taken that advancement and shown everyone the true potential of blockchain technology in a different setting.
Ethereum allowed developers from all over the world to run their dApps on top of their platform. This process has helped create the blueprint for the dApp.
In Etherum’s system, once a dApp is uploaded to Ethereum, the codes cannot be taken down, and they have no owner. Anyone can use the dApps, regardless of who they are. Other key features of dApps include:
- Built-in payments: Ethereum has ETH, meaning that payments are native to Etherum. This allows developers to skip time integrating any third-party payment providers.
- One anonymous login: With dApps, you do not need to share your identity. Your Ethereum account is your login, which does not require any real personal information.
- Cryptography: This ensures that attackers cannot forge any transactions or other dApp interactions on your behalf.
- Free from Censorship: Being free from censorship means that you can’t be blocked from using a dApp or submitting any transactions. You cannot be blocked or stopped from posting on any dApps.
Since dApps are a newer concept, there is not a cut and clear definition of what dApps are. According to BlockGeeks, there are a few central features that we have noticed so far: dApps are open source. Ideally, this means these are governed by autonomy and all changes must be decided by the majority of its users.
Another common feature is that these applications are incentivized. This means that validators of the blockchain should be incentivized by rewarding them accordingly with cryptographic tokens.
Implications of dApps
DApps have their backend code running on a decentralized network, unlike typical applications that have the backend code running on centralized servers. DApps were created and utilized most notably in decentralized finance systems. These are called DeFis, which revolves around DApps that perform financial functions on blockchains, basically the technology that was created for Bitcoin.
The implications of dApps are somewhat dependent on what they are being used for. In general, however, maintenance on dApps can be harder than on standard applications because the code and data published to the blockchain is harder to modify. If a developer finds that there needs to be necessary updates to the blockchain or if there are bugs that need to be fixed, this requires a lot of work.
Network congestion is another unfortunate implication of dApps. When one dApp is using too many computational resources, then the entire network gets backed up. The network is only currently able to process about 10-15 transactions per second, so when transactions are being sent faster than this the pool of waiting transactions piles up quickly. This is the current system and it is likely that as dApps continue to grow the system will grow with them.
Types and Examples of dApps
According to an informational article written by StormGain, the most common ways to classify dApps is by identifying the type of blockchain used. Here are a few kinds that are easy to identify:
- One way to identify dApps is to see if they built their own blockchain. The most famous of these kinds of decentralized applications are Bitcoin and Ethereum.
- Another way is to see if an application is running on blockchains of Type 1 app, but use their own tokens. This can be seen in Augur, which is built off of Ethereum’s blockchain.
- Applications on Type 2 source codes to function. This is seen in the SAFE Network, where it utilizes Type 2 to issue its tokens.
Another important classification for dApps is distinguished by two categories: Anonymous dApps and Reputation-Based dApps. In Anonymous dApps, each participant in the dApp network is essentially anonymous. There is nothing typing you to your presence or action in the dApps. In a Reputation-based dApp, operators generally keep track of other operators and users to maintain trust in the network.
Benefits of dApps
Though there is a certain air of confusion around dApps and how they operate, when users operate the applications, the interface is no different than any website or any other standard mobile app. This is due to the frontend of the blockchain system. The front end of a decentralized application represents what you see. The appearance and way a website runs and operates, while the backend represents the entire business logic. The complexity of these blockchains makes it easy for the system to run off a nontraditional system without compromising the user interface.
The benefits that come from being independent of a central service are what make it so worth it to create this complicated and elaborate blockchain. There are some critical advantages that dApps have over standard applications. Perhaps the most important and unique appeal to dApps is its fault intolerance.
With standard applications, if the central server fails it then causes all applications relying on it to fail as well. With dApps, since they are separate from a centralized network, they are not vulnerable to this kind of crash.
Operating on their own network also increases the security of the systems. If a central server is hacked, then that paves a way for each application on it to become compromised as well. With a decentralized service system, hacking is more difficult because hacking multiple applications would require the hacker to successfully make their way into multiple servers.
Weakness of dApps
One criticism that may ring true to dApps in addition to the implications written about above, is the lack of accessibility. For someone who is not completely comfortable with the idea of a decentralized application and someone who does not fully understand the implications and procedures may have a more difficult time getting familiar with the system.
Because of this lack of accessibility and the intimidating entrance to the system, dApps struggle to attract a strong user base, particularly when they are in their founding stages. Once one has found their popularity, some find it hard to maintain enthusiasm with their users.
The systematic set up of decentralized apps, unfortunately, leaves them susceptible to hackers in some situations. Since dApps are run on open-source smart contracts, there is a path for hackers to find their way into the network to find a key weakness that will allow them to sneak into the blockchain.
Though this is a weakness in some instances, dApps also protect their users and systems from different kinds of hacks. Since it is on a decentralized system, hackers have to find their way into each server, unlike with centralized systems, where hackers have access to much more information by hacking only one server.
The Future of dApps
Since decentralized applications are a newer creation, their future is somewhat uncertain. One thing is for sure and that is that the number of decentralized apps is growing at a rapid speed. Because of the nature of the businesses, it is reasonable to speculate a few industries that will see a rise in the number of dApps.
These include banking, gambling, real estate, energy, elections and voting, social media, identity verification, and many more.
The anonymous feature possible with some dApps and the increased security that comes with it makes certain industries and companies great candidates for the new development of decentralized applications.
Creating Your Own DApp
What you should take away from this article is not that dApps are too confusing or hard to use, but instead that they are obtainable and easy to create for your own purposes!
In an article from BlockGeeks, they explain how to easily create your own dApp, in just a few simple steps. Before starting the steps to make your own, you should be completely familiarized with what dApps are, how to use them, what they work best for, and so on. If this article left you with any questions, be sure to do some more research so you can get a full grasp on the task at hand.
- BlockGeeks first step to creating your own dApp is to create a whitepaper. This whitepaper should address a problem you wish to solve and clearly state the intentions and goals you have with the creation of the dApp. You should describe the plans for the token distribution, and how you intend to do it. It is very important that the whitepaper helps you figure out how you want to create a management and development team.
- The second step in successfully creating a dApp that people will use is to gain a following. Like anything, there has to be a demand and a user base for your product. You should discuss your plan and form a community where you can collect valuable feedback and revise your plans in accordance with your community.
- After you have established a community, you should start a crowd-sale. You need to have some momentum with this step. You should decide on a date to receive token funding and make sure you have a website set up with all the information an investor may need when making their decision.
- The last step of creating your own dApp, according to BlockGeeks, is to bring your ideas to fruition! This is where you begin your development and welcome all new developers and interest groups into your established community.
Now that you know the background, character, and structure of dApps, you will be more equipped to move forward whether you are designing your own decentralized application or if you are a user of a decentralized application. Though it seems intimidating and there is a lot to understand in regards to its setup and blockchain structure, dApps are not as complicated as they initially appear to be.