SAFE Network Fundamentals: Context

Here’s an example that @nbaksalyar gave internally to answer the same question:

"This can be compared to sending a message over the clearnet (the Internet of pre-SAFE epoch). If you send an email message to me over GMail, Google then will make sure the message will be delivered to me, as I will connect to their server to retrieve it. That will be an indirect message travelling over intermediaries (the Google server, etc.).

Now imagine I have my own email server, at my home computer: if you connect directly to it, using my IP address, and send me a message, it will appear right on my home computer: I wouldn’t need to connect to any third-party servers to retrieve it. That will be a direct connection. Almost no one does that anymore on the clearnet though because setting up your own home email server is too much hassle.

On SAFE it’s very different technically, of course, but the conceptual idea is similar: if you connect to me directly, you won’t be charged for messages. Examples could be having a VoIP call (like on Skype), or direct file transfers (like on BitTorrent), etc.

I hope that helps!


If the data isn’t accessible isn’t that wasteful? Can we devise a way for the network to know that data is no longer linked to and therefore of no further use?..DELETE!


Maybe, but the problem is the cost of keeping track of that, and more importantly it could compromise privacy.


Think I understand now thanks :+1:t2:


There is no concept of time in a decentralised network such as SAFE unless it reaches out to centralised servers and services. SAFE uses a completely event-driven paradigm to circumvent the need to try and synchronise and then use time periods as valid tools on the network. These periods require magic numbers which would need to be set by developers and this is something the Network avoids with rigour.

I think there should be a concept of time as a service. It will be very handy to work with time even if the core logic does not use it. Implementation could be as simple as implementing a gettime call that asks the other nodes in your group to vote on what the clock is, and an average is returned. I believe something like this could easily become the default NTP service of the internet.


I think many would agree, but the network itself shouldn’t depend on it, just the apps that run upon it.


I thi k it is important to point out that negotiating the direct connection is also improved on SAFENetwork. No need to rely on third party certificate registrars to confirm identities. No need to pay for certificates either. P2P communication should become much more secure and simpler as a result.


Thanks for this. One question: What is known/theorized about the Network’s performance with regard to tps (if this term applies), speed, etc?

We won’t have hard performance metrics per se until we’ve got testnets that resemble very closely a feature complete network. Some metrics have been collected by members of this forum for various testnets/pieces of the puzzle, but I would take them with a grain of salt before extrapolating to definite claims about the full live network.
One thing I can definitely say is that performance is an enormously important aspect of the SAFE Network without which we couldn’t hope to deliver on our vision of “Secure Access For Everyone”. A responsive network is probably one of the key factors in the usability story.

So with this in mind, we are very careful when designing the algorithms to stick as close as possible to the optimal theoretical complexity for each kind of problem we need to solve. All the backend is also written in rust which was chosen for it’s ability to deliver security and speed without compromising on any of these two metrics.

So without having the data to make specific claims, I can only tell you that performance is absolutely a key target of our design. I expect for the SAFE Network to be competitive with the clearnet for most tasks and be more performant for some other thanks to unique opportunities we have such as optimistic caching.


If someone has a data map that includes it then its accessible.

BUT the network has absolutely no way to know if someone has a chunk included in a datamap or not. The datamap does not need to be stored on the SAFE network. Also the datamap is just a list of XOR addresses and thus there is no way to know if some data is a datamap or not even IF the network could read the chunk/MDs.

It would be a real loss of anonymity and privacy if the data maps of every file was specially kept and readable by the network and known who owns the file. Also think of all the scanning that would need to be done to find out if a particular chunk was NOT in any datamap.

The biggest problem is not knowing if someone somewhere has a datamap with that chunk in it. Especially since the datamap could have been emailed and stored on a USB stick off the SAFE network. So even storing who uploaded a chunk with the chunk does not prove the chunk can be deleted since 1 million people could have the datamap with that chunk by the time the person requests to delete it. And the million could have had the datamap mailed to them and are not officially owners in the chunk’s meta data

The best solution so far in my opinion is to create a temp immutable data type for all those temporary files that applications (ie word processors) use. And if someone is given a temporary file’s datamap then if they want to keep the file then they pay to upload it as a permanent (immutable chunks) file.


This free browsing vs. paid for uploading is something that confuses me just a little bit.

Let’s say that something like Youtube will operate in Safenet. I can watch videos without having to have an account, but if I want to comment something, I need to have an account and pay for my comment, right?

Or, I can browse the selection of online bookstore for free, but when I decide to order something I need to have SAFE account, and I have to pay some tiny amount to write the delivery address for my order?

Anything that comes down is free and anything going up I must pay?


Yes you’ve summarised it nicely with this examples and this quote, unless the ‘going up’ is a direct message which means some loss of anonymity so generally only useful when communicating with friends (and other trusted parties).

So sending email will in effect be charged, but the fee should be very small. The benefit of this is that it should eliminate spam, as well as ensure you are always in control of the data you share with others, or upload.


As I understand it, it doesnt have to be you, who is paying for the upload. Owner of the youtube-like service can pay the fee for your comments.


One thing that seems to be missing is that the network will be autonomous and self healing. May be implied in other places, but I think it would be good to spell it out.


At the moment, on the clearnet, this is also the case. Except I have to create an account for each individual web app I use: one for YouTube to comment there, one for this forum, one for Facebook etc.

Withe the SAFE Network, you’ll only need one account, one password, one log-in. And on top of all that, all the comments you make will belong to your account, and be under your control: they won’t reside on YouTube servers nor become their property.


And it’s of course good to reflect on the fact that email as most people know isn’t really free at the moment—you just don’t pay up front. Have a Gmail account? You are paying for it by your emails being scraped and harvested for advertising profits.


Yes, this something that I really like. I feel frustration every time I need to create a new account for some one-off thing I like to do in the net.

Do I have this thing right: In SAFE Network I can log into tubes and forums with one login, and still at the same time have different “masks” for all those different platforms? Otherwise anybody could collect and put together the information of my behaviour in all these various sites. I mean, obviously I can create different accounts for different purposes when in need for true secrecy, but the question is if it is easy to not have same username/identifer in tubes, forums, “likes” for some restaurant, theatres…?

1 Like

There was discussion about the site host paying on behalf of the client too. It isn’t implemented yet, but it was a smart contract of sorts. I’m sure someone on the maidsafe team can comment further.

However, retaining ownership of your data is a powerful thing. Some stuff users may not care about, but other stuff users would likely rather pay the tiny fee to retain control of their data. It would be great to have the choice.

1 Like

It does take a while to get your head around this, because it’s a really change from what we have at the moment:

You’ll only log in to the Network; from there it’ll be a case of giving different web apps or services permission to access certain types of data, that you stay in control of.

It’s a bit like going back to the old pre internet days of everything happening on your own PC. Your hard drive contains all your data, and you install applications that allow you to create and manipulate your data in different ways. You stay in control of it all. Think of the SAFE Network as your PC in that regard.

And as far as identities go, you can create multiple IDs or ‘profiles’ (all within the one account, so no need for multiple log-ins) and allow different apps to access different IDs. They could be pseudonyms, or relate to your real identity. It’s all up to you, but there is no inherent way for you to be tracked around the Network like there is on the clearnet, so none of it can happen without your say-so.


Yes, I understand this layered, tree-like structure of identities. I know what is possible, the question for me is what is easy, what goes along or against the habits that I as a human have? Even now I’m capable to hide my tracks in the net when I really want to, but at the same time I’m habituated enough and connected to other people through these habits so that I use Gmail (and other Google services) because of the easiness of it.

From my perspective this thing:

…sounds like a burdensome thing to keep track of. Because at the moment these very easy to use apps that we have, have become kind of transparent to me, so that in live situations I kind of forget that there even is an app. It feels more like “The World” asks my opinion about the recent Cafeteria and I’d like to give “The World” my opinion without having to think what kind of plot it is planning to take over me when the tides turn.

So, what I would like to see in the SAFE Network is not so much the freedom to choose what rights any app have, but the freedom of not having to choose the level of exposure every time I want to casually tell my opinion to “The World”. And it should be that way also for the future so that I don’t leave a track that is anonymous only if I stay careful ad infinitum. Of course in the end it comes back to the apps and the core, but from my user perspective it is more about “situations” that “apps”.

I don’t know, I guess in the end it will be as easy as having some kind of anonymous setting on all the time and use another setting if I spesifically wish so.