polkadot
polkadot copied to clipboard
approval-voting: coalesce multiple approvals in a single signed message
This is aimed at reducing the amount of messages and work done per relay chain block. Currently we send one signed message for each candidate approved under a block as soon as candidate validation completes the check.
We should look at coalescing multiple approval votes for different candidates in a single message, instead of immediately sending individual messages out. This change would introduce some latency and we should calibrate the time we wait for more candidates to be approved to avoid no-shows. I expect this to work really well for tranche 0 approvals with https://github.com/paritytech/polkadot/pull/6782. In the happy case, each validator would send out exactly 2 messages per relay chain block as a tranche0 checker.
We would need to define some V3 primitives for ApprovalVote such that it wraps a bitfield in which each bit represents the candidate by index in the inclusion relay chain block.
Also, IndirectSignedApprovalVote wire message needs be updated to provide the signing context for verification.