MaidSafe Dev Update - May 24, 2018 - Introducing PARSEC


The algorithm described in [2] has some shortcomings, though, the most
significant of which is the need for a common coin, a primitive which may require
synchronicity and/or a trusted third party for efficient creation or setup

synchronicity is something completely different from the intended word synchrony :wink:


Damn Besserwisser. Finnish, right? :slight_smile:


Well yes, but how did you know? It is crucial to keep the whitepaper professional.

e: ah, you are also. And props for chikens.


Of course you’re right. You know I was only kidding, and because of your nickname I felt like asking if you were Finnish. I think it is very important to have all aspects of the whitepaper professional, including the spelling.


Today we are delighted to announce that the code for PARSEC is now available on GitHub
@dugcampbell has also created this overview video to help walk you through this exciting release:


To clarify the misconception of “gossip about gossip” related to its use in the PARSEC algorithm, people should know, that this idea is very old! In fact it is already used in the 1982 paper “The Byzantine Generals Problem” By L. Lamport, R. Shostak and M. Pease in their algorithm #2 called “Sm(.)” in that paper.

Quote from that paper: “[…] In our algorithm, the commander sends a signed order to each of his lieutenants. Each lieutenant then adds his signature to that order and sends it to the other lieutenants, who add their signatures and send it to others, and so on. This means that a lieutenant must effectively receive one signed message, make several copies of it, and sign and send those copies […]”

If this is done in a randomized gossip fashion, hashgraph branded it as
“gossip-over-gossip”. It is a key stone in many byzantine fault tollerant systems, as it is an efficient way to handel malicious nodes.

The new idea of hashgraph is virtual voting, but there is no such thing in PARSEC as it uses a different consensus mechanis and a global concrete coin.