Skip to main content

This is a new website theme. Help me improve it and give your feedback (opens in a new tab).

Decentralise (in a kind of centralised way)

Published:

Tags:

Digital Rights Planet Debian 57north Cryptonoise Planet FSFE Hacking Privacy
This blog post is more than two years old. It is preserved here in the hope that it is useful to someone, but please be aware that links may be broken and that opinions expressed here may not reflect my current views. If this is a technical article, it may no longer reflect current best practice.

Once a month I am involved in running an informal session, loosely affiliated with Open Rights Group and FSFE, called Cryptonoise. Cryptonoise explores methods for protecting your digital rights, with a leaning towards focusing on privacy, and provides a venue for like minded people to meet up and discuss the state of the digital landscape and those that may try to infringe on the rights of digital citizens.

We’ve all made it easy for large enterprises and governments to collect masses of data about our online activities because we perform most of those activities in the same place. Facebook, Google and Twitter spring to mind as examples of companies that have grown to dangerous sizes with little competition. This is not paranoia. This is real. We make it a lot more difficult when we spread out.

Our meetups are held at 57North Hacklab and at the last meetup on the 29th September I set up a GNU Social instance for the members of 57North. GNU Social provides the same functionality as Twitter but as a decentralised federated network.

Federation is a feature that is found in protocols like E-Mail, XMPP and SIP. It doesn’t matter which server you’re using, you can still talk to all the other users on all the other servers. While I’m using social.57north.org.uk I can still follow FSF on status.fsf.org, for example, with no prior coordination with system administrators or anything complicated. It all just works.

People have pointed out that I’ve just introduced another point of centralisation but I don’t see it necessarily as a bad thing. I think too many users in a single service starts to look dangerous but as long as user counts don’t go too high I believe that the benefits of sharing the administrative workload (performing updates, monitoring, keeping the TLS cert current, etc.) far outweigh the effects of having a few extra users. I think 100 is probably about the maximum number I would be comfortable with, although I’ll admit I’ve not based this on anything and it’s chosen arbitrarily.

The jabber.ccc.de server is an example of a service that grew too large. It was set up by members of CCC and made available to all, but ended up becoming the de facto service for hackers. The jabber.ccc.de team have made appeals for others to set up their own servers, and you should. For a great overview and guide for setting up your own real-time commmunication servers, check out the RTC Quick Start Guide.

This work was enabled by Shell who had previously set up a Central Authentication Service, which GNU Social already had a plugin to use as the authentication backend. No one likes to have a whole load of different passwords for different services and integration with this allows for identities to be consistent across the 57North services. She has also setup a Matrix homeserver, another step towards decentralisation and an end of reliance on centralised giants.

If you have an account on a GNU Social instance, you can follow me here.