User:Gmaxwell/utxo spring cleaning

From Bitcoin Wiki
Jump to navigation Jump to search

A brief plan to improve the state of the UTXO

  • relay policy adjustments to make very tiny notification/data-storage payments unattractive
  • OP_RETURN exclusion from UTXO set (almost done)
  • Coin control (almost done)
  • free transaction policy biasing priority in favor of txn that reduce utxo set size (pull req)
  • wallet fragmentation visualization
  • Adjust coin selection to attempt to spend whole privacy groups, subject to transaction size limits and some change size targeting.
    • Requires making the address grouping stuff more computationally efficient.
  • Ability in the wallet to specify sending _all_ your funds (minus whatever fees are required). Right now wallets often get abandoned with tiny amounts of dust remaining after users have manually searched for a value small enough to make it through. (Electrum can do this)

Less likely things:

  • Functionality to aid people in automatically 'giving away' configurable very small payments, e.g. you set it so that if you receive a payment less than 0.00001 you'll author a OP_RETURN,0 output ANYONE_CAN_PAY|NONE transaction and broadcast it. Many of these can be merged to give away this dust to miners.
  • Change rounding to avoid change:
    • on sending a payment there should be an option to round the payment up by up to [configurable] if doing so will eliminate change. This is useful when sending funds to persistent bank-like "accounts" owned by the same user. E.g. I want to send 10 BTC to foo-exchange, but I'd be just as happy to send 10.009123184.
    • There should be an adjustable option to round down change to zero, converting it to fees. We already do this for >0.01 for free transactions to avoid mandatory fees, but it could be made more general and configurable.
  • Mining logic to merge up ANYONE_CAN_PAY|NONE transactions
  • UTXO cleaning contest: Get money from BTC foundation (and perhaps other interested parties), every UTXO destroyed which was created before some date (perhaps Aug 1st 2013) gets entered into a lottery. Big BTC payouts in the lottery to encourage people to dig up old and inactive wallets with dust.
    • perhaps only those submitted via ANYONE_CAN_PAY|NONE to some site, to avoid sending winnings to dead keys or disinterested users, perhaps don't require utxo submission but allow people to claim credit for their UTXO cleanup via some signmessage stuff.
    • perhaps with some weight to inverse-btc days destroyed or utxo-bytes days destroyed.