5

My current balance always shows the last six decimal places as 0 (eg: "Balance: 1.234567000000). Is this just me, or does Monero not currently use all 12 decimal places? Can this change in the future with a hard fork or something?

6

That's simply because you just don't have a fraction of a balance that small. When you think about it, roughly estimating that 0.1 XMR = $1, then 0.000001 = $0.0001, and so very seldomly is anyone dealing with prices smaller/more precise than that.

A second thing to consider... Technically, Monero (like Bitcoin) doesn't use decimals at all. It uses what are usually referred to as atomic units, or in Bitcoin lexicon "satoshis". Technically,

  • 1 XMR = 1 000 000 000 000 atomic units

  • 1 BTC = 100 000 000 atomic units

Or in other words, you don't have 1.234567000000 XMR, you have 1 234 567 000 000 atomic units.

This is so that all outputs are integers, which helps ensure that input and output math is exact (integer math is exact, while floating point math can get muddy). The "coin" conversion to decimals is just to make things easier to use for humans.

When you think about it in atomic units, it doesn't make sense that decimals "aren't used". Of course they are! They are what make you have 1.234567 XMR and not 0.000001234567 XMR!

  • Note the reason they are "truncated" is for size considerations. Current transactions have one output for every significant digit, so sending to "1.23456789" gives nine outputs, at least 5 of which make absolutely no economic sense to spend (they are worth less than the fee for size). RingCT can currently represent the entire 64-bit space in a single output, so truncation for that reason would no longer be necessary. – Luigi Sep 30 '16 at 22:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy