It seems that, at cycle
n, the context stores one selected snapshot (among 16) for each cycle between
n+5, and 16 snapshots for cycle
n+6, and some number between 0 and 16 for cycle
n+7 (depending where we are in cycle n). Is this right?
If yes, then couldn't one already select (at
n) the snapshot for cycle
n+6, using the seed for cycle
n+5 (because the one for
n+6 is not yet available)? In this way the context could store 15 snapshots less. Or does there need to be a certain correlation between the seed used for selecting the snapshot and the cycle for which the snapshot is selected? (Same question could be asked for baking/endorsement rights.) I imagine it is simply sufficient to not reuse a seed for the same purpose.