Transaction Fee Pooling to Improve Security
- To prevent block creators from executing chain size attacks.
- To make transaction fees earned, and thus block reward, more predictable, constant and smooth.
- To add incentive for nodes to broadcast and share of user transactions.
Current Network Behavior:
- Transaction fees are awarded to the node creating/staking the block.
- The block creator essentially pays the fee to themselves, and thus may avoid transaction fees entirely.
- A block creator can potentially attack the network by creating nearly free spam transactions.
- This adds incentive for nodes to not broadcast the transactions it is aware of, in the hope of keeping the fee for blocks they stake.
Proposed Network Behavior:
- Transaction fees are awarded into a 'transaction fee pool'.
- When a block is created, the creator increases the pool balance by the amount of fees paid by transactions in that block.
- When a block is created, the creator awards themselves 1% of the new pool balance and simultaneously reduces that balance by 1%.
- An integer would be added to blocks in order to store the amount of CLAM currently in the fee pool.
- The change would be consensus enforced by requiring blocks properly attribute the pool to be valid.
- The change would become active when 95% of staked blocks report a version indicating support for the change.