This will allow for 0 through 4,294,967,295 (2^32 − 1) versions. So far, only versions 0, 1, 2 have been used. It seems that the amount of storage for this field is wasteful. Surely unsigned 8 bit integer would be more than enough. What was the rational for using such a large integer?
Could this be reduced with a new block version? Could this be done without a hard fork?