Interaction between UTXO commitments and a proposed excessive blocksize adjustment algorithm has been bugging me because the internal state of the algorithm would also be part of “current state”, but commiting the algo’s state would make the algorithm a new consensus rule, and any tweaking of algorithm’s parameters would require messing with the commitments code.
Thankfully there’s a way around that: commit only actual mined block sizes. Then clients can get the whole block sizes dataset (about 9MB now) when they do IBD, validate it against the commitment, and then compute the algo’s current state. This way, in case of need be, we could revert to flat limit, tweak or change the algo, and there wouldn’t be any baggage of the old algo.
Could the specification be extended to add the block size data?