public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@bitpay.com>
To: Kaz Wesley <keziahw@gmail.com>
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] deterministic transaction expiration
Date: Tue, 5 Aug 2014 13:48:18 -0400	[thread overview]
Message-ID: <CAJHLa0O2wFq2Vs5Bes_8x1q_j0VC+U4DQkx=6GqT8w5e8Lh5Qg@mail.gmail.com> (raw)
In-Reply-To: <CA+iPb=HkxeVPF0SynxCPgUkq4msrdfayFrVNFjzg29rFwqXv1w@mail.gmail.com>

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

Glad this was brought up.

Transaction expiration is something that I have wanted to see happen in
bitcoin for a long, long time.  The user experience of unconfirming
transactions setting around in limbo is just horrible.  Bitcoin software by
necessity has gotten better about attaching fees so this sort of behavior
is uncommon, but that does not eliminate the problem.

Of course, we cannot presume that a transaction will truly disappear -- The
Internet Never Forgets -- but given a bit of mempool adjusting, we can
achieve the next best thing:  the majority of the network "forgets" the
transaction and becomes willing to relay a respend of some or all of the
inputs.  This uses existing client logic where the client must rebroadcast
a transaction until it is confirmed.

In general, if a transaction has not made it into a block within 144*X
blocks, there is _some_ reason it is getting rejected by the miners.

The mempool janitor is a garbage collector design.  This is inferior to the
"superblock" model described at
https://github.com/bitcoin/bitcoin/issues/3723   Other models can also
achieve similar results.

There are a lot of issues tied together here:  transaction expiration, the
desire to cap the mempool ram usage, scalability, DoS prevention, ...
mempool ties a lot together.

-- 
Jeff Garzik
Bitcoin core developer and open source evangelist
BitPay, Inc.      https://bitpay.com/

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

  parent reply	other threads:[~2014-08-05 17:48 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-01  0:58 [Bitcoin-development] deterministic transaction expiration Kaz Wesley
2014-08-01  1:06 ` Peter Todd
2014-08-01  1:37   ` Kaz Wesley
2014-08-01  1:38 ` Matt Whitlock
2014-08-01  2:28   ` Gregory Maxwell
2014-08-01  3:26     ` Matt Whitlock
2014-08-01  3:31       ` Gregory Maxwell
2014-08-05 18:01         ` Alex Mizrahi
2014-08-02  0:36 ` Tom Harding
2014-08-05 17:02   ` Flavien Charlon
2014-08-05 17:48 ` Jeff Garzik [this message]
2014-08-05 18:54   ` Mike Hearn
2014-08-05 19:08     ` Jeff Garzik
2014-08-05 19:10   ` Kaz Wesley
2014-08-05 19:36     ` Jeff Garzik
2014-08-06  4:01     ` Tom Harding
2014-08-06 12:55       ` Jeff Garzik
2014-08-06 13:54         ` Mike Hearn
2014-08-06 14:44           ` Tom Harding
2014-08-06 15:08             ` Jeff Garzik
2014-08-06 15:17               ` Christian Decker
2014-08-06 15:42                 ` Peter Todd
2014-08-06 16:15                   ` Jeff Garzik
2014-08-06 17:02                     ` Tom Harding
2014-08-06 17:21                       ` Mark Friedenbach
2014-08-06 17:34                         ` Peter Todd
2014-08-06 17:24                       ` Jeff Garzik
2014-08-06 16:31                   ` Mark Friedenbach
2014-08-06 17:20                     ` Peter Todd
2014-08-06 17:30                       ` Mark Friedenbach
2014-08-06 17:38                         ` Peter Todd
2014-08-08 17:38                 ` Tom Harding
2014-08-08 18:13                   ` Jeff Garzik
2014-08-08 18:42                     ` Kaz Wesley

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='CAJHLa0O2wFq2Vs5Bes_8x1q_j0VC+U4DQkx=6GqT8w5e8Lh5Qg@mail.gmail.com' \
    --to=jgarzik@bitpay.com \
    --cc=bitcoin-development@lists.sourceforge.net \
    --cc=keziahw@gmail.com \
    /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