Account tree pruning

From Mini-blockchain Project
Jump to: navigation, search

The bulkiest part of the mini-blockchain scheme is actually the account tree. Given enough time the account tree may become filled with many low balance accounts and it would be advantageous if we could prune this type of “dust” from the tree once the accounts were old enough. There are several ways this can potentially be achieved but none of them are remotely simple or easy to implement. The best approach seems to be one where you collect “account maintenance” fees for maintaining an account in the account tree.

The fees would be collected when a withdrawal is made from an account, and included along with the transaction fees. The fee would be calculated based on the age of the sending account. In this way low balance accounts eventually reach a balance of 0 and get pruned from the tree. Even if no withdrawals are made from the account we could have a system for allowing the pruning of accounts which would have a non-positive balance had they been paying their account maintenance fees.

The benefit of this type of system is that it places a cost on storing data in the account tree, which is economically beneficial, and it helps keep the account tree compact. The other useful feature of this system is that we can feed the maintenance fees back into the “coinbase account” (pays out block rewards) and ensure that the block reward never reaches 0, without actually inflating the money supply, just by recycling coins back through the mining system, maintaining a finite money supply while not cutting off the minting process.

Note: Cryptonite does not implement account tree pruning.