Decentralization has been a trendy term in the last two decades or so. We now have Web3 world, where people build and host decentralized websites and applications. Decentralized websites are hosted on decentralized networks, and decentralization is one of the building blocks of the Web3 world. But how does this work?
In this tutorial, I will give a step-by-step guide on how to host a decentralized website. I will also explain what decentralized web hosting is, its benefits, and its drawbacks. We will also explore the differences between centralized and decentralized web hosting.
What is Decentralized Web Hosting?
We must look at the current internet landscape to understand how decentralized web hosting works. The internet is a large network of interconnected computers that give us access to and allow us to share information worldwide.
However, all this data is stored on centralized servers owned by big corporations. Such corporations have a say over the nature of information we can share and access. Something sounds off.
Decentralized web hosting seeks to solve some of the challenges centralized servers present. The former gives better control over data, security, and privacy.
Decentralized web hosts rely on distributed computers (nodes). These nodes store and deliver content to users through a peer-to-peer network. Every node on such a network contributes storage and computing power.
A node stores a small chunk of the information, which is then encrypted and reproduced across the nodes in the network. Every time there is a request for a certain piece of data, the decentralized system will retrieve it from the nearest node.
Benefits of Decentralized Servers
The proponents of decentralized web hosting offer these advantages:
Censorship resistance: Have you ever been banned for expressing your opinions on a forum or social platform? I have been suspended on Facebook severally for posting content that goes against the ‘community guidelines’. It happens all the time as the owners determine what is ‘good’ for the audience or not. Even though censorship is debatable, decentralized servers offer a solution where users can air their views without being censored.
No downtimes: As already stated, decentralized networks rely on distributed nodes. Take, for instance, we have a distributed system with 1000 nodes in different parts of the world. If one node in Chicago, USA, fails, we still have 999 nodes that will distribute content to users.
Secure: A centralized server offers a single point of failure. If hackers get hold of the centralized server, they will have full control and can put the entire system down. A decentralized system has its servers distributed across different computers (nodes). Hackers can only control such a system if they hack over 51% of the nodes.
Privacy: Data in a decentralized network is encrypted and distributed across different nodes. It thus becomes hard for people with malicious intentions to track the activities of a website user hosted on a distributed network.
Prerequisites for Hosting Decentralized Websites
Understand how Web3 works: You can learn Web3 through our recommended resources.
A decentralized domain name: The cost of a domain name will depend on the registrar you choose. For instance, if I run my first name on Unstoppable Domains, I will get the following options:
As you can see, I can get a domain for as low as $40.
A skilled web developer: If you hire a web3 developer, you will spend about $50.4/hour, according to ZipRecruiter. How long it will take to develop a decentralized website/app will depend on its complexity and desired features.
Gas fees: If you want to build your website/application on top of another application like Ethereum, you must incur one-time deployment costs (gas fees). For instance, it cost the CryptoPunks team $7.65 to deploy their NFT project in 2017.
How to Host a Decentralized Website
Decentralized websites are easy to build and host with the right tools. These are the steps to follow:
#1. Create website files
To create a website and host it online, you need to create website files and then find a way to let them communicate with the servers. You need various web3 technologies and tools to achieve this.
A domain name makes your decentralized web application discoverable. Centralized organizations own most domain names. You can get a domain name from decentralized providers and overcome control. A platform like Unstoppable Domains will be a good starting point.
#3. Host the files on the network
It is time to store your website files on a web3 system like InterPlanetary File System (IPFS). However, you must ensure that you split these files into small bits to distribute them across different nodes on the decentralized network.
#4. Connect the domain and the website files
You must point your website files to the Domain Name System (DNS). The time it takes for DNS to propagate will vary from one provider to another. Once the connection is done, you will have a unique hash or identifier.
#5. Test your decentralized website
Your website should be accessible on the Internet. You can now type your domain on your search engine’s search bar. A web3 browser like Brave will be a good choice for testing.
Examples of Decentralized Websites
You may have unknowingly interacted with a decentralized website/application as you browse the internet. These are some good examples:
Uniswap: This is one of the most popular decentralized exchanges that allows users to trade ERC-20 tokens.
Aave: This is an open-source liquidity protocol where users can lend, stake, borrow, and earn from their crypto tokens.
Brave: It is a native browser that you can use to access decentralized applications.
Decentralized vs. Centralized Web Hosting
You can either host your website with a decentralized or centralized web host. These are the differences between the two:
Decentralized Web Hosting
Centralized Web Hosting
The infrastructure that hosts decentralized websites is distributed among the network participants
The hosting platform owns the infrastructure that hosts all the websites under its umbrella
A decentralized network encrypts all the data that is shared between different nodes. Getting hold of one node also doesn’t amount to hacking
A centralized network is vulnerable to hacking as long as there is only one point of entry
Decentralized hosting can be expensive as there is not much competition in this field. The users might also need specialized infrastructure, which is not cheap to acquire
Centralized hosting is affordable for many people. Some platforms have amazing offers, while others even give free domain names when users purchase certain hosting packages
Point of failure
A decentralized network is powered by different computers distributed in different parts of the world. When one computer(node) goes down, the system will continue operating
Single servers power centralized hosting systems. When such a server goes down, then the entire system with all the hosted websites goes down
Decentralized networks may need complex infrastructure to scale
Centralized networks are easy to scale and accommodate as your website needs grow
Challenges of Decentralized Web Hosting
Despite the clear advantages that we have given of a decentralized website, this new concept poses some potential challenges:
Technological know-how: Setting up a decentralized application is not as straightforward as many website owners may want. You have to configure everything yourself, which can be hectic and time-consuming if you are not tech-savvy.
Regulatory challenges: We have seen a lot of regulatory uncertainty, especially in the blockchain and crypto spaces. Some countries have entirely banned the use of crypto in their borders. A simple change in the rules can render your website illegal or useless.
Lack of enough tools and frameworks: Web3 is still a new concept. We thus don’t have enough tools, frameworks, and resources to support the creation of decentralized applications. Most developers have to build everything from scratch.
Future of Decentralized Web Hosting
The concept of decentralized web hosting is still young. These are some of the trends dominating this space:
The growth of decentralized social media platforms: Censorship in the social media space has created an international uproar. We now have decentralized platforms like Steemit where people can air their opinions as they wish.
The growing adoption of Blockchain technology: Various technologies promote decentralization. However, blockchain, the technology behind cryptocurrencies, has been the main driver.
Development of web3 infrastructure: We are seeing a lot of time and resources being invested in this space. For instance, big corporations like IBM and Meta have heavily invested in Blockchain.
Peer-to-peer networking: Users no longer have to rely on centralized servers to share documents due to the emergence of peer-to-peer networking.
You can host a decentralized website to ride on the web3 wave or benefit from a decentralized system. I have given all the steps you need to host a decentralized application.
The choice of website to create will depend on your needs. For instance, you can create a decentralized educational platform, a finance platform, a peer-to-peer lending app, or a trading app.
Have you ever wondered how it is possible that every time your product owner brings in some new feature topic, the team response is they need to investigate technical possibilities and create some form of design before they can be sure how to develop that feature? Then that’s most likely because you have no Architecture Runway in place.
Google Docs does a great job of keeping things simple. The default page setup works great for most documents, and common formatting options are right on the toolbar. However, when you need to do some advanced formatting, you’ll need to dig a little deeper.