Good day Steemians!
In the lecture for Task 8 of the Steemit Crypto Academy Season 4 Beginners' course, the lecturer, Professor @wahyunahrul taught extensively on Decentralized Applications, and their relationship to cryptocurrencies. I will be answering the first question for this task.
1). What are dApps? Explain the working system of dApps? What are the differences between dApps and other applications? Explain the advantages and disadvantages of dApps? How can dApps developers promote their apps? What should we pay attention to when using dApps? How do we find the information of a dApp that we want to know? Provide the steps (Screenshot required).
Let's get into it!
What are dApps?
Here's a shocker!: The concept of dApps came before the blockchain was invented! From the development of peer-to-peer file sharing, the emergence of the BitTorrent protocol, and privacy browsers like Tor, the concept of dApps came to be. However, nowadays dApps are mostly always associated with the blockchain technology, as this is what has really made their application feasible.
The first blockchain invented was the Bitcoin blockchain. This was used only for financial records and transactions. However, developers quickly realized that the blockchain technology powering the Bitcoin cryptocurrency could be used in so many other ways, and in 2013, the young developer, Vitalik Buterin, came up with the Ethereum blockchain.
With the Ethereum blockchain, Buterin hoped to create a decentralized, blockchain-based internet, eliminating the need for middlemen by implementing automated if-then statements called Smart Contracts. These smart contracts are permanent and immutable, just like the records on a blockchain, and as such provided a trustless system for transactions, without the need for an intermediary. This created the framework for the development of dApps. So... What are dApps?
According to the Ethereum website, "A dApp is an application built on a decentralized network that combines a smart contract and a frontend user interface."
What does this mean?
DApps are the functional implementation of the smart contract. DApps are applications built on a peer-to-peer network rather than a centralized server. This means that dApps are not controlled by a singular authority, but, just like the blockchain, are managed by the participants of the network.
How do dApps work?
As already stated above, dApps work through Smart contracts. So, in order to understand dApps, we would first need to understand smart contracts.
What are smart contracts?
A smart contract is essentially a collection of code/ a program, written and uploaded onto a blockchain, that once uploaded on a blockchain can run independently, exactly as programmed and without the need for a central authority.
DApps employ smart contracts in their backend code, which runs on a decentralized network, while their frontend code and user interface can be written in any language that can call up its backend.
Differences between dApps and other applications
Let us take a look at how traditional apps function. Traditional apps are built on centralized networks I.e. a centralized network hosts the application servers. This means the apps are typically managed by one party, and as such are vulnerable to malicious attacks or data breach from that central point.
However, with dApps, due to the fact that, instead of a centralized network, and a central party in control of them, they are on a decentralized network, and controlled fully by the logic built into the smart contract. This makes them much less vulnerable to malicious attacks from hackers and the likes. For a hacker to attack a dApp, they would have to get control over the majority of the existing nodes on which that dApp is running.
Another thing to take note of is that, due to the decentralized nature of dApps, there is no one in charge of one's data and assets, except the individual. There is no central authority in charge of data management on dApps, unlike with centralized apps.
Advantages of dApps
Here are a few advantages of dApps:
- Zero downtime: Of recent, Facebook, and all connected apps like Whatsapp & Instagram, experienced downtime due to errors from their centralized servers. This can never happen in dApps, because, if a node running the dApp on the network has any challenges, it doesn't affect the dApp or all the other nodes on the network
- Security: dApps are tamper-proof, and immutable, just like the blockchain, hence they are very secure from hackers and other potential malicious attacks.
- Anonymity: Users of dApps do not have to provide real world identification most times to use them. However, wallet addresses and interactions are stored by the dApps. This provides some level of privacy to dApp users.
- Cost of Development: DApps cost much less to develop than traditional centralized apps where one has to take into consideration things like cost of cloud server fees, maintenance fees, and other fees.
- Ownership & Control: With dApps, users can be completely in charge of their data and assets.
Disadvantages of dApps
Of course, nothing is completely advantageous, and everything must have a not-so-good side. Here are some of the disadvantages of dApps:
- It is difficult to change the source code of, upgrade, or maintain dApps. Even when bugs are discovered on these dApps, most times modifications cannot be made. This is because they have already been uploaded to the network, and there is no central server to modify from.
- The user interface of dApps is usually complex and frankly unappealing for most dApps when compared to their traditional counterparts.
- Usage cost. Many centralized apps do not have any fee attached to their usage. However, most dApps have concomitant fees with every transaction or action one does on the dApp.
- DApps are generally much slower than centralized apps. Most blockchains are not really very fast, and have low transaction speeds. DApps built on these blockchains end up being quite slow as well. Although, some third-generation blockchains are built to have really high speeds and this would increase the speed of dApps that run on these blockchains.
- The lack of a central authority can also end up being a disadvantage, as there is no one to mitigate human error. For example, if one makes a transaction to a wrong address. There is no one to report to.
How do dApps developers promote their apps?
There are a variety of ways in which dApp developers can promote their applications. Some of these are:
One of the ways dApp developers promote their applications is through Pre-launch Airdrops and ICOs. DApps usually have tokens which incentivize users to use the dApps. If the dApp is deemed useful and important by investors, they would like to participate in the ICO and bag some of the tokens for themselves, in hope of the tokens increasing in value.
People would also be interested in participating in the airdrops for the same reason. These airdrops usually have some sort of referral scheme built into them. This brings many people to the knowledge of the dApp.
Another way dApp developers promote their applications is through social media. Social media is a very good platform for advertisement, and many dApp developers have taken to Facebook, Instagram, Reddit and most especially to the streets of Twitter, hoping to promote their applications and gain a lot of traction. This is a useful strategy, especially when paired with the Airdrops and ICOs.
Things to pay attention to when using dApps?
Because dApps are generally built differently from the regular centralized applications, there are a few things one should watch out for when embarking on the journey that is using a dApp.
Firstly, one should ensure that the dApp is not a scam. This is done by finding information on the dApp from reliable sources. The sphere of cryptocurrency is so large, and welcomes everyone; the good, the bad, and the hackers. One should always ensure to analyse dApps before usage, to reduce risk of being scammed.
One should always ensure that data being entered into a dApp is correct, especially transaction data. This is because dApps do not have any central authority to help when mistakes are made. So, one should always double check data like wallet addresses and amount before making any transactions.
How to find the information on a dApp of choice.
To find the information on a dApp which you want to use, you can visit dAppRadar.
For this example, I will be using the dApp, UNISWAP.
- Go to dAppRadar.
- Search for the particular dApp you want and select it. In this case it is UniSwap.
- The site brings up information on the dApp you have requested. This information includes links to the dApp website and social media profiles (if it has one), a small description of the dApp, its ranking and more.
You can also search for the dApp token on CoinMarketCap to gain more information.
DApps are an amazing addition to the blockchain technology, and they come with all their own advantages and disadvantages. Hopefully, in time to come, they will be more functional and see more adoption by the masses. Thanks for reading my post!
-IamEl the ModestPoet
N/B: All pictures not cited, were designed by me using Canva, powerpoint, or gotten from the respective websites.