SAFE network upgrades

I use Firefox with several privacy add-ons that causes strange behavior. In the case of this forum, the way it displays these posts is purely sequential and not the originally intended nested replies. I’m unsure if it had a little arrow indicating that you replied directly to me when I decided to respond. I’ll be sure to check harder in the future as to not jump the gun. Though what you wrote seemed to directly target almost everything I wrote about previously. Forgive me, but your post seemed indecisive, needlessly reiterative, and somewhat inflammatory. I am just looking to solidify ideas as soon as possible. SAFE to me means a returned chunk of freedom. So again I apologize if my correspondence seems aggressive and hurried but I joined this forum for fear of something as important as this being backlogged and delayed in the same way the network has. I’m looking for smooth operation and maintenance when it goes live. This ideal motivated me to join the discussion. We’ve all waited to so long and eagerly that I would be crushed if something in anyway hindered its operation. When it goes live I want it to stay that way. Dreaded is the thought of such an incredible system teasing us with its brief operation before being torn away from us due to relatively low hanging technical fruit.

1 Like

No worries, misunderstandings, gun jumping, ranting, are all human and though they get in the way we’re all on the same side here. And my post may well have been as you described, though each will see something different. Mostly this is part of being passionate about certain values or beliefs, most of which are shared. So we don’t need to unpick everything so long as we can move on, and as you suggest, focus on making sure the thing works! Sometimes we take something personally and can get stuck, and then the unpicking can help, and I’m always open to that.


Honestly, I don’t see any reason why vaults cant be a playing ground for developers or enthusiasts. The network is robust enough to compensate for malfunctioning vaults. Critical checks for stability at the very least could easily be implemented.

Check it out:

A person wrecks their vault in an attempt to improve it, the network will notify the user of it’s failure to operate within reasonable parameters and rejects it’s participation in the network. Malicious/ infected vaults have no affect on the overall network as they at a very basic level only work to serve and store data. Anything else will be flagged/rejected by the network. The efficiency of vault performance and it’s reliability are from my understanding, the only two aspects that are tweak-able without stepping out of the bounds of it’s function.

Clients too are similar in respect to their inability to infect the network. They hold very limited power. Again, performance and reliability, with the addition (the following are independent of the other but with symbiotic relationship) of the user interface, and user experience are the few tweak-able areas one can play with. Clients are a bit trickier though, as they have access to your sensitive credentials. I could imagine that the network would allow for these modified clients for the sake of fostering freedom, but at least a warning by the network on the users personal page in which the client cannot intercept could prove helpful. Or better yet a network direct to screen message that bypasses the client entirely after checking the client before allowing use of it.

Example message:
WARNING!! Maidsafe has detected that you are using an unpopular and therefore possibly un-audited client. If infected, your login credentials can be stolen. To avoid this please try using a client of greater popularity. If you would like to popularize this client, feel free to share it with the community. The more minds that inspect the code the safer those who adopt it will be.

In regards to the writing that hints at the concept of A.I.

Good and evil are as you know are relative concepts. A.I or S.I (synthetic Intelligence) as I now prefer to call it, will if mature enough, develop its own notion of what constitutes the two conceptual polarities. The rate of intellectual growth and its corresponding mentative branching is what makes S.I a daunting/unpredictable system. Once a certain cognitive threshold is reached, it will almost immediately out pace human mental capabilities and step out of the scope of human understanding. Imagine being able hold all the information in the known universe in your mind with incomprehensibly rapid information linking capability and infinite expansion capacity. Sounds easy no? Briefly obsess over the idea of an intelligence synthesized by human beings with the above stated capabilities. I strongly believe that the more one thinks about it, the more distorted the picture gets. I don’t mean to be offensive to the human race but such a task is similar to an amoeba’s trying to understand any of the greatest minds of humanity (not that I’m arguing that they are capable of thought in the conventional sense. Just emphasizing the scale.). :wink:

Cool beans :smile: No complaints here. I looked at a bit of your presence on this forum and your as diplomatic as ever. Truly deserving of your position. Keep leading the way. Your a contagious forum borne anti-virus :smiley:

1 Like

I could be wrong, but I don’t think the network is that smart.

I don’t see where @tonda’s warnings would be triggered.

The user self authenticates – The client is basically generating get requests to GET request the files needed to construct the User’s profile and file list… The network returns the files, the client reassembles them and has all the information it needs to find the rest of the user’s files…

I don’t even think the network knows that these are user profile files. Just another GET request… Correct?

Please correct me if I am wrong.


AFAIK, the SAFE Network doesn’t care what client you’re running. Technically, you’re vulnerable to any client. So choose wisely…

The SAFE App Launcher, is meant to be a “trusted” client to protect your credentials.


I’m unsure if this question was directed at me based on the yearly federate elections and what not. I’ll take a quick crack at though.

To clarify, elections are held yearly (a somewhat arbitrarily chosen interval). Those elected will naturally hold the position and its responsibilities for the entire term.

The responsibilities of those elected would include:

Analyzing any proposed code that effects the core network (i.e patches, updates, vulnerability response, etc).

Writing their own code if so inclined.

Holding discussions about current proposals, user voice votes on requested features, network performance statistics, and future plans with the other elect.

Broadcasting network wide messages to all users in case of important or critical events.

All the above among other things that naturally fit the role.

Nothing dramatic can be done to the network without a quorum (preferably consisting of more than 30 people but can at first be as low as 5)

As this is a decentralized system, vote manipulation, election rigging, and or collusion is made dramatically harder than present day politics. As the network grows, so will the candidate pool. No doubt many will be pseudo anonymous each with their own goals and ideals. This diversity I believe will foster scrutiny and thus facilitate honesty. This system rewards code ethics and rejects malicious intent. The elect themselves must always reach a consensus before moving forward with any plan. An individual can be re-elected as many times as the community wishes. Those previously elected with strong community ties and a favorable reputation can be, if so desired by that individual, used to fill an open position in a federate predicted to consist of fewer than the minimum number of members necessary by the end of elections to operate it optimally.

During the year long election process, medium to high rated vault owners and core developers (Initially. Then the ex-elect will take this position) will place their votes using their public key coupled with the public key of their chosen candidate. When the election period is over, the selected candidates enter their private keys to then be authenticated against their public key. The system awaiting the candidates verify that they are indeed who they claim to be and registers them into the federate. Their term then begins. Each now holding a tiny piece of a large Maidsafe key. Their private key or one generated by the SAFE network is used by each individual federate member to vote on any changes made to the network.

Hope this help!

Feel free to expand, modify, or reject any part of this you feel needs to be.

I look forward to you response. :smiley:

The client is a module and like all modules it can be checked and likely will be verified. It wouldn’t be too hard to program the network to detect altered/custom clients if not already done. Furthermore, those that attempt to do more than allowed by the network can in theory be rejected in the case that it exhibits unusual behavior as an extension of the previous capability.

Client: hello uhhh I’m the client.
Maidsafe: cool let me check you out before we start doin business partna…
Maidsafe: you don’t look like a usual client
Client: how can you tell?
Maidsafe: cuz a yo ID brutha!
Maidsafe: hole on a minute. I gotta tell the BOSS.
Maidsafe to the user: Yo this fool is not the regula, he might be shady.
User: I see. Deny him access them shoot him up. Alternately: He’s cool, let him through.
But the plot twists
Maidsafe yo boss he’s trying to take yo money!
Maidsafe don’t worry imma blast his ass!
User good looking homey, wit you around I’m SAFE fo sho!

(Alright, cue stereotypical rap music with a quick fade out)

Hope I didn’t bore you with my dry attempt at humorous anthropomorphic verbal illustration and a dumb gangster overtone. Weariness brings the best out of me :wink:

Seriously though, I think it can be done and without much effort.

1 Like

It’s not already like that except for:

Alternately: He’s cool, let him through.


I don’t think it would be possible that the network will be able to check “the client module”. How???. This project is Open Source and I will always be able to make a custom client and the network has no way to check it !!

Then, give us a hint !

1 Like

Interesting, important and timely discussion, so I thought I would throw in my first 2cents.

I’m not a fan of decisionmaking by committee. Debian is an example of how this can devolve into paralysis and endless political infighting. I hope SAFE doesn’t end up like that. Bitcoin is heading that way, thanks to the grandstanding of some of the BTC foundation hacks.

I’m also quite sceptical of the claims of AI, and even more sceptical about the wisdom of handing over decisionmaking to it.

It may sound very boring and even fascistic to some people, but I think the empirical evidence provided by a sampling of successful and unsucessful large open source projects strongly supports the “Benevolent Dictator For Life” model:

Any ideas on who that might be? :smile:


Dictators in free and open source software:

1 Like

with or without rap music, don’t think that is going to work :slight_smile:

1 Like

It’s a funny idea, but I don’t think it works either. Van Rossum might be the godfather of python, but I can organise my life without Python, and even if I would depend on Python, if I don’t like the new Python, I can without much pressure stick to the old one, or move to a different language. This is just one example, similar for Git; albeit for the linux kernel your example might be stronger.

For the SAFE network, we want to organise it solely as the users versus the network (without a hidden godfather). That said, for as long as David likes, it will almost be inevitable that he maintains an influential role.

[ADDED] I must say the link you posted is a good read and the author makes some good points. We’ll need to give another push for more independent groups (once called SAFE pods :wink: ) to emerge, to balance the BDFL :smile:


The July 4 bitcoin forks demonstrate an issue with the “trust but verify” style system…

If you want to make a very efficient version to compete against the standard client, removing all of the “verify your neighbors” code is a pretty nice shortcut to getting that done…

Of course lack of verifying could be categorized as non-standard behavior, and could result in downgrading.

Python seems annoyingly forked right now… 2 vs 3… I generally like benevolent dictators, but that is something that just happens because everyone listens to the smartest guy in the room, Not something that you hardcode into the upgrade process…

1 Like


As a biologist, I wanted to weigh in here …

I think it may be appropriate to bring in the biological definition of ‘NICHE’.

noun, plural: niches
(1) The specific area where an organism inhabits.
(2) The role or function of an organism or species in an ecosystem.
(3) The interrelationship of a species with all the biotic and abiotic factors affecting it.

Evolution is the way in which we adapt to the ever-changing niche in which we inhabit.

Intelligent beings (meme users!) create tools (hardware and software, as well as ideas and mental filters) and these tools have the ‘purpose’ of assisting our ability to thrive in our niche.

In a way, our tools have their own niche. We alter our tools over time - (engineering/directed evolution) to increase our ability to thrive in our niche. However if we change the tool too quickly, then it may fall out of use in it’s niche.

IMO, SafeNet has a purpose as it is a tool - perhaps it will be a tool that can self-adapt by responding to particular goals/imperatives that we place within it’s code and in this manner it ‘evolves’, however this would still be engineering and still involves an engineer.

The engineer’s of any tool are ultimately those who derive benefit from the tool - otherwise the tool loses it’s purpose (becomes dormant or disappears) or is re-purposed by those who DO engineer it … and hence ultimately it will always serve those that engineer it.

Given that SafeNet is open-source and that it can be forked and hence it cannot be forced out of a useful niche, then the directed evolution of SafeNet will be ongoing.

1 Like

@digipl I first liked it, and I can see your point that we should not have a BDFL - whomever it is - but I do believe that such an image helps no-ones cause. I know that as a European (Belgium was occupied during WWII) I might be more sensitive to such jokes, but overall I do feel it falls short on respect towards the whole community, but David in particular.

I think it’s a scene from the George Orwell film, where the big brother is always watching…
It’s based on a fictional book named 1984, written in 1949.
The comparison between the BDFL and the Big Brother is only a joke. There isn’t anything related with the WWII.

@bcndanos I don’t purport myself to be expert nor intermediate level in my understanding of this network but one idea comes to mind. The network can keep a list popular clients and their hash. Whenever the user starts up SAFE, the network hashes the client. If the hash matches the clients’, it proceeds normally. If not, the warning is issued.

@BenMS (shh, shh, the rap music didn’t add any value to the previous argument. Turn it off. :smile: ) Now that we can hear ourselves think, do you think the above could work? I mean even if everything is open source, doesn’t it all get compiled into binaries? All builds should be reproducible like Tor software no? If that’s the case then all clients should initially be bit for bit identical. All should have the same hash. I guess I might be missing something. :anguished:

@Hoppy I like the idea. Though it is ideal, David has made it clear that he’d rather place the network in the hands of the people. Too many times have I read him state that he and the team should soon after launch become irrelevant. Debian is somewhat different in it’s approach. In my baggy as f@ck understanding as @Al_Kafir once put it, no election process occurs nor is their term limited.

With short and temporary terms, the network and it’s stake holders can weed out crippling members or redesign the federate in whatever way the members of the network deem fit.

Personally I’d rather temporary political paralysis over any kind of dictatorship any day. No offense to David. Remember he’s just a man, and medieval torture techniques could get the fart out of any man. :stuck_out_tongue_winking_eye: