The world of cryptocurrency has not only changed how people view money, but it has also created a range of new and exciting words that did not exist before. One of the most popular buzzwords used by the blockchain community is decentralized applications, otherwise known as dApps.
There is a good chance that you are asking yourself, ‘what is a dApp, and what does it do?’. By the time you have read this guide, you will be able to answer both of those questions!
First, I will give you an overview of what makes an application decentralized. I'll also show you how the technology works, and how it can be used to solve real-world problems. Everything will be explained in a clear and simple way, with examples to help you understand each and every part of the learning process. To begin, let’s make sure we understand just what we mean by the term 'decentralized’.
Table of Contents
- 1. Decentralized Applications: What Does "Decentralized" Mean?
- 2. What is a Smart Contract?
- 3. What is a dApp?
- 3.1. Technology
- 4. How do I Build a Decentralized Application?
- 5. Real-World Examples of Decentralized Applications
- 5.1. Etherisc
- 5.2. Golem
- 5.3. Ethlance
- 6. What Does the Future Hold for dApps?
- 6.1. Energy
- 6.2. Politics
- 7. Conclusion
Decentralized Applications: What Does "Decentralized" Mean?
If something is decentralized, it means that it is not controlled, owned, or managed by a single person or authority. Satoshi Nakamoto, the creator of Bitcoin, designed the world’s first cryptocurrency with the aim of decentralizing money. However, as this guide will explain later, decentralization isn’t just good for the money — it can be applied to just about anything!
For New Coinbase Users
Receive your $10 bonus when you sign up for a new Coinbase account & trade at least $100. Follow this Coinbase referral link to activate the deal.
Satoshi Nakamoto is a pseudonym. The creator of Bitcoin used this name when establishing Bitcoin, but it later turned out to be fake. Nobody knows who the real creator is!
To keep things simple, we will use the example of the Euro (EUR). When a consumer walks into their local supermarket and pays for their groceries with paper money, they are contributing to a centralized system. This is because the buyer and seller do not control the flow of Euros.
That role is reserved for the European Central Bank, whose powers allow them to do many things that everyday citizens have no control over. This can include interest rates, increasing the supply of money or fees.
Unfortunately, as history suggests, central banks don’t always get things right, and it’s the people that use the banks that have to pay the price. However, Bitcoin challenged these beliefs by introducing a decentralized currency.
By being decentralized, the currency has no central bank or government that can control its use. Instead, the Bitcoin network allows society to have control. This means that anyone with an internet connection is able to view and verify transactions.
By using their computing power, the computers on the Bitcoin network (also known as nodes) are rewarded with new Bitcoin. This is why the nodes are also called miners. They mine by verifying transactions and are rewarded for doing so — it’s similar to how to a gold miner is rewarded with gold. Using this system, the blockchain can run in a decentralized way.
So, now that you understand what decentralization is, and how it can be applied to money, the next step is to understand the role of a smart contract in the decentralized application world.
What is a Smart Contract?
The smart contract technology was first introduced by Ethereum in 2015, creating many more possibilities than just financial transactions. Essentially, smart contracts allow two or more people to enter into an agreement based upon specified conditions. Once these conditions have been met, the smart contract is executed automatically.
To apply decentralized applications to a real-world example, think about selling a house. Normally, you must pay for a broker and application fees. Now, let’s imagine that with a smart contract:
- You put your house into a smart contract (this is possible using a token that represents the ownership of your house). You set the price at 150 ETH.
- The smart contract’s condition is that IF someone sends 150 ETH to the smart contract THEN the token is sent to that person’s address.
- So, if someone wants to buy your house, all they need to do is send the right amount of ETH to the smart contract.
- If it’s the right amount, the token (the ownership of your house) is sent to that person and the 150 ETH is sent to you. If it is not the right amount, then the ETH will be returned to the sender and your house stays in the smart contract.
By using the smart contract, you do not need a broker. You do not need to pay any application fees either. There is no central authority to trust, and so no commission can be charged! All you will have to pay is the Ether transaction fee for the nodes on the Ethereum network that are mining/verifying transactions. This fee is very small! It’s normally around $0.30 to $1.30.
Ethereum Average Transaction Fee | Source: bitinfocharts
There are endless uses of smart contracts, including booking hotels/flights, selling a car, lending money and many, many more.
The main advantage of smart contract technology is that it removes the need for a third party to verify an agreement. Every transaction is available to view on the public blockchain, and in this example, the funds were automatically distributed based on the conditions of the agreement. As smart contracts run on a decentralized system (the blockchain), there is no third party to trust!
Because of smart contracts, we can save endless amounts of money that are normally spent on commissions and processing fees. Not only that, but we can also save endless amounts of time!
Another great thing about smart contracts powering decentralized applications:
Once the smart contract has been submitted to the blockchain, it is impossible for it to be amended or changed, making it impossible to reverse. This means no one can tamper with the contract!
What is a dApp?
If you have followed our guide so far, you should now have a good understanding of what it means to operate in a decentralized system. You will also understand how much smart contracts can improve the future of business.
This now leads us on to the subject of what, often referred to as a dApp. Before we get into the technology of dApps (or, simply - decentralized applications), it would first be a good idea to understand the history of regular (centralized) apps and how they function. We’ll then explain why making these apps decentralized is so important.
A Brief History of Centralized Applications
In the early days of computers, apps would need to be installed directly onto the user’s device. Think about some of the games that you might have played, such as Tetris or Solitaire. These were examples of apps installed onto your computer locally, and they had no relationship with an external server (i.e. the internet).
In the later days of computers, apps gained the ability to communicate with the World Wide Web. A great example of this would be a web browser that allows a user to send and receive data from anywhere in the world. Next came mobile apps, providing the same features and benefits of a PC linked to the internet.
The key point here is that all of these apps are centralized, which is quite literally the opposite of decentralized applications. This might not concern the average user, but if you think about it for a moment, you might start to understand how it affects us. There are many ways in which centralized apps affect us and cause issues for us, which is why decentralization is so important!
dApp meaning: Why are dApps so Important and How do dApps Work?
Facebook — the social media giant — is used by people all over the world. Even though it’s banned in China (a country that has an estimated 20% of the global population), there are still more than 2 billion active Facebook accounts in use!
Think about the amount of private information you give to Facebook. Just by creating a Facebook account, you supply personal details such as your full name, date of birth, and the country you live in. However, through further use of Facebook, you provide so much more than that.
Facebook might have access to your location, your photos, where you work, what you eat for breakfast, who you are in a relationship with, and whether or not you have a pet fish. Multiply that information by 2 billion users, and the Facebook team have a very large database. This data is all held privately, on their centralized servers.
This means that you are trusting Facebook not to abuse the information you have provided them with. However, this information is often sold to marketing companies!
Centralized servers are also bad because if they shut down (because they are hacked or they fail/break), then the whole network will be offline — you wouldn’t be able to access Facebook. If Facebook used decentralized servers instead, and would be more like a decentralized application, it wouldn’t matter if one system shut down, because the network is the information is shared on many different nodes, not just one central point.
Not only that, but Facebook having decentralized servers would also mean that you wouldn’t have to trust anyone with your information. Instead, it would be stored on a shared database that nobody has control over. The information would be encrypted and the only person with the power to decrypt it would be you!
YouTube is another prime example of centralization — the YouTube management team has full control over the videos that are uploaded. If there is something that the platform does not agree with, they can delete the video. They can also block the user who uploaded it!
Another thing: although users can make money from their videos, YouTube takes a big percentage of the profits. If YouTube was a decentralized app instead, this would not be a problem. In a dApp, there is no third party (like YouTube) to pay and there is no third party to delete your videos or block you!
dApps are like an interface for smart contracts and the blockchain. Think of the blockchain as the internet, smart contracts as the World Wide Web, and decentralized applications as YouTube and Facebook.
It’s not exactly like that, but that’ll help you to imagine it.
Basically, decentralized applications allow us to use smart contracts and the blockchain in a user-friendly way. In the example we used earlier about selling a house using a smart contract, the dApp would be what you download onto your phone or use on your PC to actually set a price for your house, input the details and upload photos, etc.
When someone presses “buy” on the dApp, the dApp would send the ETH to the smart contract.
How do I Build a Decentralized Application?
Although decentralized applications are now available through many different blockchains, Ethereum is still the most popular. This is why you often hear the term 'Ethereum dApp'.
Those who are interested in building either a smart contract or a dApp must learn Ethereum’s programming language – Solidity.
The developers behind Ethereum designed Solidity so that anyone with a good understanding of more basic languages such as Java or Python, could learn how to use it. If you’d like to learn Solidity, you can use our Space Doggos program!
Space Doggos is a step-by-step course that will teach you the basics of Solidity in an entertaining way. Just follow the steps and build your own game! It’s specifically designed for beginners. Learning coding languages can often be dull and boring, so we made it fun!
Real-World Examples of Decentralized Applications
You should now have a good understanding of what a decentralized application is. You should also know dApps use smart contracts and that they are built using the Solidity programming language. Although the Ethereum Virtual Machine was only launched in 2015, there are many decentralized applications already available. Let’s take a look at three popular dApps that you can access today:
Etherisc is a decentralized application that improves the travel industry! The Etherisc dApp allows users to either buy or sell insurance for flight delays and cancellations. Using the Ethereum blockchain, each and every insurance agreement is available to view on a public database.
Once an insurance contract has been agreed upon, it is impossible to change. There are many different insurance packages to invest in, all with a different level of risk.
Most importantly, decentralization allows users to receive payments as soon as the outcome of the event is verified. That’s right — instant payments! It’s all thanks to the smart-contract technology that decentralized applications take full advantage of.
The Golem project takes decentralization to the next level. The Golem dApp allows users to rent out their extra computing power in return for its own token — GNT.
People who require extra power can hire this from another user on a peer-to-peer basis. All transactions are completely independent of Golem's network, ensuring that the platform operates in a decentralized way.
The Ethlance platform aims to decentralize the freelancing marketplace. Normally, those looking to sell their skills and expertise to clients online must go through a third party. As a result, both the freelancer and client will be required to pay a fee, with some platforms charging as much as 20% of the total project value. That’s huge!
This would work so much better on a decentralized system, which is why Ethlance was created! As Ethlance is a dApp, freelancers and employers use smart contracts to handle their transactions. This way, there is no middleman to pay a fee too! It also means that people are always paid on time and only when the work has been completed.
What Does the Future Hold for dApps?
There are more than 1,000 decentralized applications currently being developed, with many looking to make the world a more transparent and fair place. The blockchain community believes that decentralized applications will transform many industries, ranging from politics and gambling to energy and accounting.
Here, we will explain how two of these industries (energy and politics) can benefit from decentralized applications.
Electricity is a rare resource that is required by everyone. Unfortunately, the energy sector is mostly controlled by large corporations, whose only objective is to make as much money as possible.
Because of this, people have no choice but to pay expensive prices just to have access to electricity. Power Ledger is just one blockchain organization that is developing a dApp to solve this real-world issue.
The idea behind Power Ledger is to allow people to sell their extra electricity through a peer-to-peer marketplace. Not only does the project promote green energy such as solar power, but it also ensures that buyers pay a fair and transparent price. This removes the need for middlemen (large corporations) who would normally take a large cut of the profit.
Voting in a government election is an important human right for everyone. In the real world, we often hear that governments try to scare voters through threats and violence. We even hear that they cheat the voting system with fraud. As a result, politics is an industry that would benefit greatly from decentralization.
A group of developers that are looking to solve these issues has created FollowMyVote, which will allow people to vote using the Ethereum blockchain. By using a decentralized application to verify voters identities, elections can now be safe, secure and transparent.
With FollowMyVote, the voting system cannot be cheated — every vote is independently verified on the public blockchain and cannot be changed.
Other Industry Potentials:
- Loans and Mortgages
- Identity Verification
- Real Estate
- …and many, many others!
The purpose of this guide was for you to learn what decentralized apps are, and what they can do. By reading this article in full, you should now understand the main technology behind a dApp. You know that dApps (decentralized applications) are applications of blockchain.
You should also be able to explain what it means to be decentralized, and why it is so important.
Maybe you will decide to learn Solidity and create a decentralized application of your own? We would love to hear what you think about our guide and any ideas that you have for the future of decentralized technology.