User:Gmaxwell/utxo spring cleaning: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
utxo-bytes days destroyed.
there is a pull on this now
Line 5: Line 5:
* OP_RETURN exclusion from UTXO set (almost done)
* OP_RETURN exclusion from UTXO set (almost done)
* Coin control (almost done)
* Coin control (almost done)
* free transaction policy biasing priority in favor of txn that reduce utxo set size
* free transaction policy biasing priority in favor of txn that reduce utxo set size ([pull req https://github.com/bitcoin/bitcoin/pull/2945])
* wallet fragmentation visualization tool
* wallet fragmentation visualization tool
* Adjust coin selection to attempt to spend whole privacy groups, subject to transaction size limits and some change size targeting.
* Adjust coin selection to attempt to spend whole privacy groups, subject to transaction size limits and some change size targeting.

Revision as of 10:07, 1 September 2013

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 https://github.com/bitcoin/bitcoin/pull/2945])
  • wallet fragmentation visualization tool
  • 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.
  • 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.