How To Build a Decentralised Website - Part 1
— How-To — 5 min read
How to Build a Decentralised Website - the Ultimate Guide:
- Understanding Decentralisation
- Understanding Blockchains and Funding (via tornado.cash)
- Decentralised Domain and Hosting (via the Ethereum Name Service aka ENS and IPFS aka the InterPlanetary File System)
- Full Walkthrough: Building a Website on ENS
- Update: Definitely Just Use Fleek
There are no other constitutional rights in substance without freedom to transact. @Punk6529
What's up guys.
Seeing the situation with the Canadian truckers and the weaponisation of the financial system got me thinking. I highly encourage you to read @punk6529's thread in full if you haven't already. Though it sounds suspiciously like the ravings of a conspiracy theorist, given that the technological tools exist for governments to censor the free speech of public figures (using web2 tools as their platform), it is perhaps just a matter of time until a meaningful amount of well-intentioned people are looking for a complete guide on how to share their thoughts with the world on a censorship resistant platform. I say a matter of time, but I'm sure a substantial proportion of people would argue that the de-platforming of Alex Jones in 2018 was a landmark moment in terms of web2 companies, at the behest of the government, acting in concert to drastically limit the reach of a popular but controversial figure.
So here it is - the ultimate guide on how to build a decentralised website using ENS.
Can a Website be Censored?
To understand what we're going to build, we first have to understand the mechanics by which websites are censored. Normally, when you register a domain name, you are required by law to provide information such as your name and address, plus some means of payment. If the content on the website is considered to be in violation of the law, the government will order the business you used to register the domain (GoDaddy, HostGator, NameCheap etc) to take down the content, or take down the website altogether.
On the large web2 platforms such as Twitter, YouTube, Facebook etc the censorship process is more simple to execute and more extensively used. Concerningly, it's also not necessarily beholden to any law - if you share or produce content which is against the stated terms of the site, your right to use the platform will simply be removed. Several web2 companies have come under fire for applying their rules in an inconsistent, some would say arbitrary way, de-platforming people for their views or their politics, in direct contradiction with the first amendment.
What Is a Censorship Resistant Website?
A censorship resistant website is one which is robust to the methods by which government agencies (or large web2 companies) would seek to take down content. The key to creating one is to use infrastructure which is decentralised rather than centralised.
What do you Mean by Decentralisation?
Decentralisation is a much used, often misunderstood term. A service is decentralised if there is no one authority with the power to withhold the right to use the service from any given customer. Public blockchains are a good example of this - it is practically impossible for any authority to remove someone's right to transact on the Bitcoin network, as was beautifully expressed by Nunchuk in response to the Ontario Superior Court of Justice.
Limitations of the Decentralised Web
This guide will walk you through the process of building a decentralised website. While you might be in a rush to get started, I encourage you to go slow with the process, to think through all your options thoroughly and to use your brain. This is a spot to use Murphy's Law - anything that can go wrong will go wrong. If you absent-mindedly use some service for which you need to supply your personal details and - even temporarily - publish something that links to your real world identity, it's possible that in a full-blown apocalyptic scenario your website will remain online longer than your right to use the financial system/enjoy the due process of the judicial system. Bear in mind that you are taking actions on the blockchain which can never be undone, and you are potentially operating in the view of both sophisticated players today and the exponentially more sophisticated players of the future.
On top of this, as the technology currently stands today you can only host static websites on fully decentralised services, which means your website is subject to some limitations, plus updating the site is a slightly more complicated than it is on the equivalent web2 platforms.
Also, a disclaimer: while the guide I'm sharing with you represents all I've learned in the last few months about building a fully decentralised website, I cannot make any guarantees as to its' efficacy, and I definitely would not trust my life/freedom to it. While it's probably sufficient to publish a simple blog where doxxing your identity is at least difficult for a normal internet user, it's almost certainly not going to be secure enough such that a high-profile government target (I'm thinking of Edward Snowden) could shield their identity. For example, your ISP has a complete record of your internet history, so it's possible that they would be able to make a highly accurate guess as to your identity if they were incentivised to.
Now that we understand why this decentralised property is important, let's establish how blockchain technology can help with this problem. Move on to part 2 to get to grips with the foundation upon which we will build our metaphorical house..
GL out there.