Pages:
Author

Topic: Representing fractional satoshis in difficulty-like format - page 2. (Read 313 times)

legendary
Activity: 2366
Merit: 1206
It might time will come and across on that fractional amount in the future if Bitcoin will become very expensive.  The only way to buy for a cheap amount is the xx amount of bit numbers to determine the amount.

For now, the smallest one that we heard is the satoshi or sats for transaction fee and it's rare we even heard a bit or even a millibit.

However, here's a thread for Bitcoin Table of Units, and as I can see on that thread the smallest unit is tam-bitcoin that I thought before the smallest one is the satoshi amount.  Cheesy
newbie
Activity: 21
Merit: 16
For now, we have 64-bit numbers for representing amounts. We have satoshis as the smallest units and we have maximum coin supply of 21 million coins. That means we need at most 51 bits to represent any amount now. In the future, sooner or later, introducing fractional satoshis would be needed. The easiest way to expand it further when we use all 64 bits is just expanding it to 128-bit or even 256-bit number, but it seems unnecessary. We already have 256-bit targets expressed as 32-bit numbers when we deal with difficulty. The same method can be used to introduce fractional satoshis: one byte could be used to allow going up to 256 times smaller amounts than now, and the rest could be used to express the shifted value.

Some examples:
Code:
21 million coins: 000775f05a074000
one satoshi:      0000000000000001
one millisatoshi: 0a00000000000001
one microsatoshi: 1400000000000001
one nanosatoshi:  1e00000000000001
one picosatoshi:  2800000000000001
one femtosatoshi: 3200000000000001
one attosatoshi:  3c00000000000001
That also means that it will be impossible to express some amounts, but it is by design, just to avoid paying 0.000000001234567890123456789012345678901234567890 BTC in single output. I think that 56 bits should be sufficient to express any amount precisely enough, and the first 8 bits just allow to shift them to the right and express smaller amounts in this way.
Pages:
Jump to: