Post
Topic
Board Economics
Re: When to "move the decimal points" ?
by
MoonShadow
on 01/02/2014, 21:17:48 UTC
It's not for display.

why would someone set a constant MAX_MONEY = 21000000 * COIN; for display purposes? The display would never go past that so it would be useless to set that constant just to control display.

So in fact, the BTC value is set in code.

The transaction fee per kB is also set in the code. That doesn't mean that it can't be changed.

COIN is used in various places in the code to make BTC amounts easier for programmers to read. MAX_MONEY = 21000000 * COIN is the same as MAX_MONEY = 2100000000000000. Except in a small amount of code very close to the UI, all Bitcoin values in the code are stored as integer satoshi amounts. (MAX_MONEY is used in transaction verification, but its unit is not BTC.)

In general, changing the code equals changing the rules. Hey, I thought we were done with centralised regulation. Think about it, a miner gets 25 BTC today, which is a fixed portion of the total amount of 21 million BTC (2 100 000 000 000 000 units). Bitcoin is fine as it is; the only minor problem is defining a nice and catchy pricing notation. By definition (design) 1 BTC is 1/21 millionth of the total amount, because of the mining strategy (50, 25, 12.5, and so on).
It will be very confusing/misleading/deceiving if you/they change the already familiar symbol BTC, or its abbreviation BTC, for something else than 1 BTC; i.e. 1/21 millionth of its totality.

Some of the code impliments the protocol; within exists rules that cannot be broken, and others that are more flexible within constraints.  All the rest of the code within a given client is there for users' ease, and can be modified without problems.  How the client displays the stored value is of the latter type, for the protocol doesn't specify a display unit and isn't even aware of one besides the satoshi, and not even by that name.  There are many aspects of the system that are like this.  This is not an example of centralization.