The hashgraph introductory paper "The Hashgraph Protocol: Efficient Asynchronous BFT For High-Throughput Distributed Ledgers" (Baird, Luykx, 2020), has a diagram of the hashgraph data structure - Figure 1† - which is very similar to the one on the Hedera site here, and a part of the hashgraph, as diagramed there, looks similar to this abbreviated version:
The main issue is that these (typical) hashgraph diagrams do not, to my eyes, show the two-way gossip when nodes talk.
For example, at the top of this diagram, when the middle node M
has just talked with the left node L
to produce event A
incorporating L
's state as of event B
, node M
already knows stuff from node R
's event C
- but I don't see an event on node L
showing that L
now knows about C
. Which is what I would have expected for the two-way gossip when M
spoke with L
. From the paper:
A. Gossip About Gossip: Communicating the Hashgraph
The hashgraph protocol uses gossip to communicate, as described in Algorithm 1. A node, Alice, chooses another node at random, say Bob, and then Alice sends Bob what she knows that he does not know, and vice versa. [emphasis added]
Is this what the the hashgraph really looks like? If so, then what to make of the "and vice versa"; is the gossip not 2-way? Alternatively, what should these diagrams look like?
† Copyrighted image not reproduced here for fear of violating fair use - but if an editor on this site knows better let me know and I'll copy it in and use it instead of mine.)