3

Bitcoin core v23 has been handling input selection just fine until the feeRate (in kvb) was set to "0.0005". It began aggressively consolidating inputs costing me more in paying for transactions. I am using command line only. I cannot reduce the "feeRate" right now as network is congested and any lower amount will get transactions unconfirmed and stuck for sometime. I've searched for answers on Google but found only "consolidatefeerate" which is default set to "0.0001". ChatGPT recommended I increase to "0.001" to prevent the software from consolidating but it's still consolidating inputs.

Has anyone experienced this and how did they resolve it to use only needed utxos in input selection although feeRate is high ? I have no need of consolidating utxos as it is doing right now.

Thanks in advance

1 Answer 1

3

Unfortunately, the advice ChatGPT is giving is wrong (as usual).

Bitcoin Core uses multiple coin selection algorithms that each produce one input set candidate and then picks one input set from these according to the waste metric.

The consolidatefeerate setting refers to the feerate above which Bitcoin Core considers the feerate to be “high” and below which Bitcoin Core considers the feerate “low”. At high feerates, Bitcoin Core will prefer the lightest input set from the candidates the coin selection algorithms generate, while at low feerates Bitcoin Core will prefer the heaviest input set to aid in consolidating funds while fees are low. By default, the wallet uses consolidatory behavior up to 10 ṩ/vB.

It sounds like you may want to set consolidatefeerate=0.00001 (1/10th of the default).

Bitcoin Core’s coin selection does not always find a minimal input set, so it may use multiple inputs if that was the “lightest” input set that was generated by the multiple coin selection algorithms. This happens especially if your wallet contains a lot of UTXOs that are smaller than the amount you’re sending.

There are two improvements in the v24.0.1 release that could help with the situation:

  • #24494 randomizes and lowers the minimum change amount, so the weight of the input set that gets selected should generally be lower
  • #24584 made the coin selection run parallel separately for all different output types in the wallet. If you use different output types, it would cause more input set candidates to be generated, which should improve the outcome of the above described choice among them

I would recommend that you try upgrading to the v24.0.1 release, it may help a bit. Meanwhile, you could try use coin control to manually pick your UTXOs, or try building multiple transactions and inspecting whether they are acceptable to you, before submitting them to the network.

I have some thoughts on how that coin selection could be further improved, e.g. we should probably add another coin selection algorithm that generates a minimized input set at very high feerates (e.g. 50+ ṩ/vB). Unfortunately, nobody has gotten around to adding that change yet.
It would be helpful if you could submit an issue to the Bitcoin Core issue tracker that describes your experience.

3
  • I will set the consolidatefeerate=0.00001 and see how best it resolves the issue. Will revert shortly. Thank you for the time and answer.
    – Sky Tech
    Commented May 5, 2023 at 21:59
  • Thanks for the answer. It worked perfectly and the fees are much better. Read up your profile too. Great work towards the bitcoin's development. You're the best.
    – Sky Tech
    Commented May 6, 2023 at 14:21
  • 1
    Thanks, I’m glad to hear that it helped
    – Murch
    Commented May 6, 2023 at 14:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.