Tobias Brox
Aug 8, 2017 · 2 min read

I’m not quite convinced, for the following reasons:

  • The assertion that the whole UTXO set needs to stay in memory may not be true. The very most of the UTXO set is dormant, the cost of looking up some few UTXO sets from disk for each block is relatively small.
  • The assertion that the 3->2 transactions will replace the 2->3 transaction needs backing. The very most bitcoin transactions contains one UTXO for every receipient and one change transaction. A simple transaction between one sender and one receiver almost always create 2 UTXOs — and no matter the discount, the price tag for including 3 UTXOs on the input side will always be higher than including 2 UTXOs.
  • Put one item on discount, and the reality is often that the non-discounted products are sold at an inflated price. I believe the price of using non-segwit-UTXOs will increase post-segwit (at least in the long term). This will cause lots of old “dust” to be basically unspendable — the transaction fees for adding it to a transaction will exceed the value of the “dust” — hence we’re stuck with lots of UTXOs that will never be moved. (though, as I argue above, they don’t need to stay in memory).

We’re still every now and then having periods with free capacity — and whenever I find myself sitting on lots of small UTXOs, I take the opportunity to consolidate all my UTXOs into one UTXO. Arguably, bad for privacy, but good to keep the UTXO bloat down — and I believe I gain on it personally, better to spend some 0.1 mBTC now to consolidate the dust and then pay 0.5 mBTC later when I suddenly need to move the funds at prime time … than to have to pay 10 mBTC later on moving the oversized transaction at prime time.