The SAFE Network Primer: An Introduction to the SAFE Network

@jpl and @polpolrene I found time to read this through and it is excellent, so thank you again, and everyone who helped with proof reading etc. It’s great to have to have a single coherent description from top to bottom and will prove a useful reference, as well as a comprehensive intro for those who want a complete picture.

It’s very well explained and seems to me an easy read given the subject matter, although obviously I’m already familiar with the material so hard to judge that for somebody starting from scratch.

Very well done :clap:

4 Likes

You can just add a line with something like “This content is available under Creative Commons Attribution 3.0” somewhere in the document.

6 Likes

The keys are generated at random and when on the network they are the node id. If the node and its ID are valid and it is accepted on the network then you can copy that public key and use it the next time you join, along with the connection info.

So in brief these are gathered from a running network automatically by the nodes on the network that connect to those nodes. i.e. I connect to @jpl and IP address with public key @jpl If I see your IP is directly connectible I store that ID and key in my bootstrap cache file (it is in crust). Of course if I trust a friend and they give me their list I can also use that. Therefore we will supply initial nodes to connect to but these will be redundant after first connection. We do not need to though, you can get them elsewhere and as they are only for bootstrapping then there is little damage from connecting to a bad one. Folk talk about fake networks and people connecting, but that is not as bad as it seems as you would know you were on a fake network when you speak to your contacts etc. it is much deeper, but you also can connect to many bootstrap nodes to get to your closes group. In any case this is the mechanism for getting those keys, it is automatic when you are running a node.

8 Likes

When I read that in the document I thought there was a mechanism like this. It would be good to get it in the doc as it sounds like the process is centralised at the moment.

2 Likes

Wanted to say how amazing this document is again. I talk about the SAFENet all the time, this week at a work thingy more people were intrested - and… instead of sending a load of links, i’m satisfied as first contact with the information this document is great. Ofcourse I will send them more links but this document has it all!!!

8 Likes

OK how’s this? Trying to avoid going down too many rabbit holes or increasing the word-count too much. Is this accurate?

Page 15:
OLD
For a Vault to join the network it requires the IP addresses of other Vaults to connect to. For this purpose MaidSafe provides a small number of bootstrap servers. These are internet-connected machines running the Vault software. The public keys of the bootstrap servers are hard-coded into the Vault’s binary, meaning that all communication is encrypted from the beginning.


NEW
For a Vault to join the network it requires the IP addresses of other Vaults to connect to. For the initial connection MaidSafe provides a small number of bootstrap servers. These are internet-connected machines running the Vault software. The IP addresses of the bootstrap servers can be added to the new Vault’s configuration file, or it can connect to other Vault in the network if their IP addresses are known. The connection itself is fully encrypted, the randomly generated public keys of all valid Vaults being stored on the network, and the initial connection is dropped after the first hop when the new Vault connects to others in the network.

Page 17:
OLD
The public keys for these bootstrap servers are hard-coded into the Client software, so the communications between the network and the user are always encrypted, never in plain text.


NEW
The randomly generated public keys for these bootstrap servers are retrieved from the network by the Client, so the communications between the network and the user are always encrypted, never in plain text.

3 Likes

Thank you for the hard work by mainly @jpl, @polpolrene that went into this very useful document!.
I’ve a question. In chapter 5 ‘Node Age’ is explained: only after prove of resource (accompanied with a couple of section moves), a node(Vault) can become an elder, hence get voting rights.
Maybe I’ve read over it, but when can a node start saving chuncks, hence start to earn SafeCoins?
I think it is only when the node becomes an elder, but I’m not sure.
Whatever the answer, it can probably be made a bit clearer in the document.

I’m not sure either. I think that’s still under discussion.

1 Like

Might want to mention that when a vault rejoins the network it will have its own list of other node’s IP address from its last operation. So the hard coded list is not usually needed when a vault rejoins.

Also a publicly available list could be used, or a trust friend could give you a list to use.

That is my understanding. I would think once your vault is storing data then it can earn. And that is what needs to be defined - when a vault starts storing chunks

Might want to mention that when a vault rejoins the network it will have its own list of other node’s IP address from its last operation. So the hard coded list is not usually needed when a vault rejoins.

Yes, that’s kind of covered here, hopefully. Try to create a catch-all explanation without getting into too much detail.

The IP addresses of the bootstrap servers can be added to the new Vault’s configuration file, or it can connect to other Vault in the network if their IP addresses are known.

2 Likes

Thank you for the Info. As a newcomer is really good to have this type of information and i’m interested in the project

5 Likes

The “What does that mean?” section with the color of teal seems a little strenuous to read.
Must go to work but this is the first longer document I have wanted to fully read in awhile!

Here’s a stab at covering self-authentication (an omission from the Primer raised by @nowfeelsafer above). Bearing in mind that I want to keep it brief and high-level and not get drawn into the complexities of key exchanges and the rest of it, is anything vital missing from this description?

Another key innovation introduced by MaidSafe is the process of self-authentication. This allows a user to create an account and log into the decentralized network securely and anonymously without requiring any central server to mediate the login process or any trusted third party to store and manage users’ credentials. With self-authentication the user effectively generates his or her own passport which is stored on the SAFE Network in such a way that it is cryptographically obfuscated from all other parts of the network.

7 Likes

This is great! With the link to the url at the end of the chapter, people wanting to know more will have access to the complete picture.

3 Likes

This document is great. I would like to translate it into Czech. PDF or web is not appropriate for this. I copied the docx texts, but they are without graphics. The result is not perfect. @JPL Can you please post a resource in Word?

My translation tests are stored here:

8 Likes

Fantastic work on this doc! Many, many thanks to @JPL and @polpolrene for the hard work and other community members like @fergish and @frabrunelle for helping to fine tune - this is definitely going to be a valuable resource for getting people familiar and interested in the SAFE network. The contrast of the coloured copy and white background in the Keep It Simple and What Does That Mean sections did make readability a problem, on mobile anyway.

Be nice to have it up as a basic website and using github would enable it to be easily updated. Maybe using github pages and having https://primer.safenetwork.org/ pointing at it. Looks like it was put together in InDesign. Getting all the image assets and turning it into a static html site shouldn’t be a big job. More compelling CTA at the end to join the community forums maybe?

This is such a great resource and should be shared widely. The fact that it situates the project and tech within some political, social and economic context also makes it more accessible. Again thanks for the awesome efforts!

5 Likes

Just putting it out there… I used a file converter to turn the pdf into html and quickly get a web version up.
The resulting html is somewhat of a nightmare but as a simple link to share I think it serves the purpose.
None the less if anybody has time for doing a more thorough job Id close this down or transfer it whichever makes more sense. (With the blessings of the creators) also happy to leave it as is.

1 Like

Yes it’s great to have a web version https://primer.safenetwork.org/ but the PDF converter results in HTML that’s hard to edit. I can get hold of the InDesign files if anyone wants to create a website from scratch or stick it on GitHub. Point taken on the contrast. It looks fine on my screen but others have mentioned it needs to be beefed up. I’ll ask the designer to tweak it when we produce a new edition further down the line.

4 Likes

Completly off the topic of your document, (it is still downloading) but I love your use of “brought low.” I guess I am a word nerd.

1 Like

Thanks!!! Now I can read it at work tomorrow on my phone.

1 Like