Thirteen years after the launch of the bitcoin blockchain, the cryptocurrency world sees innovations on an almost daily basis. While a lot of work is done on blockchain, a lot of developers are now working on applications that work on top of blockchain. These applications are distinctive in both their function and nature.
Thank you for reading this post, don't forget to subscribe!
These applications, known as dApps, are integral to the world of crypto. But, what is a DApp, and how does it work?
What is DApp?
DApps are decentralized apps. They function like standard web applications, but the foundation of a dApp is different. While most applications come from companies or other centralized sources, dApps come from a peer-to-peer network or group effort.
Right now, most dApps are built on the blockchain network. These networks provide those who want to develop dApps a guaranteed foundation that supports decentralization. Most blockchains have governance methods that keep themselves decentralized, so building dApps on a blockchain network makes sense to these people.
Like the basis of their blockchain network, many dApps strive to take into account their decentralized nature. To do this, many dApp developers focus on keeping their applications open, secure, and usable.
To remain open-source, many dApps have a public record of the code and transactions on the application. Since most dApps sit on top of the blockchain, you can always check the blockchain’s ledger to see what transactions happen inside the dApp. Also, many dApps keep a GitHub of their application’s code so that users can delve into the guts of the application to make sure everything looks good.
For some time, dApps worked best under the network effect. Basically, a network effect is when something is more secure when more people use or participate in the network. The more people who use the dApp, the more interested in securing the dApp and testing or improving the code.
In fact, a dApp is just an application built so that more than one authority or central person can work on the project and make improvements.
DApps vs Web Apps
As a design framework, DApps haven’t been around for very long. Ethereum was the first blockchain developed specifically for things like dApps, which means it hasn’t even been a decade since the concept emerged. Therefore, developers take some time to figure out whether a web app or dApp design is a better fit for their services.
Advantages of DApps over Web Apps
There are benefits to building a decentralized application over a centralized one. If there wasn’t a good reason to do it, there weren’t so many people trying to innovate in that design space.
The main reason for creating dApps is that they are difficult to shut down. Decentralized applications run on networks that are not wholly owned by an individual or group. When you spread that hosting capacity across the Internet, you potentially create connection points around the world. It is difficult to take something that is spread offline.
Also, when you spread something like this around the world, you open up a time frame that can run at all hours of the day. Applications that link to other apps or services that don’t run 24/7 essentially don’t work outside of operating hours.
You can go to your bank’s web application or mobile app and request a money transfer, but the request may not be filled until the next weekday. As long as someone is hosting the network, something more decentralized works.
Ultimately, multiple dApps are tied into a single blockchain ecosystem. These systems are open-source and there are active communities that are developing blockchain networks. Tying an application to these ecosystems makes that application open to anyone with a wallet on that chain, regardless of the hardware they have or the operating system they use.
Disadvantages of DApps on Web Apps
Despite successes in recent years, dApps are not perfect. They have some exploits and drawbacks, which means a traditional web application design is preferable.
For example, most dApps rely on smart contracts or bits of code that execute when conditions are met. These contracts can be hacked and exploited, resulting in some serious damage if no one catches the issue on the public ledger or code repository.
Also, dApps almost resemble the early computer and Internet era. Nothing is integrated or packaged in a good UI, which means the user needs to have some technical knowledge to set up a dApp. Some services make this easier, but it’s still not intuitive for most users.
Finally, users can be a downside to dApps. Just as dApps can run at any time as long as users are online, dApps will slow down or stop working if no one hosts the application. A dApp can have a hard time starting up if the user is not interested in the application when they launch for the first time.