I’ve been playing around with this
Awesome! So great to have eyeballs around our code
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 << This makes me think we should mention this in the tutorial