A Question Storage and Retrieval. Is there any way to specify geographical location to store data for an App

Bare in mind networking has never been i strongest topic. Understanding is that the closer something is stored to me the faster it would be to retrieve than from the other side of the world. So here is my question.

Is there any way to set the location i would like to retrieve data from to facilitate fast performance? Let's say i build an app then after a while i realize that most of the users are from within a specific region. Hence to improve performance of the app i would like to get all data retrievals to be done from storage close to the user thereby reducing response time of an app to such users.

Background am in Kenya where Internet connection is relatively slow in some regions. If the safe app am to build is to be used it would help if i am able to specify all data storage to be in Kenya or next location that would facilitate faster retrieval.

No, sorry. It does not and cannot work that way. XOR space is very different from geographical space.


When the network grows quite big, it’s possible that a Chunk of data is stored in Japan, Germany, Kenya and the US. When you try to GET a Chunk in Kenya, it’s possible that the Vault in Japan replies first. After that it can go over 5 hops (maybe from Japan, to the Netherlands, to the UK, to another node in the UK and than to you in Kenya). It’s all based on XOR. Only when a Chunk is part of a popular file, it can be faster because nodes have it in cache. That way, the next one who’s asking the same Chunk as you (within a certain amount of time) will get it from the UK straight to his computer (withing 2 or 3 hops) due to caching.

1 Like

@polpolrene and @Southside thanks for the answers will dig into XOR a learn more.

The caching of nodes. Is there a way to emulate a constant retrieval in such a way that i will get a particular chunks in cache almost 50% percent of the time? Asking to gain more insight. I do know that one network call can go through numerous split paths


I’m working through these videos and now Im starting to understand a lot more than I did before - perhaps they will help you too?

The SAFE Network from First Principles

Check out Project Safe News

If Project Safe News did nothing other than provide a list of these vids, it would still be worthwhile :smile:

Sign up now!!!

No that would allow people to alter the network, when they hold particular files in cache (it would kill SAFEnet’s neutrality so to speak). First of all you have no idea what’s in your Vault, so you don’t know the data inside any Chunk. When you ask for a Chunk, other nodes will retrieve it and give it to you. All these nodes cache these Chunks, they’ll cache all the Chunks that come by. When a Chunk isn’t requested again within a certain amount of time, it will be overwritten by a new Chunk. That’s what nodes do, they pass each other Chunks and cache them. If you have 100 Chunks in cache at max. and Chunks 101 comes by, Chunk nr. 1 will be removed and Chunk 101 will take it’s place. Only when a Chunks is ask for again, it will go up the list. It really is just like Ants. All nodes pass each other data all the time, even while it’s not in your Vault.

1 Like

Thank you all for the answers. Got a learning curve set out for this week. @Southside thanks for pointing me out to the videos

1 Like

I would recommend reading the whole SAFE Network wiki at http://safenetwork.wiki.

It’s not really that long, and after you’ve gone through it a couple times, you will have a fair grasp of the network.