tempo
tempo copied to clipboard
Consensus: Ensure validators are not read from uncle blocks
Describe the feature
When reading validators from the on-chain contract, only the block number is considered. In very rare cases, this opens us up to reading uncle blocks instead of the intended canonical block if a) the excecution layer has previously canonicalized some other block for the target height, and b) the DKG actor reads the block before the application actor gets to finalize the block. We should read digest of the block instead.
https://github.com/tempoxyz/tempo/blob/5de51f39e176f22b9dcf32b11eeaf5eb312a468a/crates/commonware-node/src/dkg/manager/validators.rs#L43
Additional context
No response