14 January 2015

Distributed vs Centralised vs Decentralised


You start off distributed, then you centralise, then you decentralise. We tend to think of our world in terms of an order/disorder dichotomy. Anything that isn't heirarchy based order is seen as disorder which is why the word "anarchy" is often mistakenly defined as chaos or disorder.

For centuries we've thought that an ordered system requires the sacrifice of freedoms but in recent decades and in the past five years in particular we've started using a new kind of order in our systems, one which regains the freedoms and fluidity of anarchic systems without sacrificing efficiency and security.

At each of the three centralisation stages a system will have micro-systems or be part of a macro-system that may be at a different stage of centralisation.

Distributed

Each entity is a copy of the next, sometimes identical but usually with minor to moderate variations. The entities may interact with one another through various sharing protocols but ultimately each one needs to gather or produce what it requires independently of other entities.

Distributed systems have a high level of redundancy which is highly inefficient but very safe and very free. If one or more entities go down the others continue unabated.

Some examples would be:
  • Offline software
    • Microsoft Office
    • Offline map software
    • Single player games
  • Most plants and animals
    • Most mammals, reptiles and invertebrates
    • Most viruses and bacteria
  • Basic social structures

Centralised

Centralisation is where a distributed system organises itself into some kind of hierarchical structure, it then runs a form of central management. The leader or server is there to unify the group in the interest of collective stability and progression. In exchange for freedom the group receives a balance of security and efficiency.

If one or more entities go down the group generally continues with little or no impact. A major disadvantage of the hierarchical structure is that certain entities within a centralised system are more important than others. For example if a server goes down the entire system that belongs to it goes down with it.

A centralised system can be improved in order to maximise the balance of efficiency and security but ultimately a plateaux exists where efficiency cannot be increased without negatively affecting security or vice versa. Human society currently exists in this stage and is moving into the next, our social and information systems tend to reflect that.

Examples of centralised systems would be:
  • Online software
    • Google's web apps
    • Facebook
    • MMO games
  • Some species of animals
    • Bees
    • Ants
    • Termites
  • More modern social structures

Decentralised

With the introduction of the Internet our awareness of decentralisation was born. However, it's taken many years for us to start building decentralised subsystems. For the most part we've used the Internet to build distributed systems (basic web pages) and more recently centralised systems (Google web apps, Facebook, etc.).

BitTorrent has come along and reminded us about decentralisation. A decentralised system is not built around hierarchy and is therefore immune to the "cut off the head" weakness that central systems are vulnerable to. However, a decentralised system is still centrally managed, not by a leader or server but by a trustless interaction protocol.

In order to participate in a decentralised system an entity must adhere to the protocol when interacting with other entities. An entity is then able to take full advantage of what the system provides without any other obligations at all.

If an individual entity behaves in a way that is incompatible with the current protocol it will simply be excluded from the current system and then becomes a new system with one entity. Entities from systems using the current protocol can either switch to the new protocol or reject it. Old and new protocols can however be made compatible and interact with one another while individual entities migrate across.

No single entity is required to uphold the system as a whole or even large portions of it. Every entity holds a full copy of the protocol, therefore the entire system can be rebuilt as long as at least one entity survives. Popularity and participation determines which protocols become dominant. This is real democracy.

Examples of decentralised systems include: