Post
Topic
Board Bitcoin Discussion
Re: WARNING! Bitcoin will soon block small transaction outputs
by
gmaxwell
on 10/05/2013, 04:48:24 UTC
The UXTO is the critical resources.  In order to validate tx quickly the UXTO needs to be in memory.  So what happens when the UXTO is 32GB? 64GB? 200GB?  Now if those are "valid" outputs likely to be used in future tx well that is just the cost of being a full node.  But when 50%, 70%, 95%+ of the outputs are just unspendable garbage it greatly increases the processing requirements of full nodes without any benefit, to anyone.
It doesn't need to be in _ram_ in needs to be in fast reliable storage— online storage not nearline or offline, not on a tape jukebox in the basement or on on far away storage across a WAN—, and the validation time depends on how fast it is. If you put it on storage with a 10ms random access time and your block has 2000 transactions with 10 inputs each, you're looking at 200 seconds just to fetch the inputs which is just going to utterly really bad network convergence and cause a ton of hashrate loss due to forks and make people need more confirmations for security.  But in practice it's not quite that bad since _hopefully_ a lot of spent outputs were recently created.

The 'memory' stuff is mostly a tangent, the issue is that the utxo data can't be pruned. All full validators must have access to it— bloat in this dataset pressures people to run SPV nodes instead of full validators... which risks a loss of decenteralization, loss of motivations by miners to behave honestly, etc.