From: Pieter Wuille <pieter.wuille@gmail.com>
To: Andreas Schildbach <andreas@schildbach.de>
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] A suggestion for reducing the size of the UTXO database
Date: Sat, 9 May 2015 12:06:13 -0700 [thread overview]
Message-ID: <CAPg+sBiNLtDNqHML1n7UJC_hYtYCOjBuYNh-bZT8msVh9UKFUg@mail.gmail.com> (raw)
In-Reply-To: <millgi$3uv$1@ger.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 5168 bytes --]
It's a very complex trade-off, which is hard to optimize for all use cases.
Using more UTXOs requires larger transactions, and thus more fees in
general. In addition, it results in more linkage between coins/addresses
used, so lower privacy.
The only way you can guarantee an economical reason to keep the UTXO set
small is by actually having a consensus rule that punishes increasing its
size.
On May 9, 2015 12:02 PM, "Andreas Schildbach" <andreas@schildbach.de> wrote:
> Actually your assumption is wrong. Bitcoin Wallet (and I think most, if
> not all, other bitcoinj based wallets) picks UTXO by age, in order to
> maximize priority. So it keeps the number of UTXOs low, though not as
> low as if it would always pick *all* UTXOs.
>
>
> On 05/09/2015 07:09 PM, Jim Phillips wrote:
> > Forgive me if this idea has been suggested before, but I made this
> > suggestion on reddit and I got some feedback recommending I also bring
> > it to this list -- so here goes.
> >
> > I wonder if there isn't perhaps a simpler way of dealing with UTXO
> > growth. What if, rather than deal with the issue at the protocol level,
> > we deal with it at the source of the problem -- the wallets. Right now,
> > the typical wallet selects only the minimum number of unspent outputs
> > when building a transaction. The goal is to keep the transaction size to
> > a minimum so that the fee stays low. Consequently, lots of unspent
> > outputs just don't get used, and are left lying around until some point
> > in the future.
> >
> > What if we started designing wallets to consolidate unspent outputs?
> > When selecting unspent outputs for a transaction, rather than choosing
> > just the minimum number from a particular address, why not select them
> > ALL? Take all of the UTXOs from a particular address or wallet, send
> > however much needs to be spent to the payee, and send the rest back to
> > the same address or a change address as a single output? Through this
> > method, we should wind up shrinking the UTXO database over time rather
> > than growing it with each transaction. Obviously, as Bitcoin gains wider
> > adoption, the UTXO database will grow, simply because there are 7
> > billion people in the world, and eventually a good percentage of them
> > will have one or more wallets with spendable bitcoin. But this idea
> > could limit the growth at least.
> >
> > The vast majority of users are running one of a handful of different
> > wallet apps: Core, Electrum; Armory; Mycelium; Breadwallet; Coinbase;
> > Circle; Blockchain.info; and maybe a few others. The developers of all
> > these wallets have a vested interest in the continued usefulness of
> > Bitcoin, and so should not be opposed to changing their UTXO selection
> > algorithms to one that reduces the UTXO database instead of growing it.
> >
> > From the miners perspective, even though these types of transactions
> > would be larger, the fee could stay low. Miners actually benefit from
> > them in that it reduces the amount of storage they need to dedicate to
> > holding the UTXO. So miners are incentivized to mine these types of
> > transactions with a higher priority despite a low fee.
> >
> > Relays could also get in on the action and enforce this type of behavior
> > by refusing to relay or deprioritizing the relay of transactions that
> > don't use all of the available UTXOs from the addresses used as inputs.
> > Relays are not only the ones who benefit the most from a reduction of
> > the UTXO database, they're also in the best position to promote good
> > behavior.
> >
> > --
> > *James G. Phillips
> > IV* <https://plus.google.com/u/0/113107039501292625391/posts>
> > /"Don't bunt. Aim out of the ball park. Aim for the company of
> > immortals." -- David Ogilvy
> > /
> >
> > /This message was created with 100% recycled electrons. Please think
> > twice before printing./
> >
> >
> >
> ------------------------------------------------------------------------------
> > One dashboard for servers and applications across Physical-Virtual-Cloud
> > Widest out-of-the-box monitoring support with 50+ applications
> > Performance metrics, stats and reports that give you Actionable Insights
> > Deep dive visibility with transaction tracing using APM Insight.
> > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> >
> >
> >
> > _______________________________________________
> > Bitcoin-development mailing list
> > Bitcoin-development@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/bitcoin-development
> >
>
>
>
>
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
[-- Attachment #2: Type: text/html, Size: 6530 bytes --]
next prev parent reply other threads:[~2015-05-09 19:06 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-09 17:09 [Bitcoin-development] A suggestion for reducing the size of the UTXO database Jim Phillips
2015-05-09 18:45 ` Peter Todd
2015-05-09 19:02 ` Jim Phillips
2015-05-09 19:00 ` Andreas Schildbach
2015-05-09 19:05 ` Jim Phillips
2015-05-09 19:06 ` Pieter Wuille [this message]
2015-05-09 19:16 ` Jim Phillips
2015-05-09 19:43 ` Ross Nicoll
[not found] ` <3862E01F-FD0F-48F5-A6D9-F8E0FB0AB68F@newcastle.ac.uk>
[not found] ` <CANe1mWys1gAO1CgPEpD7rdtXF2KYfvXA6bc0q-rAzg9xOFc-5A@mail.gmail.com>
[not found] ` <8029969D-FD22-43F7-930D-CEC7A87CEAD5@newcastle.ac.uk>
2015-05-09 19:28 ` Jim Phillips
2015-05-10 2:11 ` Matt Whitlock
2015-05-10 12:11 ` Jim Phillips
2015-05-25 18:41 ` Mike Hearn
2015-05-25 20:03 ` Matt Whitlock
2015-05-25 20:29 ` Andreas Schildbach
2015-05-25 21:05 ` Peter Todd
2015-05-26 12:40 ` Andreas Schildbach
2015-05-25 21:14 ` Warren Togami Jr.
2015-05-25 21:12 ` Mike Hearn
2015-05-10 13:35 ` Bob McElrath
2015-05-10 14:33 ` Jeff Garzik
2015-05-10 14:42 ` Bob McElrath
2015-05-12 19:50 ` Danny Thorpe
2015-05-25 18:44 ` Mike Hearn
2015-05-25 21:26 ` Peter Todd
2015-05-25 22:03 ` Mike Hearn
2015-05-26 0:10 ` [Bitcoin-development] Cost savings by using replace-by-fee, 30-90% Peter Todd
2015-05-26 18:22 ` Danny Thorpe
2015-05-26 18:38 ` Allen Piscitello
2015-05-26 18:42 ` Aaron Voisine
2015-05-26 18:47 ` Adam Back
2015-05-26 20:18 ` Matt Whitlock
2015-05-26 20:30 ` joliver
2015-05-26 20:56 ` Mark Friedenbach
2015-05-26 21:29 ` s7r
2015-05-26 22:06 ` Adam Back
2015-05-27 1:25 ` Peter Todd
2015-05-27 19:28 ` s7r
2015-05-26 22:29 ` Jeff Garzik
2015-05-09 19:25 [Bitcoin-development] A suggestion for reducing the size of the UTXO database Raystonn
2015-05-09 19:33 ` Jim Phillips
2015-05-09 19:43 Raystonn
2015-05-09 19:52 ` Jim Phillips
2015-05-09 20:20 Raystonn
2015-05-09 20:38 ` Pieter Wuille
2015-05-09 21:11 ` Jim Phillips
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=CAPg+sBiNLtDNqHML1n7UJC_hYtYCOjBuYNh-bZT8msVh9UKFUg@mail.gmail.com \
--to=pieter.wuille@gmail.com \
--cc=andreas@schildbach.de \
--cc=bitcoin-development@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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