The word decentralization has become very popular since blockchain technology was launched. Blockchain technology has brought so many innovations to the world. One of the most exciting is a new concept called decentralized applications.
What are decentralized applications (Dapps)?
A decentralized application is a regular application that runs on an open-source peer-to-peer network of computers. Some of the most famous decentralized apps run on blockchains like Ethereum, Binance Smart chain, etc.
They are called decentralized because the application is run by multiple computers(nodes) in a network. Also, the ownership of decentralized apps is shared by users of the network through tokenization.
Since the launch of Ethereum in July 2015, many decentralized applications have popped up. Blockchain based decentralized apps rely on smart contracts for their functioning. Any app can be decentralized, so long its running is distributed among several computers and it’s code base is open source.
Some examples of Decentralized apps include; Decentralized exchanges like Uniswap, MinSwap, ADAX, etc. Other examples of decentralized apps are games like Axie Infinity, Crypto Kitties etc.
How do decentralized apps work
To understand the basics of how a decentralized app works, we need to go into a little software design. A regular app has two main parts; the front end, and the back end. The front end deals with what the user sees. For example, Twitter. Your feed and every other thing you can see is the front end.
The back end on the other hand refers to the server running the app as and keeping it’s data. The back end would be the part that stores all the information about your profile.
Regular apps use a central server for their back end. All their information is stored on that central server. Taking down the app would only require taking out that central server. Decentralized apps share the load of their back end to multiple servers.
This way, the app can function faster thanks to the computing power of multiple servers. This arrangement makes it practically impossible to shut down a decentralized app by taking out a few of its servers. This also means that no one person has control over the servers.
They are generally two types of decentralized apps. Some run on several peer-to-peer servers but not on a blockchain. Examples of this kind of Dapps are PopcornTime, OpenBazaar, and BitTorrent.
The other types of decentralized apps are built on a blockchain, mostly Ethereum. Dapps built on blockchains use smart contracts to control how they function. Smart contracts are simply pieces of code that execute given instructions when certain conditions are met.
Also, Dapps that run on blockchains use tokenization to share ownership of the Dapp. So for example, if Twitter was built on a blockchain, no one individual would be able to delete another person’s tweets.
Also, the owners of Twitter would be its token holders. They would be able to vote on how Twitter should function. The more tokens a person holds, the higher their voting power.
Benefits of Dapps
So what are the benefits of Dapps? First of all, Dapps are resistant to censorship. Many apps like Twitter have a single point of failure because they are controlled by a central authority. This means that they could easily by shut down. For instance, if the government wanted to shut down Twitter, it would only require the shutting down of Twitter’s central servers.
A decentralized app on the other hand runs on multiple computers within a network. Shutting down a few computers won’t harm the network since the network runs on multiple nodes. Also, no one individual would be able to dictate what goes on in a decentralized app. If Twitter was decentralized, no one would be able to censor tweets or suspend people’s accounts.
The next benefit of a decentralized app is something called fault tolerance. If a single computer goes out in the network, the app would still function fine. The performance might degrade significantly due to the number of nodes that are down. But most of the network will still function.
Another benefit is that you can remain anonymous while using Dapps. These days, there is a lot of concern with how applications use and store user information. A lot of people are worried that the apps they use collect their information and use it to target ads at them. Or worse, sell the information to the highest bidder.
With Dapps, you rarely need to submit any personal information. This is great for people who are looking for social communities they can belong to without having to put their personal information at risk.
Limitations of Dapps
Like with everything in life, Dapps are not perfect. They have their own drawbacks. Let’s look at some of them;
The first drawback of Dapps is that they are at risk of hacks. Since Dapps are run on open source code, anyone can simply look up the codebase of a particular Dapp. Hackers can simply look through the code searching for weaknesses they could exploit. It’s why there’s been a series of hacks on Dapps in recent times.
The next major drawback of Dapps is its usability. Dapps are still a very new concept and so, they don’t have many users yet. This could be partly responsible for the fact that so many Dapps have a poor user experience.
The user interface then has the unintended effect of discouraging new users. But hopefully, as Dapps become more mainstream, developers would put more effort into creating a smooth user interface for their Dapps.
Next up on the list of limitations of Dapps is their low user number. Usually, the strength of a decentralized app depends on the number of users it has.
Many Dapps have too few users, and this makes the apps less secure since the strength of the network depends on how many active nodes it has. Another limitation of Dapps is they lead to congestion of the blockchain supporting them.
As you know, Dapps run on blockchains. Networks like Ethereum have a very high number of users. Sometimes, this causes the network to get congested.
Popular Dapp use cases
So what are some popular Dapps that exist out there today? There are many but I will give you a few to illustrate how versatile decentralized apps are. First of all, we will be looking at Chainlink. Chainlink is a decentralized app that provides oracle network services to blockchains.
Oracles are software that allow blockchains to connect with other non-blockchain systems. Thanks to chainlink, smart contracts that need specific inputs like dates, weather, etc can get access to that information.
Chainlink also enables interoperability which simply means blockchains communicating with each other.
Chainlink uses the LINK token to reward its network users for the work they do – collecting off-chain information, formatting, and other off-chain computation.
Network operators can only stake their tokens. They are not allowed to sell it. However, they are free to charge their own rates for the services and resources they provide
Another noteworthy decentralized app is Aragon. Aragon is a project that aims to make the creation and management of DAOs possible.
For the uninformed, A DAO is a decentralized autonomous organization. DAOs are the equivalent of regular organizations only with a decentralized governance system I.e members of the DAO vote on what projects to execute and how the DAO should operate.
Aragon wants to make it easy for people to run entire organizations on a blockchain. Aragon uses smart contracts to eliminate the need for third-party intermediary services.
The next decentralized application we will look at is Golem. Golem is a project that aims to make the buying and selling of computational resources easy and straightforward. For example, say you wanted to do some CGI rendering but you had no equipment. Renting the equipment at a local computer hardware store might be too expensive. And that’s where Golem comes in.
Golem connects users who need computing resources to users who are willing to rent out those resources. The network then rewards users with the GNT token. Many of Golem’s users describe the network as an alternative to cloud computing services. An alternative that’s fully controlled by the users.
Another popular decentralized application is Crypto Kitties. Crypto Kitties is an Ethereum-based game that allows users to collect, buy and sell digital cats. These cats are custom designed from a range of 256 DNA attributes.
Crypto Kitties immediately became a smash hit in 2017, the same year the game was released. They have been cases of Crypto Kitties congesting the Ethereum network. To play crypto kitties, you must hold ether in your wallet.
How to connect to Dapps?
So, how do you use a Dapp? First of all, you need to remember that most Dapps are built on a blockchain – usually Ethereum blockchain. And that’s because Ethereum pioneered smart contract technology. There are Dapps on Binance Smart chain as well as on EOS and Tron.
To connect with a Dapp, you’ll need a crypto wallet. You can either use a wallet on your phone or a mobile crypto wallet.
The next thing you’ll need is a Dapp browser. A Dapp browser will allow you to browse through different decentralized apps out there. Mind you, most regular browsers can’t access Dapps due to how the browsers are designed.
Many of those browsers would need a meta mask extension to access Dapps. However, iPhone users can use Dapps directly from browsers like Safari, Firefox, etc. Once you have the Dapp browser running, look for the Dapp you want to use.
Mind you, to use the Dapp, you would need to hold some tokens of the blockchain the Dapp was built on. For example, if you wanted to use an Ethereum-based Dapp, you would need to hold some Ether in your wallet before accessing the app.
Like you would need to hold some Ether before you can play CryptoKitties.
A decentralized app is just like any other app. The major difference is that decentralized apps run on a peer-to-peer network of computer servers. Most Dapps are built on blockchain networks.
Regular apps are controlled by a single computer. With decentralized apps, the functioning and maintenance of the app are shared among multiple computers within the network. When a developer creates a regular app, they retain control of how the app functions. With decentralized apps, once the app is released, the developer loses control of the app.
This means that other developers can build on the Dapp’s codebase without needing to take permission from the developer of the app. This is down to the fact that blockchains are open source and peer-to-peer.
Decentralized apps offer an extra level of freedom since no single entity can regulate how they function. However, it is important to know that decentralized apps are not perfect. They are susceptible to hacks since their code structure is open source meaning that anyone can get access to it.
Lastly, due to the newness of the technology, most Dapps don’t have a great user interface. This in turn discourages new users and reduces the growth of the technology. Nonetheless, Dapps are a great piece of technology that will only improve as their users grow and the industry gets older.