Include the epoch index in the CompactBlock
as well as the block height.
#2689
Labels
consensus-breaking
breaking change to execution of on-chain data
_P-low
Priority: low
_P-V1
Priority: slated for V1 release
Milestone
Is your feature request related to a problem? Please describe.
Computing a nullifier for a state fragment requires knowing the position of the fragment. Client implementations need to compute nullifiers of state fragments as they're detected, since nullifiers are used to detect when those state fragments are consumed.
However, our current compact block definition doesn't allow computing the position of the fragments it contains without access to other state (namely, a synchronized SCT instance). Why? The position has three components: (commitment index, block index, epoch index). The commitment index is implicitly specified by the order of the fragment within the message. The block index is just the height. But the epoch index is not included in the compact block, so a client can only get it by cross-referencing with their SCT instance.
If we include the epoch index in the
CompactBlock
, however, we can statelessly compute positions of any fragment contained in the compact block.Describe the solution you'd like
Add the epoch index to the compact block with a low (sub-15) field number (to save space, since it will always be present).
The text was updated successfully, but these errors were encountered: