-
Notifications
You must be signed in to change notification settings - Fork 201
Description
Context
Whenever we discover a QC that we don't have a block for it means that we have lost some part of the history and we would like to sync that block in order to guarantee liveness despite that block is potentially on a fork that might be abandoned at future.
After discovering the QC we need a place to store it somewhere in memory, for that purpose we want to introduce a mempool for quorum certificates. It is responsible for temporary storing QCs that we need to store somewhere while waiting for block to be synced over p2p network.
It's important to keep the number of QCs limited, we already know that there could be at most one QC per view without exceeding Byzantine Threshold, this single thing already makes number of QCs that we will store somewhere bound, additionally we need to be pruning QCs whenever we finalize a view since we won't ever need that QC.
Considering the fact that pruning by view is very natural for leveled forest it's the main candidate for the implementation unless there is a strong argument to use something else for this specific case.