How easy will it be to update the SAFE client / protocol?


Bitcoin currently has a problem that updates are very limited, since pretty much everyone has to agree on a change that forks the blockchain. A hard fork means everyone who doesn’t upgrade to the latest version of the client will be “left behind”, so to speak. This is a problem since it would mean that every company, big or small, would have to update their software at the same time in order to continue using bitcoin.

I am wondering what the implications will be for making crucial updates to the SAFE client. For example, if eventually Proof of Resource will include proof of bandwidth and CPU, everyone will have to agree to this change. Hypothetically, if after a year we see that 4 copies of a file is not enough, there might be a change to always have 5 copies. And so on. As MaidSafe gets bigger and bigger, will it become harder and harder to make crucial updates, as in Bitcoin?

Have any of the devs thought about this and come up with a solution?


The mechanism for agreement seems to be there.

From the patent:

this invention comprises a system of self healing data, secure messaging and a voting system to allow users to dictate the direction of development of the network, whereby adoption or denial of proposed add-ons to the network will be decided.

System incompatibilities and security breaches on networks and the Internet are addressed by this invention where disparity and tangents of development have had an undue influence.


Interesting. How will the voting be done? Will we get a popup asking whether we want a certain change or not? Would the update be applied automaticaly if approved?

Additionally, how would you prevent someone creating thousands of identities from manipulating the vote? Or is it done according to the same rules as PoR, where long-running nodes get a higher vote weight?


Good questions, but I don’t think that has been set in stone yet Ephi, the guys are still working on stabilising the test network and establishing test net 2, the process of global updates and voting will be defined further down the roadmap.

Creating lots of identities (for manipulating votes, trying to gain control of the network, dump rubbish data…etc…) has been discussed quite a lot on the forum, one solution would be to ensure account creation costs the amount of safecoin that storing such an account costs. I personally wouldn’t want long running nodes to get a more weighted vote. If you work on the assumption (dangerous) that each account represent 1 user, I believe everyone’s view is as valid as anyone else.

What About Governance?

I think there’s some sense in a weighting or qualification system, a bit like having to be old enough to vote!

For example, if to vote your vault had to have a certain rank, it would be an indication you have a stake in the network. I’m not suggesting that, but using it as an illustration.


I would have to agree that it’s problematic to give more weight to longer running nodes… there doesn’t seem to be a reason for longer-running nodes to have more say.

I also don’t think “being old enough to vote” is a valid system so maybe that’s where we differ.