Building Censorship Resistant Tools and The Introduction to Custom Bootnodes and Mail Servers

chadyj
Status Blog
Published in
3 min readJun 20, 2018

At Status, we are building censorship resistant tools to help ensure all people have the right to freedom of speech and privacy. We have seen far too often oppressive governments taking advantage of centralized services to monitor, censor and outright restrict open communication. We have seen Telegram shut down in Iran during protests, as well as be severely restricted in Russia. In fact, Status faced similar issues in Russia on the road to creating a more thoroughly censorship resistant means of communicating and interacting. The Ethereum public blockchain is the foundation on which we can achieve this goal, but it requires a lot of work by the talented developers in the community committed to the vision of a decentralized and open web.

We took a large step in the right direction in this week’s release (0.9.20) with the introduction of custom bootnodes for improved Russian compatibility and custom mail servers for an eventual distributed messaging experience.

What are Custom Bootnodes and Mail Servers?

When you initially download Status and open the app, you need to connect to some peers in order to receive information about the network and to find yet other peers. The nodes used to provide this service are called bootnodes. They are your first friends in Status and help you to sync and connect with other peers all around the world.

However, bootnodes are also the most vulnerable point in the whole protocol: if a censoring third party finds your bootnodes and blocks them, then no-one can connect at all. So, we need to make sure people can specify their own bootnodes, their own sets of friends, whom they trust to connect them to the whole network and allow them to catch up with the state of things. This way, you can set any full Ethereum node (with Whisper enabled using certain parameters) as the one you wish to use to connect, removing entirely the need to trust Status’ infrastructure.

Mail servers are an improvement we implemented in Whisper that save your messages while you are offline. The next phase of the work here will be adding cryptoeconomic incentives to how they run order to make sure as many different and diverse people are incentivised to run these as possible.

Mail servers are just normal machines running with some fixed IP somewhere in the internet. In case of IPs being blocked, such as we saw with Russia banning 16M IPs recently, these might be inaccessible though, making messaging very unreliable. Again, by allowing people to specify their own custom mail servers, it both increases the resilience and robustness of our protocol, and also removes the need to trust Status’ mail servers — you can now just run your own.

Why is this important?

Custom boot nodes and mail servers mean we can provide a protocol with multiple mitigation techniques built-in that allows our users to run the network themselves without relying on any potentially compromised infrastructure. We are very serious about being able to run in countries and jurisdictions opposed to free speech and other fundamental rights. By making sure that the community of users who chooses Status can run core parts of the network themselves, in ways which suit them, we think we can achieve that goal.

Plans for the future

In the future we hope to provide this capability along with appropriate cryptoeconomic incentives for running parts of the network yourself in order to provide more interesting and complete security guarantees, with added redundancy and resilience.

Interested in using your own bootnode and mailserver but not sure how?

We will share a detailed walk through in part two of this post, coming soon!

--

--