public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Jim Phillips <jim@ergophobia•org>
To: Pieter Wuille <pieter.wuille@gmail•com>
Cc: Andreas Schildbach <andreas@schildbach•de>,
	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 16:11:57 -0500	[thread overview]
Message-ID: <CANe1mWxeZ+hukoTCOehw7Zkty68-5ven=5zGbftotvJQ4bcd-A@mail.gmail.com> (raw)
In-Reply-To: <CAPg+sBgFAhVA=SBfPyz7dQAsGuyA_gBGexWao6FzUgGuRbqGrQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4274 bytes --]

Makes sense.. So with that said, I'd propose the following criteria for
selecting UTXOs:

1. Select the smallest possible set of addresses that can be linked in
order to come up with enough BTC to send to the payee.
2. Given multiple possible sets, select the one that has the largest number
of UTXOs.
3. Given multiple possible sets, choose the one that contains the largest
amount of total BTC.
4. Given multiple possible sets, select the one that destroys the most
bitcoin days.
5. If there's still multiple possible sets, just choose one at random.

Once the final set of addresses has been identified, use ALL UTXOs from
that set, sending appropriate outputs to the recipient(s), a new change
address, and a mining fee.

Miners should be cognisant of and reward the fact that the user is making
an effort to consolidate UTXOs. They can easily spot these transactions by
looking at whether all possible UTXOs from each input addresses have been
used. Since most miners use Bitcoin Core, and its defaults, this test can
be built into Bitcoin Core's logic for determining which transactions to
include when mining a block.

--
*James G. Phillips IV*
<https://plus.google.com/u/0/113107039501292625391/posts>
<http://www.linkedin.com/in/ergophobe>

*"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.*

On Sat, May 9, 2015 at 3:38 PM, Pieter Wuille <pieter.wuille@gmail•com>
wrote:

> Miners do not care about the age of a UTXO entry, apart for two
> exceptions. It is also economically irrelevant.
> * There is a free transaction policy, which sets a small portion of block
> space aside for transactions which do not pay sufficient fee. This is
> mostly an altruistic way of encouraging Bitcoin adoption. As a DoS
> prevention mechanism, there is a requirement that these free transactions
> are of sufficient priority (computed as BTC-days-destroyed per byte),
> essentially requiring these transactions to consume another scarce
> resource, even if not money.
> * Coinbase transaction outputs can, as a consensus rule, only be spent
> after 100 confirmations. This is to prevent random reorganisations from
> invalidating transactions that spend young coinbase transactions (which
> can't move to the new chain). In addition, wallets also select more
> confirmed outputs first to consume, for the same reason.
> On May 9, 2015 1:20 PM, "Raystonn" <raystonn@hotmail•com> wrote:
>
>> That policy is included in Bitcoin Core.  Miners use it because it is the
>> default.  The policy was likely intended to help real transactions get
>> through in the face of spam.  But it favors those with more bitcoin, as the
>> priority is determined by amount spent multiplied by age of UTXOs.  At the
>> very least the amount spent should be removed as a factor, or fees are
>> unlikely to ever be paid by those who can afford them.  We can reassess the
>> role age plays later.  One change at a time is better.
>>  On 9 May 2015 12:52 pm, Jim Phillips <jim@ergophobia•org> wrote:
>>
>> On Sat, May 9, 2015 at 2:43 PM, Raystonn <raystonn@hotmail•com> wrote:
>>
>> How about this as a happy medium default policy: Rather than select UTXOs
>> based solely on age and limiting the size of the transaction, we select as
>> many UTXOs as possible from as few addresses as possible, prioritizing
>> which addresses to use based on the number of UTXOs it contains (more being
>> preferable) and how old those UTXOs are (in order to reduce the fee)?
>>
>> If selecting older UTXOs gives higher priority for a lesser (or at least
>> not greater) fee, that is an incentive for a rational user to use the older
>> UTXOs.  Such policy needs to be defended or removed.  It doesn't support
>> privacy or a reduction in UTXOs.
>>
>> Before starting this thread, I had completely forgotten that age was even
>> a factor in determining which UTXOs to use. Frankly, I can't think of any
>> reason why miners care how old a particular UTXO is when determining what
>> fees to charge. I'm sure there is one, I just don't know what it is. I just
>> tossed it in there as homage to Andreas who pointed out to me that it was
>> still part of the selection criteria.
>>
>>

[-- Attachment #2: Type: text/html, Size: 6355 bytes --]

  reply	other threads:[~2015-05-09 21:12 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-09 20:20 Raystonn
2015-05-09 20:38 ` Pieter Wuille
2015-05-09 21:11   ` Jim Phillips [this message]
  -- strict thread matches above, loose matches on Subject: below --
2015-05-09 19:43 Raystonn
2015-05-09 19:52 ` Jim Phillips
2015-05-09 19:25 Raystonn
2015-05-09 19:33 ` Jim Phillips
2015-05-09 17:09 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
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

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='CANe1mWxeZ+hukoTCOehw7Zkty68-5ven=5zGbftotvJQ4bcd-A@mail.gmail.com' \
    --to=jim@ergophobia$(echo .)org \
    --cc=andreas@schildbach$(echo .)de \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    --cc=pieter.wuille@gmail$(echo .)com \
    /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