-
Notifications
You must be signed in to change notification settings - Fork 53
Description
-
do we need it for consensus? [will decide priority once we know this]
-
mapping out how it works?
-
is it about slashable conditions?
-
part of the TVU
Overview of DuplicateShredListener and what it is used for
In TVU
In WindowService
solWinInsert thread detects duplicates
-> Send duplicates via PossibleDuplicateShred.
solWinCheckDup thread in window service.
-> Receives possible duplicates
-> Upon confirmation of duplicate pushes it to Gossip. cluster_info.push_duplicate_shred
In TVU
In DuplicateShredListener
solCiEntryLstnr thread retrieves duplicate shreds
-> Retrieves from Gossip
-> Sends to consensus state via duplicate_slots_sender
In Replay
Self::process_duplicate_slots receives the duplicate slots via duplicate_slots_receiver
-> Ends up updating fork_choice.mark_fork_invalid_candidate
In summary, it serves as one of the Fault Detection & Recovery mechanism in Solana. In this case, it detects duplicate slots which then updates the fork choice ensuring this information is used in consensus when deciding how to vote.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status