[Bitcoin-development] Framework for modular input selection policy for Bitcoin wallets

Justus Ranvier justusranvier at gmail.com
Tue Feb 11 06:05:25 UTC 2014


One of the areas that isn't as well developed as it could be in terms of
wallet design is fine-grained control over input selection policy.

Coin control is great when a human is manually crafting transactions,
but that's not really a very scalable solution.

The attached image is a possible way to stack different independent
selection algorithms. If wallets implemented something like this, it
would be easy for other programs to implement new application-specific
algorithms that would not need to completely reinvent the wheel.

As an example, voting pools in Open-Transactions will implement cold
storage in a FIFO manner, meaning that UTXOs will be clustered into
groups which should be consumed in a specific sequence. Within that
constraint, however, they still want to minimize transaction size.

If wallets were designed to make selection policy modular, they'd only
need to implement their FIFO algorithm and stack it in before the
default algorithm. Surely this capability would be useful to other
projects as well.

It would also allow people who want to prioritize privacy over
transaction cost to easily modify the behavior of their clients and
would make it easier to incorporate new tx construction algorithms like
CoinJoin.

Link to the image in case attachment is stripped:
http://i.imgur.com/Fkkq7pI.png
-- 
Support online privacy by using email encryption whenever possible.
Learn how here: http://www.youtube.com/watch?v=bakOKJFtB-k

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0x1B438BF4.asc
Type: application/pgp-keys
Size: 21174 bytes
Desc: not available
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140211/c6ac92c8/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 538 bytes
Desc: OpenPGP digital signature
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140211/c6ac92c8/attachment.sig>


More information about the bitcoin-dev mailing list