Using Complexity in Nature to Understand the Safe Network

Complexity is vital to the organizational patterns shown in decentralized systems.  As a recurring theme when discussing the Safe network, the relationship to natural phenomenon can help less technical individuals better understand how the system works. From the most basic of structures to the systems which encompass planets and galaxies, there are nearly infinite examples of nature organizing itself. The Safe network is a global system built with these phenomenon in mind in order to achieve self-regulation, self-rehabilitation and self-organization without a central party.

David Irvine commonly references ant colonies which show extremely complex behavior rooted in the cooperation and communication between individual ants – similar patterns also develop in other social insects. It is worth noting that the very basic sets of rules which individual ants follow helps with focus and conserving resources while the division of labor they exhibit allows those basic rule sets to be diverse when accounting for the entire colony working together. While both types play important roles in the colony, there is no need for soldier ants to know the tasks of forager ants (and vice versa) thus a division of knowledge minimizes the amount of brain processing which in turn reduces energy usage.

Similarly in the Safe network, vaults created by individuals are assigned by the network to a specific persona which will enable it to follow only a specific set of rules. These personas and the correlating rule sets are for managing parts of other vaults in the network. Though there are several aspects to manage for each vault, those managing personas will always be distributed across many vaults and will never be concentrated in one. Like with ants, basic rules within a division of knowledge/labor mechanism can conserve resources for the individual vaults while enabling a wider variety of functionality to the network as a whole. Additionally, ranking mechanisms based on vault health and resourcefulness to the network determine which vaults are assigned which managing personas.

At a similar scale to ants, the creation of swarming patterns in birds and fish depict another great emergent behavior that only arises through interactions with many components. Natural, emergent, decentralized systems are evidence that cooperation is evolutionarily beneficial to achieve a higher level of organization and general progression. Systems of interacting organisms create incentive to cooperate and to fend off both external offenders and internal threats.

Decentralized order can also be found in the interactions of non-living objects. An example at a much smaller scale is in snowflakes and coral reefs which create fractal patterns from the shapes and movement patterns of independent water crystals and ocean minerals respectively. At a much larger scale, weather patterns form due to relative air pressure between points on the globe and because of these patterns we are able to predict future behavior. The complexity shown in weather is a great illustration of the balancing effect between order and chaos at a global level and is a great comparison for how the Safe network can manage storing chunks of distributed, encrypted data. Like all forms of complexity, the Safe network will be constantly morphing and optimizing in its never ending quest for equilibrium.


  1. Not trying to make this into a flame war but..

    Your system is more akin to the creation model in that you, the programmers, are building in these self-regulation, self-rehabilitation and self-organization functions into the code. [I’m probably adding more flame bait here but] it’s more like you’re ‘intelligently designing’ the maid-safe network to have these features.

    I know you’re not trying to make a religious argument about your network. But if you’re going to compare it to evolution you might as well say something like “We’re randomly hitting keys until, over the course of a billion iterations, the source code will eventually exhibit the features of self-regulation, self-rehabilitation and self-organization.” The MaidSafe network won’t come into being through evolution. It will because you designed it.

    1. Yes, agreed, but, I think you could say that of anything designed by looking at the natural world though (some medicines, clothing, glue etc.). Each of these could say we randomly mixed chemicals for billions of years or mixed different fibres etc. and so on.

      Its a debate nobody will win, but what we have is what the outcome of looking at natural systems and designing code and systems to operate as small weak components that when combined create something complex and sophisticated.

      Everyone is entitled to an opinion and thats cool and also natural 🙂 So no worries.

    2. I think that the MaidSafe engineers have been able to provide a much better starting point for the network than pure randomness could (I hope so or we need to be looking at our recruitment strategy :)) but the network has evolved plenty (through testing and peer review) to get to it’s current state and will continue to evolve and improve after launch. Thanks for the comment!

    3. I think what they are doing is a bit more akin to building a diverse food forest or restoring diversity fisheries where they have been depleted. They are essentially setting up the conditions for a health ecosystem but they are not creating the ecosystem.

      1. Thanks for getting involved Greg. So if we are restoring then the ecosystem must already exist, are you thinking that this is the existing Internet?
        We believe what we are doing is not an incremental improvement (chime in if you disagree) but is a significant step change, creating a new and totally fresh decentralised eco system (only the cables and routers remain the same) for app developers to create new apps and for users to explore with their privacy, security and freedom intact.

  2. I really like this analogy. It seems to me the concept of “functional units” applies here. In biological structures like the human body, for instance, each cell contains a complete copy of the human DNA, and there is not really any clearly defined hierarchy of cells in terms of control. Each cell behaves according to locally defined rules, giving rise to global behavior that is independent of any one cell’s actions to carry out the complex functions of the body. Thus the “cell” is the function unit.

    In maidsafe, I suppose the the node would be the functional unit since it behaves autonomously and is on equal standing with other nodes. All the instructions on how to run the entire network are contained in each node (just like DNA) for the simple fact that the rules for “how a node behaves” and “how the network behaves” are one and the same!

    It’s almost like you are not really building a network… You are building a node that, when working together with many copies of itself, gives rise to a network with properties that are not inherent in any one node. Truly fascinating!

    By the way, I really support what you all are doing, and I really, really hope to see this project come to fruition. I’m a software engineering student at the moment. I am seriously considering delving into C++ so I can potentially contribute at some point. Good luck!

    Stuart Bowman

    1. Thanks for the comment Stuart. The human body is an excellent example, we also use the human brain quite a lot as a way of explaining the concept. The message of support is very much appreciated!

Comments are closed.