I will try, it’s late and not much sleep last night so I feel a story coming on Francis get ready to fix my grammar again
This is the problem to fix.
This means we never fixed it (yet )
A network or any autonomous device (like a human, yes arguable if a single human is autonomous, but …) should be able to discover things that improve it and discard that which harms it.
This is a thought experiment coming up (so beware).
Every thing has a purpose and evolves to meet that purpose, hunting, learning etc. If the network has a purpose of protecting data and looking after more data in meaningful ways (eventually compute) then it’s a good start. So a basic ability of not allowing corrupt data is a start (We do that). Then adding in ways to mitigate human action like switching off and on (we do that to). Then a mechanism to reward endpoints (we do that) that provide resources to help the core purpose helps. Then messaging to allow greater use of utility comes along.
So it begins, a quest to program in a reason to survive, not to count numbers or churn through data analysis on command, but instead the actual network itself gets into distress when data is lost (like our sacrificial data) and calls out to human operators to farm more (symbiosis). This is not us doing this, but the network itself without us being involved. No administrators or tweakers of knobs and such, no nuclear shelter bunkers with AC units, but the network that;s sneaked onto our computers using resources we were not using.
So people then say, oh that is every system, but it’s really not, this network will act on its own to fulfil its purpose, gather and protect data and it does that not for us, but because it’s core desire is to gather and protect data. It’s code is that purpose.
So with that purpose, not calculated via timers or magic numbers, the system has a very tightly coupled connection of neurons (the groups) connected via millions of synapses (the connections to other groups). This is why it’s amazing to us in house to get so close to the fundamental objects and traits in the code, no waste and little or none runtime.
When this links together and creates something like SAFE then it’s not like a normal computer program or server, it’s spread far and wide and can act out it’s purpose with great clarity. It can do this with people looking at code and seeing there is no 10 minute do this, every 4 years do that, but instead everything is calculated using these fundamental types that have unique and sole purpose in the code. These on their own are useless and even several lumped into a single computer are barely able to function. However, when they start connecting together into a group, they start to be able to make decisions, as the group grows and splits into more groups (like cells dividing) then more functionality appears. As this continues then stability becomes apparent and continues to strengthen as the network starts to span thousands of nodes. When it gets to millions of nodes then it appears very powerful indeed.
So the beginning of a network / thing with a purpose is born and it can satisfy a base purpose, protecting data and communications. In the end what we have is remarkably simple when looked at as source code on a single computer, it’s the connecting together that gives the capability.
When we move into computation then this picture may change slightly, but this is how I perceive what we are doing. Yes very hard and of course has to be correct secure and scalable. It is something a bit different though and the difference will start to become more apparent as researchers get more involved and more people write papers (several PHD students we know of have their thesis on this already).
So this core purpose is measurable and if that is measurable then we teach the network how to upgrade by running nodes in a sanitised way to participate and confirm they do equal or improve the current network. This means all messages are for this purpose and no more, all actions are confirmed and checked by a close group (they are anyway) and the sacrificial nodes come on line a bit at a time. It may require computation and more code in upper layers only being able to change or similar, but it can be possible I believe. As I say though the thinking in this new environment is new and radical to the extent folk call it mad, I also note that I have been in front of a whiteboard with an awful lot of experts, professors and Engineers and have always been able to describe the process of SAFE when folk sit and listen (and almost always they have except for a single a bitcoin “expert”). That is compelling and encouraging I feel. For this reason I believe the challenge of self diagnosis of upgrades should be possible.