Blocking uneconomical UTXO creation



Summary:

The UTXO set is a LevelDB and not stored in memory. Unspendable outputs are not in the working set, and if they are unlikely to be spent, they can be moved into a separate database. If an output can be proven unspendable, it can be pruned immediately, and consensus has been reached on adding a standard template for OP_RETURN that results in insta-pruning. The issue lies with low-value spendable outputs as wallets with lots of small outputs generate large transactions that take longer to verify. Wallet apps have incentives to find a balance in output sizes and defragment themselves if their average output gets too low in value.


Updated on: 2023-06-06T10:33:11.136044+00:00