Does Algorand's Gossip Protocol Prevent Conflicting Messages?

Ciao @francesco0600,

The research paper closest to the Algorand Specifications (implemented by the go-algorand reference implementation) is this one: ALGORAND AGREEMENT: Super Fast and Partition Resilient Byzantine Agreement

The protocol implementation has evolved quite a bit with respect to the one defined in the original research papers you shared.

For example, in that paper, the agreement protocol was based just on a rounds and steps (r,s) state machine and on a Binary Byzantine Agreement , named BBA⋆, that could lead to the proposal of a block or an empty block for a given round.

The notion of period used in the latest papers and in the implementation (i.e., new consensus attempt for the same round) replaces the outcome of BBA⋆ over an empty block for a round.