public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Justus Ranvier <justusranvier@gmail•com>
To: bitcoin-development@lists•sourceforge.net
Subject: [Bitcoin-development] Framework for modular input selection policy for Bitcoin wallets
Date: Tue, 11 Feb 2014 00:05:25 -0600	[thread overview]
Message-ID: <52F9BDA5.8040601@gmail.com> (raw)
In-Reply-To: <52F94B89.8020603@silicon>


[-- Attachment #1.1: Type: text/plain, Size: 1489 bytes --]

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


[-- Attachment #1.2: 0x1B438BF4.asc --]
[-- Type: application/pgp-keys, Size: 21504 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 538 bytes --]

           reply	other threads:[~2014-02-11  6:05 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <52F94B89.8020603@silicon>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52F9BDA5.8040601@gmail.com \
    --to=justusranvier@gmail$(echo .)com \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox