SAFE Network Dev Update - July 12, 2018

There’s so much good stuff in this update I can’t decide what to quote for joy! Great work, and keep on truckin’

11 Likes

The video is great but needs better lighting

2 Likes

I also think the video is great. Do you have access to an autocue? It can help to keep the eyes focused on the camera rather than wandering to the side as you think of the next sentence. You can use an iPad or other tablet to scroll through the script - but you’d have to fork out on a widget to project the text unfortunately.

3 Likes

Amazing work to the Maidsafe team with getting the parsec code out so quickly.

Please think about making announcements on blockfolio’s signal, as my phone is constantly telling me of other project developments I have on my blockfolio list, but nothing comes through for Maidsafe. Seems we are missing some exposure there. Also other similar apps like Delta may do something similar.

9 Likes

Thanks for another great update Maidsafe devs,

Really love the “talking head” video, Sarah and Dug are the best. It would also be nice to see more explanation video’s about the SAFE Network from other sources as well, the community could help by asking people who do this regularly. For example ‘what is Parsec?’ from https://www.youtube.com/user/jacksonpalmerbc or https://www.youtube.com/user/LiljeqvistIvan/videos

Ideally I would like to see a video from https://www.youtube.com/user/coldfustion/videos or
https://www.youtube.com/watch?v=jGfvkjzLrNw

If possible a platform comparision video SAFE Network vs Amazon aws, Google cloud (this would give devs are real world example)

But maybe that’s asking too much
:stuck_out_tongue:

6 Likes

The Medium article Is really great!!

It’s a great one to share with most anyone.

Clap it up to the max.

13 Likes

Don’t currently have an autocue @JPL because I never use notes for talks etc - I’ll take a look into it and see what I can do to fix the shifty eyes with a bit of practice :wink:

7 Likes

Hey @Sonder I actually contacted the Blockfolio team a couple of days ago (Blockfolio Signal). Apparently there’s a long waiting list to so will keep you updated when we hear anything further.

9 Likes

Yes it’s not for everyone. I find it helpful if ever I have to do presentations to camera but I always use notes.

1 Like

Just want to second what Nigel said about the echo. You can also hang curtains and use bookcases (with books) to absorb the room echo. Of course I’m a hypocrite having made heaps of video’s now - many with terrible scratchy sound :frowning: still hacking on my problem.

7 Likes

I’ve got a couple bookcases as well but in a makeshift studio in a garage with concrete floors, that acoustic material worked wonders. A good mic and some compression and a small gate is always useful too but that’s getting into the weeds a bit, though that rack that @chrisfostertv had shared a couple updates ago is prolly a quick setup. Sound deadening will take out most, if not all the echo and make for more pleasing audio to a youtube veiwer. Dug and Sarah have the presentation skills, they just need the tools to match it.

But like I said before still a big improvement so far.

7 Likes

Small error in the instructions: git https://github.com/maidsafe/parsec.git should be git-clone https://github.com/maidsafe/parsec.git

Also it might be worth mentioning that Rust is a prerequisite?

5 Likes

Great to hear you are already on it. Hopefully it gets sorted soon.

I’ve been playing around with this while also watching the World Cup, so my focus is probably not the best! Couple of questions for @pierrechevalier83 and @anon86652309:

Gossip Round 003
================
Votes:
  Alice: []
  Bob:   [QQEnf, 0Etea]
  Carol: [0Etea, QQEnf]
  Dave:  []
Stable Blocks:
  Alice: []
  Bob:   []
  Carol: []
  Dave:  []


Gossip Round 004
================
Votes:
  Alice: []
  Bob:   [QQEnf, 0Etea]
  Carol: [0Etea, QQEnf]
  Dave:  [QQEnf]
Stable Blocks:
  Alice: []
  Bob:   []
  Carol: []
  Dave:  []

In Gossip Round 004, why does Dave only receive information about QQEnf? I thought nodes received information about all events they did not already know about? So shouldn’t Dave also learn about 0Etea at the same time since he must have received the information from Bob or Carol (assuming he didn’t observe that event himself independently)?

Secondly, some gossip rounds seem to cause no changes in the output. Why would that be? What’s the definition of a gossip round? (This output generated by running cargo run --release --example basic --features=dump-graphs -- -p4 -e2)

EDIT: Just noticed the word “Votes” - I guess that’s the reason.

3 Likes

I’m just now noticing that this is the first week the update topic name starts with ‘SAFE Network Dev Update’ instead of ‘MaidSafe Dev Update’ :+1:
The people who asked for that should be happy about that, but I’m not sure they’ve (all) noticed it already :face_with_monocle:

19 Likes

I’ve been playing around with this
Awesome! So great to have eyeballs around our code :grinning:

The output you’re seeing in the console is a very small part of what’s going on in parsec. Basically, it shows you what events got voted on and which blocks were made stable. To see a much more complete picture, you would need to check the graphs (hopefully, the tutorial.md file makes it clear how to do that. Feel free to ask for more details).

So these “rounds” are not really a PARSEC thing. They’re specific to the way we designed this example: every “round”, each node sends a request to a random node and handles the corresponding response. Each node also starts with a number of network events to send. Each round, they have a chance to randomly remove one of these events from the list and gossip it to other nodes.

This particular scenario is totally arbitrary and does not reflect a realistic situation, but it is simple and allows to showcase the protocol.

So the “Votes” section does not imply any communication between nodes: it simply shows when each node randomly picks each event and starts gossiping them. The “Stable Blocks” section gets populated when, after gossip has been going for a while, blocks start becoming stable. (I.e: nodes know for sure that if they pick it as the next stable block, all other honest nodes will pick stable blocks in the same order)

Checking out the .svg files generated when running the example should give you a much better visual impression of what’s going on.

Here, I tried to answer your question by explaining how our example works in general. In the future, if you have any specific question about a particular scenario, please make sure to copy the random seed in your message so we can reproduce the same scenario and comment on the specific :wink: << This makes me think we should mention this in the tutorial :wink:

8 Likes

Thanks @pierrechevalier83. Yes I thought it might be something like that. I can create and view the svg graphs fine, but I was struggling to equate the two representations of what’s going on. The console view is easier to understand (the svg graphs get pretty large and complex once you step away from the basic scenario) and it confirms that all the nodes come to an eventual agreement and what the final order is, which the graphs don’t seem to do.

EDIT: Oh and congratulations! - I guess you supported France?

6 Likes

I take your point: the svgs contain much more information which can make them harder to parse. If it helps understand them, each one shows you all the gossip that occurred until a given node decides of a given network event as the next stable block. It explains why that node picked that block by showing all the intermediary data from the PARSEC protocol.
Looking at a single graph, you can read it from bottom to top, starting by the votes on cyan blue. When enough votes for the same network event have happened, you get “valid blocks” in red. Going up, you reach the first rectangular gossip events which are observer and contain estimates for each meta vote. Each event from that point on shows the values for estimates, bin values, auxiliary values and binary decisions. Once a gossip event created by the node who’s deciding contains only non empty binary decisions, the next block is made stable.
I hope this is not too overwhelming. If you have suggestions for visual improvements that would help convey all that information more intuitively, please share :smile:
Edit: Thanks :smiley: I didn’t want to sound cocky by bringing it up, but so proud of the French team :smiley: They gave us some amazing football and brought it home :smile:

8 Likes

Thanks for your comments, JPL.
We addressed them in this pull request (already merged to master):

4 Likes

Is OK to celebrate - at least I hope so because I would have :slight_smile:

Congratulations to you, France and all her supporters.

6 Likes