SO WHAT. Honestly its not an issue. If it was an issue then do as @jlpell says and go 128 bits from the start. We are only talking of a few bytes storage the difference for maybe 10+ billion coin-accounts when the world is using SAFE. 2 bits lost compared to the very large number of hours wasted explaining why we went with a decimal+binary for parts and why we cannot specify amounts down to the lowest decimal (pico). If you leave off the 2 bits and have just nano without the binary tail then you save every bit of confusion and massive time waste. Bitcoin is such a pain since they show 8 decimal places but you cannot specify amounts to the 8th place. Its like quantised to something around 500 Satoshi. And every new person comes across that at some stage and someone else has to explain why and both are still likely to be confused and just âput up with itâ
We can be better and just have nano and be able to specify amounts to the full 9 places and everyone knows what is going on. Add the 2 bits and it greatly confuses understanding.
Also the 2 bits might be useful for something else. So lets just go for the single 64 bit integer using true fixed point.
And as a lot of products do (eg IPv4 & IPv6) you can have a version number and the software knows if the coin amount is a single 64 bit integer or a 128 bit integer holding the amount. If 64 bits then its fixed point with 9 decimal places and if 128 bit then its fixed point with 27 decimal places. (or is that 28, I didnât check)
And when the core code writes back the new value after some transaction it always writes it back as the later version. So no loss of precision ever