initc3 / HoneyBadgerBFT-Python

The Honey Badger of BFT Protocols
Other
134 stars 65 forks source link

Garbage collect "outdated" outgoing protocol messages #19

Open sbellem opened 6 years ago

sbellem commented 6 years ago

From amiller/honeybadgerbft#57:

After finalizing each HBBFT-Block, nodes produce a t+1 threshold signature on a merkle tree over all the transactions, as well as a merkle tree over the current state file S. This signature serves as a CHECKPOINT, a succinct piece of evidence that the current block has concluded. CHECKPOINTs are used for three different purposes: ...

  • III. Allow nodes to garbage collect old outgoing messages. Because nodes that have fallen behind can catch up via a CHECKPOINT, it is not necessary to buffer outgoing protocol messages pertaining to earlier blocks. Outgoing messages buffered in the I/O abstraction can be canceled/withdrawn, replaced with CHECKPOINT messages for the current round.