SAFE Network Dev Update - August 30, 2018

Well the process is for rewards is

  • Farmers
    • do we attempt a coin issue. This will only be true approximately once in 1/FR GETs
    • If attempt is done then
      • a coin address is calculated
      • is this address vacant (that is no coin exists at that address). If it is vacant then issue coin (this is how the scarcity factor works)
  • APP Devs
    • Is there an APP reward address associated with this GET
    • If there is then do we attempt a coin issue. This only occurs in approximately 1/(10*FR) GETs that are for APP devs
    • If an attempt is done then
      • a coin address is calculated
      • is this address vacant (that is no coin exists at that address). If it is vacant then issue coin (this is how the scarcity factor works)
  • Core Devs (Maintainers)
    • Do we attempt a coin issue. This only occurs in approximately 1/(20*FR) GETs
    • If an attempt is done then
      • a coin address is calculated
      • is this address vacant (that is no coin exists at that address). If it is vacant then issue coin (this is how the scarcity factor works)

really enjoyed your presentation @pierrechevalier83 !
The visual theme of the new website works really well for PPT slides too.
Is the intro by Dug also somewhere on youtube?


Yes we’ll be adding these along shortly, Tyler, along with some slightly longer form explanations of each. The marketing team will be working on that between now and next week.


I’ve a question about fundamental 5:

Ensure client-to-client direct messages are free. Client-to-client messages involving traversal through the SAFE Network will be charged.

Is that communicaton between 2 clients via the Xor Safe space, without saving something in a vault? Or does this mean something else? If so, what?
I’m guessing that my confusion has something to do with what is meant as ‘client’: probably every Xor node, not only the 2 end-users.

Ps: Is the number of fundamentals a coincidence or are there some Blackjack fans at Maidsafe :slight_smile:

1 Like

How is 20 not a contradiction to 12? The network ranks based on participation over time, so the network is issuing trust over time. How is that not using time as a tool?

This sounds made-up, how would the network know the difference between an upgrade and a bug?
Would running in parallel not mean a node is capable of voting twice? How will the network handle a new type of message? Will it be a case of upgrade to add support, wait for adoption, upgrade to enable feature.
With no analytics captured about nodes (because this somehow makes me less anonymous) how will you know adoption has taken place? recording the number of clearnet downloads :joy:

Again the obsession with making nodes anonymous isn’t really possible. Once my node has connected to another node at hop 1, nothing stops that node recording the IP address. Not sure how trying to obscure IP addresses really adds any security either. The important part is the communication is encrypted, which makes knowing what someones doing on the network anonymous. Taking part in the the network, that doesn’t really need to be anonymous / can’t be.

Sounds very British are nodes going to form an orderly FIFO queue, or are you going to weight them based on some kind of metric that means some nodes are more important than others? I dunno, something like geo-distribution so you are able to guarantee data redundancy instead of leaving it to randomness.

Call them farmers if you like, but in the end they are still servers. They will still make up the backbone of the safenetwork. The network still rewards ‘always on’ machines more than adhoc machines due to node ageing.

Again call it a reward if you like, its actually a tax. Therefore maintainers are a centralised authority on the network (aka a government). Will the network host its own source code, is anybody allowed to participate in being a maintainer or will this be restricted by an authority such as the ‘maidsafe company’. If not will all users be given voting rights? (This won’t work obviously because I could create a million accounts in I had the funds to do so). Can’t use people that hold safecoin, because you are empowering the rich. Farmers get to vote based on their node age? (again richer people get more votes)

What stops someone from pulling the source code from GitHub and remove the line to pay the maintainers. If enough people download this copy of the code, the maintainers wouldn’t get paid. This will be the safenetwork version of adblock.


Great Update, SAFE Team.


Nice update, but I can’t believe I forgot about it until Friday morning, although I do have a grandson visiting. I must be getting old or something :older_adult:

The Fundamentals is a great thing to have. I agree with others that it is worth ordering or as @BIGbtc suggests categorise it: User v Technology seems like a good one to me too. Reading it I thought that points 14 to 17 were not prominent enough, too far down the list.

Then again I guess this is about creating a complete list more than presentation at this stage, and in that vein I like it a lot. Well done for getting it so concise and complete - what a lot of knock out features! :partying_face:

Congratulations @Shankar, have a wonderful wedding and best of luck for the future to you and your bride. :wedding:

Good catch @neo on the percentages. Its a hard one to understand and present as we know.

It’s good to get your reactions @zeroflaw. Some points seem negative or overly pedantic to me (eg time, servers etc), but it’s good to have this as it is how some will interpret it or try to undermine it, so worth being prepared and also useful for considering better ways of describing. Personally I think it is very accurate and understandable, but then I’m already familiar with it and have seen the earlier debates over terminology, time etc


Thanks for the comments, I just wanted to pick up on this specific point for the moment. The maintenance fee isn’t like a tax, and by that I mean we don’t force you to use it and we don’t put you in jail for not paying it. We’re nice that way at MaidSafe :smile:!

Regards your concerns on a centralised authority. While it is in the very early stages we have started working on a governance structure to ensure that MaidSafe do not become a central point of weakness or power on the network, and that the maintenance fee will be shared out across many developers throughout the world. There are many examples past (Bitcoin) and present (EOS) that highlight the importance of getting this right and while it is too early to share any details (as we don’t have any yet) we will publish a proposal as part of a consultation process in due course.


What we mean by this point is that any messages that go directly between Clients (such as those discovering a connection via STUN) will be free. Conversely, messages that travel across the Network, will carry a cost.


These are not a contradiction the net won’t use time but us humans do. Entropy or event-driven systems experience things over a period but do not necessarily need to use time in calculations.

I can answer your other points later as I am on the road. Quick though upgrades made up or invented is weird. We are saying the net must allow upgrades. If that does not exist we must create it or invented it all of which you can call made up.


I mean in the sense of ‘the network will refuse upgrade’. Which makes the network sound like some kind of artificial intelligence, which first evaluates upgrades. When actually, it it probably means something more along the lines of an update takes effected once adoption is high enough. As you don’t collect statistics in the network, you wouldn’t know that it’s been adopted. If a bug occurred after two updates, with the bug in update one, but wasn’t detected because of low adoption, it makes tracking issues very difficult.

Brilliant :+1:

This is what I’ve been eagerly awaiting since college :slight_smile: :slight_smile: :slight_smile: :slight_smile:


If messages are going directly between clients, not only do I know who I’m talking to, but I’ll have their IP address too :open_mouth:

Thanks a lot @happybeing :blush:


I might be missing something here, but why is this a o.O? If you dont want to connect to someone directly(to not reveal conn info), then maybe dont establish a direct connection to them and achieve that req?


Exactly, the only time an IP address has any value is when there is an association (direct/indirect) to a particular entity. So in normal network activity, my IP address has no value because I’m storing/mutating chucks of data. In direct-client communication, this IP address is now directly associated to that ‘safe username’. I know I’m directly connected, because this communication is free. If i’m paying then its being obscured through the network.

This is made to sound important, but actually means nothing at all.

Super update Maidsafe devs.

I’ll probably go to this blockchain meeting (it’s super close) and say that blockchain will be disrupted by datachain (and when they ask me where this datachain is…(Can Maidsafe have datachain ready before next week tuesday??? :rofl:)

Yeah I’ll be representing with my SAFE Network shirt, unfortunately I’m not one of the speakers. Not that I’m super rich, but I’ll give every person one Maidsafecoin if they sign up on this forum and make one post.

:stuck_out_tongue: Keep it up all you super ants out there…


err would disagree sorry. It is what it exactly states it as, “a hop”, a direction connection between 2 clients is not over a hop and doesnt contradict or go around it. If needing to be very strict for clarity I could see “after” instead of “from”/… but maybe the meaning is misunderstood.

That point indicates the value of when a system charge can be reasonable and specifies areas where the network doesn’t have an effort in relaying anything shouldn’t facilitate the need for a charge.

Dont see any problems with either of those fundamentals points and the options exist for a client to permutate their comm processes to achieve what they require. Just my pov ofc.


Not so much really, a basic idea here is that a peer will run a parallel vault (the upgraded one) and confirm over a random period that it behaves and can earn safecoin (as an example) at an acceptable rate and then kill off the old vault and run the new one with the old vaults key (age). I think your answer has a lot of absolutes and I note a lot of this recently in conversations, not much is absolute especially the inside of others minds :wink: I am not trying to be flippant, just absolutes are easy to disprove and wastes good debate time.

It is always possible to tend towards anonymity, again absolutes are easy to debate. Like security, longevity etc. tending towards a goal is natures way, stating you are there is probably never going to happen in such cases as these. Tending towards these is an admirable goal. How far? then is a reasonable question with a multitude of answers, but much further than today is a great goal.

Not so much British, but logical, if you check farm rewards the network as a whole (measured per section) will know when it is short of resources. At that time it will increase rewards and increase the number of nodes accepted into that section (to perhaps force a split). Hope that makes some sense :+1:

This is a typically nonsense thing I hear a lot (sorry), so any computer device is a server if it outputs data, so every living organism is a computing device and therefore a server. This is why we state in the usual sense of the word.

These types of statements like everything is marketing, everything is a server etc. are a waste of time. For instance, I could argue (very correctly) that 1 plus 1 equals 2 is baloney as you cannot have 2 things being equal to start with (equal in every sense, including their position in time and space) and therefore 1+1 is a false assertion to start with as it is a nonsensical notion that cannot exist, never mind have an answer.

Then for every math presentation, I could scream this from the audience and just waste everyone’s time :wink:

That is the outcome of not accepting a reasonable limit on a description of anything.

I hope this does not sound condescending, I do appreciate the feedback as it is likely what we will hear in the wider world and our marketing and PR folk need to be able to handle those things. So this input is actually very useful, but again the answers may have to reflect some of the tone of the questions, I am not sure. I find some of these things hard to repeat to often, but the absolute position of the question that frames something not in the statement as the only way to achieve the statement is quite hard to reframe properly.

In any case thanks @zeroflaw for providing the most important attribute, your time. I do appreciate it and hope we get better ways to handle such questions that will not sound confrontational.


Plus anything else they wished to tell you. This is all OK as you divulge what you wish when you wish all under your control. If you get a request to chat/video etc. directly but do not wish to then you divulge nothing, not even your IP address, why would you?

This may seem weird, but the network will allow you to have secured webrtc type comms, that requires STUN, we provide encrypted randomised STUN with vaults. So client A can request to speak to client B (via the network) and then if client B is online and willing he can accept the request. Then both will use our STUN to securely find each other’s endpoints (IP / port etc.) and the connection will be made. I do not see this as leaking info, although strictly you are as you must to communicate.