From: Peter Todd <pete@petertodd.org>
To: Mike Hearn <mike@plan99.net>
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] BIP 70 refund field
Date: Mon, 31 Mar 2014 11:23:09 +0200 [thread overview]
Message-ID: <20140331092309.GA19482@tilt> (raw)
In-Reply-To: <CANEZrP0AwR3WgHfwYWcrC9Z_MHPDwymWXAQwp7D8XZ+o2FsK8g@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1710 bytes --]
On Fri, Mar 28, 2014 at 12:07:04PM +0100, Mike Hearn wrote:
> Though I am loathe to go back and redesign this part of BIP 70 so soon
> after we shipped v1, it seems to me like the refund feature may be hard to
> implement on phones if there's no time limit for when you can receive a
> refund. Otherwise a wallet has to be looking out for refunds for payments
> you may have made years ago. So perhaps we should add a new refund field
> that embeds a PaymentDetails structure instead of being just a list of
> outputs.
>
> We could try and solve this problem some other way purely internally, by
> doing a kind of wallet-specific swapping process in which things like Bloom
> filters are calculated without all keys in them being held in memory at
> once (perhaps caching filters for old parts of the key chain on disk), so
> you can have "infinite" wallets, but eventually the huge Bloom filters that
> would result would hurt efficiency in other ways. So key expiry seems
> pretty fundamental to scalability.
One of the main goals of steath addresses is actually scalability. In
particular in the refund address case you would use stealth addresses
with a per-order UUID so that refunds can be detected cheaply by just
scanning for payments to your (single) stealth address, then when those
payments are detected, check the UUID against a on-disk database. A
64-bit "UUID" is probably fine, although unfortunately with OP_RETURN
quite unexpectedly dropped to 40 bytes the standard needs to change;
might have to compromise on privacy and re-use a txin pubkey to make
things fit.
--
'peter'[:-1]@petertodd.org
0000000000000000f4f5ba334791a4102917e4d3f22f6ad7f2c4f15d97307fe2
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 665 bytes --]
prev parent reply other threads:[~2014-03-31 9:23 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-28 11:07 [Bitcoin-development] BIP 70 refund field Mike Hearn
2014-03-28 11:25 ` Andreas Schildbach
2014-03-28 11:31 ` Mike Hearn
2014-03-28 16:59 ` Andreas Schildbach
2014-03-28 18:19 ` Mike Hearn
2014-03-28 20:56 ` Andreas Schildbach
2014-03-29 9:27 ` Roy Badami
2014-03-29 13:29 ` Mike Hearn
2014-03-30 17:21 ` Andreas Schildbach
2014-03-28 11:38 ` Wladimir
2014-03-28 11:45 ` Tamas Blummer
2014-03-28 11:46 ` Mike Hearn
2014-03-28 11:54 ` Tamas Blummer
2014-03-28 12:27 ` Mike Hearn
2014-03-28 12:55 ` Tamas Blummer
2014-03-28 13:00 ` Mike Hearn
2014-03-28 13:09 ` Tamas Blummer
2014-03-28 11:30 ` Tamas Blummer
2014-03-28 13:18 ` Tamas Blummer
2014-03-28 14:01 ` Gavin Andresen
2014-03-28 14:06 ` Mike Hearn
2014-03-28 14:27 ` Tamas Blummer
2014-03-28 15:23 ` Mike Hearn
2014-03-28 15:26 ` Tamas Blummer
2014-03-28 16:34 ` Mike Hearn
2014-03-28 16:45 ` Tamas Blummer
2014-03-31 9:23 ` Peter Todd [this message]
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=20140331092309.GA19482@tilt \
--to=pete@petertodd.org \
--cc=bitcoin-development@lists.sourceforge.net \
--cc=mike@plan99.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