Coin Selection
Date: April 8, 2024
Tags: Bitcoin core, Coin selection
Category: Core dev tech
- Todo: Overview PR that states goal of replacing Knapsack
- Introduce Sand Compactor
- Demonstrate via Simulations that situation is improved vs Knapsack- Potential privacy leak: all algorithms would be deterministic, but feels insignificant or at least would not make it worse
 
- Should we clear out negative effective value UTXOs?- Users seem to indicate that they would prefer to empty wallets completely even if they pay more
- General agreement that we should continue to spend negative effective value UTXOs
- SRD and SandCompactor will allow spending them, maybe below discardfeerate, maybe below 5 s/vB, maybe even below 10 s/vB
 
- Fallback mechanisms if no other solution found- There is a gap between changeless solutions and minChange
- No don’t fall back to Lowest Larger
- CoinGrinder
- Pick whole wallet
 
- Should we fall back to CoinGrinder when fees are large compared to recipient amount?- No, it’s fine for wallets to be smarter than the user 😛
 
- What were the changeless Knapsack solutions that were found by Knapsack and not BnB?
- Idea: Remove changeless solutions from Knapsack
- Separate from Knapsack removal Idea: For large UTXO pools create a sample subset randomly and do coin selection on that
- Privacy improvement Idea: Slightly change fees on UTXOs randomly by a minor amount to change- Easier to implement: Just increases, because decreases can cause issues around minFeerate and changeless solution
 
- Unrelated idea: After we have privacy metric, cover APS as privacy score