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:
I also recently put together an updated diagram from a similar but slightly different perspective:
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.