linera-protocol icon indicating copy to clipboard operation
linera-protocol copied to clipboard

Do not discard certificates signed by revoked committees when syncing

Open bart-linera opened this issue 1 month ago • 1 comments

Currently, when we sync, if we receive a certificate signed by a committee that has been revoked, we will simply consider it invalid and discard it. However, we should accept it if there is a newer certificate on that chain signed by an active committee.

In download_and_process_sender_chain, we should make sure that we remember the certificates that were signed by revoked committees and process them once we encounter a certificate signed by an active committee.

bart-linera avatar Oct 10 '25 16:10 bart-linera

newer certificate on that chain signed by an active committee

But only if it refers to the old certificate by hash (e.g. because it's its child, or because it has it in previous_message_blocks).

Also, at that point the client can't know whether the actual signatures are correct on the old certificate, only that the block itself is correct. So ideally we'd only store the block at that point.

afck avatar Oct 13 '25 12:10 afck