We have discussed that we will use randomness from slot n to farm, but will wait for something like n+6 before actually producing a block with the solution to ensure everyone is in the same conditions and slower or faster hardware doesn’t result in much difference for farming.
First of all, in this case, is block considered to be “built” on slot n or slot n+6? If it is n then we wait for proof from the future, but it is odd because transactions are also from that future. If it is n+6 then it kind of makes more sense, but at odds with how we would naturally explain it and the sequence of events implemetation-wise.
Second, do we actually need to include two outputs? Theoretically doing decoding backwards from n+6 proof should make us arrive at proof n anyway, so maybe there is no point to include both in the header, while for efficient verification we would still need to get not just proof at n, but also checkpoints, it only helps partially to have one more data point in the header.