I was looking into transaction format and i can see that the output amount is stored in a 64 bit integer. Have all the bits been used at least in one transaction? Is there information about the largest transaction output amount to ever exist on the blockchain?
The largest 64 bit integer is:
18,446,744,073,709,551,615 or, in hex: 0xffffffffffffffff
but there aren't that many sats, there are only:
00,021,000,000,000,000,000 or, in hex: 0x004a9b6384488000
sats that can ever exist (actually slightly less due to rounding decisions involved in the issuance schedule)
According to a google search the largest bitcoin transaction ever is this one which sent this number of sats:
‎00,000,002,613,938,974,287 or, in hex: 0x000002609ae76e4f
So a lot of bits in the 64 bit output amount field have never actually been used in any mainnet bitcoin transaction
reply
Just to clarify, 18,446,744,073,709,551,615 is the largest unsigned 64-bit integer. Which makes sense in this context, since you aren’t sending negative sats.
reply
Hm... Satoshi wasted in theory at least one byte then. In practice 2. Anyway. I was thinking in the context that I wish bitcoin was more divisible. And it clearly it was possible for bitcoin to be more divisible if one bitcoin was defined as a bigger integer (and the initial reward was still 50 btc) without actually sacrificing anything.
I feel that it may be possible in the future 1 satoshi to be too big of a value. And as far as I have read this cannot be fixed without some very disruptive hard fork. (And yeah, subsatoshi on the lightning network is not the same as it can't really be settled).
reply
for those that dont understand, the amount of Bitcoin being sent to a recipient in a transaction. It's important to note that Bitcoin transactions can have multiple outputs, each specifying an amount and a recipient address is the transaction output value
reply