Evolving Terminology with Evolved Technology: Decentralized versus Distributed

As we all may be aware, the term ‘decentralize’ has grown in popularity over the years with increased excitement around bitcoin and increased understanding of technology without central points of control or failure. The invention of bitcoin isn’t the first instance to implement this philosophy and it certainly won’t be the last. This term, however, could use some clarifying as these ideas become more mainstream to avoid dilution, or misinterpretation. What people call a decentralized network is already contested within communities like bitcoin and in particular how it is related to a distributed network. As MaidSafe pushes towards launch of the global SAFE Network and continues outreach to groups both within the community and part of a more mainstream audience, it will be of growing importance that we have a standard way of communicating these values and I hope that such standards will be adopted by related communities.

Distributed Networks and Central Administration

Several months ago I designed and published a graphic with the intention of helping to better illustrate the core properties of centralized, distributed and decentralized networks in collaboration with Bitcoin developer, Peter Todd:

networks

I also recently put together an updated diagram from a similar but slightly different perspective:

networksV2

My motivation for creating the original diagram grew after coming across the following diagram a few years ago from a series of publications by Paul Baran, “On Distributed Communications Networks” originally published in 1964:

This graphic by Baran has had a fair share of use among presentations I’ve seen over the past couple years since coming across it myself. It seems to be the only graphic detailing distinctions between the terms and with the reputation of being created by one of the original expert computer networking engineers, I don’t blame folks for gravitating towards it. Unfortunately this chart creates a misleading perception that the term distributed is analogous to peer-to-peer. At first, I also conformed to what the illustration was attempting to convey and momentarily modified my use of the terms ‘decentralized’ and ‘distributed’ to adhere to the 50 year old diagram. However, it didn’t sit quite right with me after doing some investigating on my own to more modern uses of distributed. This may have been an accurate use of distributed during the beginnings of computer networking implementations when the paper was written, but I would argue that this is no longer the case. Distributed computing incorporates everything from the standard client-server model, where some or all computation for a client is offloaded to a more powerful server, to networks like SETI@home and Folding@home where many computers take on individual tasks and send results back to an administrator for compilation or perhaps further analysis. As long as computers within a network pass messages between each other to coordinate actions or communicate, the system is said to be distributed, however, that does not mean a central administrator or hierarchy is not present in the system as well.

Hierarchy in Decentralized Networks

If we look into uses of the term ‘peer-to-peer’, we see existing technologies like Bitcoin and BitTorrent as primary examples and by looking at their structures can conclude that these are structures without hierarchy. Peers are always equal to other peers and are not required to pass through any central points or hubs for coordination or communication. This structure is very reminiscent of what Baran illustrates to be distributed but it is much more accurate to say peer-to-peer networks are a subset of distributed networks. Now, considering decentralized networks, this structure is again illustrated in both Baran and my diagrams. In Baran’s, however, he shows decentralized as a specific kind of network without a single central point and instead with several hubs. This definition is partially true but should also be inclusive of peer-to-peer structures as illustrated in my diagrams. Examples of decentralized networks that are not peer-to-peer include mesh networks with backbone nodes which facilitate longer distance connections to less powerful nodes and the Internet itself where servers facilitate more powerful computations and greater amount of hosting capabilities while connecting to less powerful clients like home computers, laptops and mobile devices. Both mesh networks with backbones and the current Internet lack a central point of control thus earning the decentralized title but nodes on those networks are not all equal preventing them from being peer-to-peer. So we can distinguish peer-to-peer from other decentralized networks by the simple property of lacking hubs. While the inclusion of hubs has potential to increase efficiency, networks that use them can also create incentive for said hubs to centralize as we see with our current Internet. The removal of hierarchical hubs and potential for centralization is one of the key distinguishing reasons MaidSafe and BitTorrent are structured as peer-to-peer networks. And for clarity, the anonymizing routing network, Tor, is a decentralized network but not peer-to-peer as it uses servers for hosting and routing which clients connect to.

The Delicate Balance of Standardising and Modernising

So now that we have a better understanding of these terms from more modern implementations than what Baran had in the 60’s, we can take a step back and conclude that the subjectivity in human words and language can be confusing and frequently cause unnecessary arguments. Without first defining critical terms that have potential for creating ambiguity, we are not going to go very far in even the most basic of discussions. Standardising helps communication not only within communities thinking about and progressing on these topics but also will help us communicate to outside groups. I have seen at least two presentations in the past year which have focused on Baran’s chart to argue that distributed networks are ideal in terms of removing central points of control without considering real world examples of distributed networks like SETI@home which have central administrators. So I encourage this community to consider these terms a bit more deeply before relying on a diagram that is half a century old and from a time where distributed systems had not reached the scale where central points are so critical as they are now. Additionally, while a centralized network has a clear unchanged definition (Baran and I agree on the definition as you can tell by comparing charts), both distributed and decentralized capture a range of meanings as illustrated in what I hope to be updated diagrams that more people become accustomed to using. I also encourage further consideration and debate regarding these terms and modification of the chart I created which is licensed under Creative Commons Attribution-ShareAlike for such a purpose. As technology evolves, the language we use to talk about it must also be open to evolution. Perhaps in time we will need to reconsider these definitions I’ve laid out but standardisation for present communications would really help avoid unnecessary misunderstandings.

5 comments

  1. I love this continued exploration of the topic!

    > If we look into uses of the term ‘peer-to-peer’, we see existing technologies like Bitcoin and BitTorrent as primary examples and by looking at their structures can conclude that these are structures without hierarchy. Peers are always equal to other peers and are not required to pass through any central points or hubs for coordination or communication.

    If we look at systems like Napster, Skype, Gnutella, and even Uber, we see that the above is no a universally accepted definition for peer-to-peer.

    The term P2P was applied to all of those, but in each of those examples there *is* a central coordinating hub.

    So, I think “peer-to-peer” is an aspect of a system. There is a perfect diagram waiting to be invented, and while I think the new one in this post is yet another step in the right direction, it’s still not quite there yet.

    > Examples of decentralized networks that are not peer-to-peer include mesh networks with backbone nodes which facilitate longer distance connections to less powerful nodes and the Internet itself where servers facilitate more powerful computations and greater amount of hosting capabilities while connecting to less powerful clients like home computers, laptops and mobile devices.

    In this example, we could say that the network *is* peer-to-peer and decentralized in some parts, and has central points that connect one p2p/decentralized section of the network to another.

    The more of these “central points” there are that connect the two sections together, the less they should be considered “central points”.

    1. Oops, small mistake in my comment:

      > but in each of those examples there *is* a central coordinating hub.

      In each of those examples *except Gnutella*. In Gnutella’s case, there is no central coordinating hub, but there are “super nodes” that are not equal to other peers.

    2. Perhaps it’s worth amending the blog post and diagram to to clarify between “hybrid” p2p (having non-p2p administration requirements) from “pure” p2p networks.

      Regarding your second point, these labels are to discuss entire networks rather than specific parts.

      1. > Perhaps it’s worth amending the blog post and diagram to to clarify between “hybrid” p2p (having non-p2p administration requirements) from “pure” p2p networks.

        Juan Benet and I had a lively discussion about this topic, and we ended up agreeing on something similar. In response to me pointing out that distributed networks can be centralized (like YouTube), he said he meant he was referring to “completely distributed” networks (i.e. “completely” = your “pure”). And when he pointed out to me that decentralized networks can include federated networks consisting of central hubs (i.e. Jabber, IRC), I also agreed that there’s a difference between federated networks and “completely decentralized” networks.

        Here is an idea to try out for the diagram (that Juan and I agree on): use the terms to point to aspects of systems, sort of like a legend.

        As a concrete example, the legend could include the word “Decentralized” next to a row of multicolored hands, and the word “node” next to a dot.

        A “fully” or “pure (decentralized/p2p/distributed) system” could be shown as each node having a hand on it that’s a unique color to represent a unique owner.

        A “federated system” or a “partially decentralized system” could show a similar arrangement of nodes but with fewer puppet hands of different colors.

        A “centralized p2p system” or a “centralized distributed system” could be represented by a single node with a unique hand color hovering above a bunch of other nodes. It could look like the “centralized” picture except the nodes beneath the “master hand” would be connected to each other.

        Etc.

  2. “Standardising helps communication not only within communities thinking about and progressing on these topics but also will help us communicate to outside groups.”

    There…. there is the argument for for centralisation (standards are a form of centralisation as is one VM to run them all).

    Healthy networks always have and will continue to have examples of all three topologies you refer to above.

    The task for the new generation is to break up in as far as possible the current monopolies… new ones will however unavoidably form.

Comments are closed.