11/04/2017

The archive contains older posts which may no longer reflect my current views.

Federated, decentralised or distributed

As is so often the case, especially when Twitter appears to be struggling, another social network takes its turn as media darling and "saviour" of microblogging.

Currently, that dubious honour falls to Mastodon but, this time, there is a difference.

And I don't mean in a good way.

There is a curious duality happening with Mastodon, even within the same articles: although it is described as federated or decentralised it is still discussed as though it is a single network.

It is discussed as though a distributed network, as if it is a singular thing Well, it is but that thing is a platform not a network.

You only have to look at the language being used, and the apparent misunderstanding of it, to realise there are problems.

Models

We need to look at the traditional definitions of various terms to see what is going on.

Firstly, a distributed system is one where components on networked computers communicate and interact with each other in order to achieve a common goal.

The term federated usually relates to local governments or organisations where they are "formed into a single centralised unit, within which each state or organisation keeps some internal autonomy."

Decentralised means "withdrawn from a centre or place of concentration; especially having power or function dispersed from a central location to local authorities."

On the face of it, a federated or decentralised network should be fine but when working in a way that is really distributed - network nodes rather than instances.

The problem Mastodon is experiencing, however, is that it is a loose federation - individual instances choose those they want to be federated with or which ones they will permit to federate with them.

While there may be connections between instances there is no guarantee that any given instance will be connected to another or even that existing connections will remain.

Together but separate

The root of the issue stems from instance autonomy: because they hold individual power and set their own terms, their goals and purposes are not aligned.

Rather than being elements of a larger whole they are a series of independent networks that just happen to use the same software and can, should their owners wish it, talk to each other.

Even the very term "instance" seems to be misconstrued, used synonymously with node when it should be interpreted as "self contained network."

An oft touted benefit of federation is that if a particular instance goes down you can move to another but you are only you on a single instance. Moving to another actually requires starting all over again.

Distributed identity is a major issue.

While you can be mentioned between instances their federation state (and with others) reduces the value of conversations as there is no reliable, shared public timeline.

For the best experience you must ensure you are on the same node as those you want to talk to in which case you instantly lose the benefits of federation and might as well be back on a centralised service like Twitter.

For all the benefits of being built upon established, open protocols the Mastodon group of networks suffers by being a disorganised jumble of confusing names, agendas and individual usage agreements.

This is, of course, assuming we want it to act like Twitter.

Most signing up would probably say yes.

Scale

Is it possible to run a federated network and have it function at scale? If we are judging it according to literal definitions then probably not.

Instances need to act more like nodes in the wider network offering redundancy, guaranteed connection and consistent identity.

Is that decentralised or distributed?

The spread of function and power between nodes is key. Any disparity and decentralised starts becoming federated with all its inherent issues.

Do we really need a network to scale? Unless it is a specialised, niche network then yes.

Metcalfe's Law tells us that the value of a network is proportional to the square of the number of users so a generalised, all purpose network relies on increasing its userbase. Twitter's apparent inability to do this is what got everybody spooked and looking for alternatives should the worst happen.