ZeroNet is a project that allows people to create decentalised peer to peer websites, as all websites are decentalised it is free to host, can’t be geoblocked, it very resilient to censorship and is difficult to attack via DDOS. Although websites on ZeroNet are distributed across the network it is much more secure than the normal web as it uses “Bitcoin cryptography” aka websites are signed by the same public private key cryptography that is used in Bitcoin.
In this blog post I aim to explain to you the basics of ZeroNet, how it works and how to use it. I have a YouTube playlist of videos I made explaining the separate parts of ZeroNet in more detail. Since making the first video “Introduction to ZeroNet” (3 weeks ago) ZeroNet’s popularity has increased by 15-20 times; it is difficult to get an accurate estimation of the number of people using ZeroNet due to its decentalised nature (the reasons will be stated lower down). This increase in popularity is mostly due to ZeroNet being featured in TorrentFreak due to Play a ZeroNet site that shares magnet link to movies (ZeroNet does not condone or support piracy just like the regular internet piracy sites exist).
This post is long so I have broken it down into many subsections;
One of the reasons why ZeroNet is so good is not only does it have a very nice user interface but it is simple to install and use. To install all you need to do is go to https://zeronet.io download the ZeroBundle for your operating system, Windows, Mac or Linux extract the zip and then click the single file to install ZeroNet. The installation is that simple, although it runs on Python 2.7 and has multiple dependencies they are all included in the bundles.
ZeroNet allows for peer to peer sharing of websites, it does this not by reinventing the wheel but by incorporating existing technologies. The main things are the
content.json, finding peers and anonymity.
A website initially consists of a file the
content.json this file is signed by the websites owner, this signing is done by public private key cryptography using the same keys as Bitcoin uses (so you can accept bitcoin payments to your sites none .bit domain). Public private key cryptography is somewhat complex to understand on a mathematical level however all it does is allows you to verify that the
content.json was signed by and only by the sites owner (unless they gave the key to someone else too). Websites are dynamic meaning that they can be updated, this means that many
content.json files can be signed for by the sites owner however only one will be valid. The valid
content.json is the file that contains within it the latest time, older signed
content.json’s are discarded. This number could be an increasing integer e.g. 1, 2, 3 however using the time stamp is better as the chance of accidentally having two valid signed
content.json’s would be reduced drastically.
content.json contains a SHA512 hash of all the files and their sizes in bytes. This allows you to then get the files from the other peers that are seeding the website.
As ZeroNet is peer to peer you need a way to find other people that have the
content.json, this is currently done by using regular torrent trackers (and Tor torrent trackers). When ZeroNet sends the tracker a request containing the SHA512 hash the tracker sends back a request with the IPs of the people that have that file so you can connect to them however ZeroNet does not use conventional torrenting to exchange files and thus does not allow file splitting for files larger than 1MB.
On ZeroNet users can be optionally anonymous, this is done by using Tor (The Onion Router). Tor allows anyone to hide their IP address by bouncing their internet traffic through multiple encrypted proxies to an exit node. ZeroNet allows people to use Tor to hise their IP address, connections between people using Tor are done via Tor hidden services so Tor exit nodes are not used. This Anonymity the ZeroNet provides allows people in countries like China, Russia or Iran to have access to and easily publish information, without being traced.
Anti-Censorship is important, information like the Tiananmen Square Massacre is only known to the general public because the Chinese government censorship was not strong enough to stop the spread of information. Other governments are also not immune to criticism for example with Wikileaks or Edward Snowdens leaks and they too have tried to censor the spread of information from forcing Newspapers to destroy their hard drives to death penalty or imprisonment for whistle blowers. Chelsea Manning’s a whistle blower currently in prison for releasing documents to WikiLeaks and further “threatened with indefinite solitary confinement for having an expired tube of toothpaste in her cell and being found in possession of the Caitlyn Jenner Vanity Fair issue” which would have been given to her whilst in prison.
This is why Anti-Censorship is important
How does ZeroNet help with this?… Upon creating a website you are given a private key to sign for the content of the ZeroNet site (or you can choose your own keys), these keys mean that only you can sign for this ZeroNet site. The fact that the sites are verified by this key means that the network is censorship resilient, when the anonymity of Tor is included this makes the sites nearly impossible to shut down. The only way for your site to go down is if everyone on your site decides not to seed (unlikely because many people/servers are set up to host all ZeroNet sites) or you get forced to use your private key to wipe the site. If you are using Tor and leave no other traces then you will be extremely hidden this means that whistle blowers will not be found.
Due to the nature of ZeroNet you can go one step further and create a ZeroNet site (with the information on it) sign it and “forget” aka don’t save the private key. If you don’t have the private key then no one at all can edit the site, so no one can take it down not even you. This of course comes with the down side that you can’t update your site at all.
Ok, so some sites already hosted on ZeroNet in no order (links only work for ZeroNet);
Zeronet is new and potentially has a big future ahead of it. The community is fairly small and the project is currently in its alpha stage this is good in some aspects as it is easier to introduce new features. Bitmessage is a planned feature that will allow users to post forms, requests and other information over Bitmessage this will allow ZeroNet sites to scale better because not all requests need to be sent to all ZeroNet peers. Large files (bigger than 1 MB) are not ideal for ZeroNet as it does not currently support file splitting for the downloading and uploading data, this may be introduced in the future however there would be the concern that people may make websites to stream large videos this is not good for ZeroNet especially the users who have Tor enabled. To allow large files to be transferred I2P may be incorporated however ZeroNet is far from reaching this goal if it will be introduced at all.
Subscribe to this blog via RSS.
Adblock (2) Ethics (1) Adverts (2) Images (1) Formats (1) Zeronet (2) P2p (3) Dns (1) Zookos triangle (1) Data (2) Maths (1) Bitcoin (1) Blockchain (1) Svg (1) Python (2) Regex (2) Coding (2) Coding challenge (2) Repl.it (1) Emoji (1)