Difference between revisions of "Coinbase account"
m (added table of contents) |
m (updated info about block rewards) |
||
Line 13: | Line 13: | ||
==Smart Coin Distribution== | ==Smart Coin Distribution== | ||
− | There are many ways coin distribution can be done, | + | There are many ways coin distribution can be done, since Cryptonite has such a huge coin supply it has an extremely long mining period. It will take 100 years before even half of the coin supply has been mined, with a repeating half life of 100 years. It mimics the same type of coin scarcity we would get simply by lowering the total coin supply but at the same time it ensures a very fair distribution of coins over a very long period of time. |
+ | |||
+ | The block reward is adjusted every block so that it changes gradually over time. Sudden large changes in the block reward are not healthy for the network, and it's not clear why Bitcoin was designed to have such long intervals of time between changes in the block reward. By adjusting the the block reward every block the network has time to adapt to changes gradually instead of suddenly. Cryptonite also updates the difficulty every block for similar reasons. |
Revision as of 21:02, 21 July 2014
The coinbase account is a concept new to the mini-blockchain scheme and first used by Cryptonite. The coinbase account actually acts as the input for coinbase transactions, meaning coins are subtracted from the coinbase account in order to fund block rewards. The starting balance of the coinbase account dictates the total possible coin supply. One interesting consequence of this approach is that it's easy to check the balance of the coinbase account and find out approximately how many coins are left to mine.
When the balance of the coinbase account reaches 0 the block reward will be 0, however it is possible to provably destroy coins by sending them to the coinbase account. Another possible mechanism for injecting coins back into the coinbase account without inflating the money supply is to implement account tree pruning and feed the "maintenance fees" back into the coinbase account, which is helpful not only because it helps subsidize miners but also because it clears out dust in the account tree at the same time.
64 bits of Granularity
Bitcoin makes use of 2.1 quadrillion units where each coin is made up of 100 million units, resulting in a total of 21 million coins which are divisible by 8 decimal places. However, internally Bitcoin uses 64bit integers, and it could handle a much larger number of coins, so 21 million may sound like a rather arbitrary number, but in fact it is not. Many applications make extensive use of double precisions floats but doubles can only store integers up to 2^53, and that is ultimately why Bitcoin only has 2^50.9 units.
However it is possible to use extended precision floats to exploit the full range of the 64bit integer. This gives the coin supply a much higher level of granularity and is based on a natural upper limit. A coin supply with 64 bits of granularity is made up of approximately 184.4 billions coins, each of which are divisible by 8 decimal places. We have used extended precision floats in Cryptonite so that we're no longer held back by the limits of the double precision float, enabling an extremely large coin supply.
Smart Coin Distribution
There are many ways coin distribution can be done, since Cryptonite has such a huge coin supply it has an extremely long mining period. It will take 100 years before even half of the coin supply has been mined, with a repeating half life of 100 years. It mimics the same type of coin scarcity we would get simply by lowering the total coin supply but at the same time it ensures a very fair distribution of coins over a very long period of time.
The block reward is adjusted every block so that it changes gradually over time. Sudden large changes in the block reward are not healthy for the network, and it's not clear why Bitcoin was designed to have such long intervals of time between changes in the block reward. By adjusting the the block reward every block the network has time to adapt to changes gradually instead of suddenly. Cryptonite also updates the difficulty every block for similar reasons.