Block weight penalty for UTXO set growth

Block weight penalty for UTXO set growth
From: yanmaani @ 2021-04-20  1:22 UTC (permalink / raw)
  To: Bitcoin Protocol Discussion

Bitcoin presently suffers from unconstrained UTXO set growth. It would 
be possible to disincentivize this and incentivize consolidating UTXOs 
by adding a block weight penalty for UTXO creation, and bonus for UTXO 
destruction:

* For each block, calculate the net change in UTXOs. If all the 
transactions in a block consume 6,256 inputs and create 6,512 outputs, 
the net change is +256.
* For each block, change the weight limit by -penalty * delta
* For example, if the penalty is 10 vB/UTXO, that block would be 10*256 
= 2560 vB smaller. At a fee of 150 sat/vB, this would reduce the 
potential transaction fees by 0.00384000 BTC ($230 at current prices)

(Alternatively, it would also be possible to make the penalty in coin, 
which would require miners to fail to claim/burn an equivalent amount of 
subsidy.)

A problem is that it is not possible to increase the weight limit (or 
the block reward). I can see three possible solutions to this:

1) Let any excess be wasted. Miners can only use consolidated UTXOs to 
offset new ones.
2) Decrease the weight limit slightly (i.e. by 1%), so that miners have 
an incentive to consolidate UTXOs at least up to that limit.
3) Increase the weight limit, but only if miners consolidate enough 
UTXOs.

Aside from the obvious issues with the third option (it would be a 
hardfork), another problem is that this would make it harder for low-fee 
transactions to get confirmed; on blocks with bad fees, miners might 
instead opt to create a load of dust UTXOs, so they can destroy them on 
blocks with very high fees to free up capacity. On the other hand, this 
might be seen as a feature rather than a bug, since it would allow block 
sizes to vary by demand, a bit like VBR vs. CBR in audio compression.

Thoughts? Has this been discussed before?


 permalink raw reply	[|nested]
From: Prayank @ 2021-04-21  4:59 UTC (permalink / raw)
  To: yanmaani;  Bitcoin Dev

[-- Attachment #1: Type: text/plain, Size: 700 bytes --]

Hello Yanmaani,

Incentives for UTXO consolidation already exists IMO.

1.If UTXO consolidation is done when fee rates are low (less congestion in mempool), it helps in saving money in lot of cases. Example: https://bitcoin.stackexchange.com/a/100811/
2.If running full node for Bitcoin, it will help in a smaller UTXO set.

In few cases it affects privacy though like post coinjoin.

TBH I couldn't understand everything you mentioned including the part in which fees decrease is mentioned because of smaller block. Fees should increase if such blocks are regularly mined and are predictable IMO. Not sure if everyone will agree to the other things mentioned in the proposal.
-- 
Prayank

[-- Attachment #2: Type: text/html, Size: 1052 bytes --]

 permalink raw reply	[|nested]