summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Reiner <etotheipi@gmail.com>2013-06-20 12:09:10 -0400
committerbitcoindev <bitcoindev@gnusha.org>2013-06-20 16:09:23 +0000
commit723fee909b313fb2e74eac4036b2123a4a98b820 (patch)
treecdae0869096b66a4cc46823b673256571d9dcc99
parent2abec48be85aff4c15869f3c9d3af7f9edcc80f4 (diff)
downloadpi-bitcoindev-723fee909b313fb2e74eac4036b2123a4a98b820.tar.gz
pi-bitcoindev-723fee909b313fb2e74eac4036b2123a4a98b820.zip
Re: [Bitcoin-development] Optional "wallet-linkable" address format - Payment Protocol
-rw-r--r--8f/a2a9344335c807079d8b3971221fea1b3043b5215
1 files changed, 215 insertions, 0 deletions
diff --git a/8f/a2a9344335c807079d8b3971221fea1b3043b5 b/8f/a2a9344335c807079d8b3971221fea1b3043b5
new file mode 100644
index 000000000..664840bf7
--- /dev/null
+++ b/8f/a2a9344335c807079d8b3971221fea1b3043b5
@@ -0,0 +1,215 @@
+Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193]
+ helo=mx.sourceforge.net)
+ by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
+ (envelope-from <etotheipi@gmail.com>) id 1UphQI-00008m-V1
+ for bitcoin-development@lists.sourceforge.net;
+ Thu, 20 Jun 2013 16:09:23 +0000
+Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com
+ designates 209.85.216.41 as permitted sender)
+ client-ip=209.85.216.41; envelope-from=etotheipi@gmail.com;
+ helo=mail-qa0-f41.google.com;
+Received: from mail-qa0-f41.google.com ([209.85.216.41])
+ by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
+ (Exim 4.76) id 1UphQD-0006a5-3N
+ for bitcoin-development@lists.sourceforge.net;
+ Thu, 20 Jun 2013 16:09:22 +0000
+Received: by mail-qa0-f41.google.com with SMTP id f14so1222932qak.14
+ for <bitcoin-development@lists.sourceforge.net>;
+ Thu, 20 Jun 2013 09:09:11 -0700 (PDT)
+X-Received: by 10.49.71.70 with SMTP id s6mr1124799qeu.66.1371744551577;
+ Thu, 20 Jun 2013 09:09:11 -0700 (PDT)
+Received: from [192.168.1.85] (c-76-111-96-126.hsd1.md.comcast.net.
+ [76.111.96.126])
+ by mx.google.com with ESMTPSA id j5sm1560691qan.7.2013.06.20.09.09.10
+ for <bitcoin-development@lists.sourceforge.net>
+ (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
+ Thu, 20 Jun 2013 09:09:10 -0700 (PDT)
+Message-ID: <51C32926.10904@gmail.com>
+Date: Thu, 20 Jun 2013 12:09:10 -0400
+From: Alan Reiner <etotheipi@gmail.com>
+User-Agent: Mozilla/5.0 (X11; Linux x86_64;
+ rv:17.0) Gecko/20130510 Thunderbird/17.0.6
+MIME-Version: 1.0
+To: bitcoin-development@lists.sourceforge.net
+References: <51BFD886.8000701@gmail.com> <20130619142510.GA17239@crunch>
+ <51C1C288.4000305@gmail.com>
+ <20130619152815.GA14729@netbook.cypherspace.org>
+ <20130620074830.GA21724@crunch>
+ <66577F722D29461D8651DF1D0684AAE1@LAPTOPAIR>
+In-Reply-To: <66577F722D29461D8651DF1D0684AAE1@LAPTOPAIR>
+X-Enigmail-Version: 1.5.1
+Content-Type: multipart/alternative;
+ boundary="------------060104010105000204080005"
+X-Spam-Score: -0.6 (/)
+X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
+ See http://spamassassin.org/tag/ for more details.
+ -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
+ sender-domain
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
+ (etotheipi[at]gmail.com)
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 1.0 HTML_MESSAGE BODY: HTML included in message
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily valid
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+X-Headers-End: 1UphQD-0006a5-3N
+Subject: Re: [Bitcoin-development] Optional "wallet-linkable" address format
+ - Payment Protocol
+X-BeenThere: bitcoin-development@lists.sourceforge.net
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <bitcoin-development.lists.sourceforge.net>
+List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
+ <mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
+List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
+List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
+List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
+List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
+ <mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
+X-List-Received-Date: Thu, 20 Jun 2013 16:09:23 -0000
+
+This is a multi-part message in MIME format.
+--------------060104010105000204080005
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 7bit
+
+
+On 06/20/2013 05:10 AM, Jeremy Spilman wrote:
+>> which could involve proving something to a third party that has not seen
+>> the communication between payer and payee.
+> OK - I think I follow now. So a third-party who does not see any of the
+> communication between the payer and payee only knows the HASH160. Let's say
+> the payee denies receipt of the funds....
+>
+> It's easy to prove what public key it was sent to (it's the preimage), but
+> you can't prove the parent of that public key. You can provide any number of
+> ParentPubKey * Multiplier that could have been used, so the 3rd party is
+> unconvinced by a "matching" ParentPubKey * Multiplier.
+>
+> However, if you calculated the destination using: PubKeyParent *
+> HMAC(Multiplier,PubKeyParent) as Timo said, now if you give the 3rd party a
+> PubKeyParent and Multiplier (or Addend) that produces the destination
+> address, you've proven the payment is in fact spendable by PubKeyParent, and
+> they can't deny receipt. Very cool.
+>
+> Sorry for "echoing" this back, it took me a little while to work it out, so
+> I thought I'd write it down. Hope I got it right...
+>
+> If you give {PubKey, ChainCode} you do get this feature. If you give
+> {ParentPubKey, Addend} or {ParentPubKey, Addend, ChainCode} you're back to
+> having plausible deniability.
+>
+> If BIP32's CKD'((Kpar, cpar), i) was actually HMAC(HMAC(cpar, i), Kpar) you
+> could give HMAC(cpar, i) instead of Addend, and then you would get this
+> feature; a way to 'skip down' a level in the wallet hierarchy, keep the
+> 'chain of custody' so to speak back to the ParentPubKey intact, without
+> having to disclose the ChainCode. Meh...
+>
+>
+
+I agree, if we used Timo's suggestion, that seems to clean up the
+remaining uncertainties with this recommendation. I'm not convinced
+those uncertainties matter in this situation, where there is no question
+about the parent public key. That is the part of the process that was
+already verified, per my previous examples. But certainly, for this to
+be more versatile it would need that.
+
+If I modify my request to match Timo's recommendation, then it loses the
+benefit of being a simple, non-disruptive extension of BIP 32. I'm not
+fond of deviating from BIP 32, as it kind of defeats one of the benefits
+of BIP 32: standardization. And I'm not inclined to make an
+Armory-specific wallet variant.
+
+But I can't tell if the benefits are lost on you, or you just don't
+think they are worth it (or I'm overstating them). I'm strongly opposed
+to bring extra wallets/chains into this equation /*just*/ to get a
+benefit that can be had with a simple alternative encoding. This isn't
+a question of which is better, it's a matter of recognizing that both
+forms have usefulness and should both be supported.
+
+-Alan
+
+--------------060104010105000204080005
+Content-Type: text/html; charset=ISO-8859-1
+Content-Transfer-Encoding: 7bit
+
+<html>
+ <head>
+ <meta content="text/html; charset=ISO-8859-1"
+ http-equiv="Content-Type">
+ </head>
+ <body text="#000000" bgcolor="#FFFFFF">
+ <br>
+ <div class="moz-cite-prefix">On 06/20/2013 05:10 AM, Jeremy Spilman
+ wrote:<br>
+ </div>
+ <blockquote cite="mid:66577F722D29461D8651DF1D0684AAE1@LAPTOPAIR"
+ type="cite">
+ <blockquote type="cite">
+ <pre wrap="">which could involve proving something to a third party that has not seen
+the communication between payer and payee.
+</pre>
+ </blockquote>
+ <pre wrap="">
+OK - I think I follow now. So a third-party who does not see any of the
+communication between the payer and payee only knows the HASH160. Let's say
+the payee denies receipt of the funds....
+
+It's easy to prove what public key it was sent to (it's the preimage), but
+you can't prove the parent of that public key. You can provide any number of
+ParentPubKey * Multiplier that could have been used, so the 3rd party is
+unconvinced by a "matching" ParentPubKey * Multiplier.
+
+However, if you calculated the destination using: PubKeyParent *
+HMAC(Multiplier,PubKeyParent) as Timo said, now if you give the 3rd party a
+PubKeyParent and Multiplier (or Addend) that produces the destination
+address, you've proven the payment is in fact spendable by PubKeyParent, and
+they can't deny receipt. Very cool.
+
+Sorry for "echoing" this back, it took me a little while to work it out, so
+I thought I'd write it down. Hope I got it right...
+
+If you give {PubKey, ChainCode} you do get this feature. If you give
+{ParentPubKey, Addend} or {ParentPubKey, Addend, ChainCode} you're back to
+having plausible deniability.
+
+If BIP32's CKD'((Kpar, cpar), i) was actually HMAC(HMAC(cpar, i), Kpar) you
+could give HMAC(cpar, i) instead of Addend, and then you would get this
+feature; a way to 'skip down' a level in the wallet hierarchy, keep the
+'chain of custody' so to speak back to the ParentPubKey intact, without
+having to disclose the ChainCode. Meh...
+
+
+</pre>
+ </blockquote>
+ <br>
+ I agree, if we used Timo's suggestion, that seems to clean up the
+ remaining uncertainties with this recommendation.&nbsp;&nbsp; I'm not
+ convinced those uncertainties matter in this situation, where there
+ is no question about the parent public key.&nbsp; That is the part of the
+ process that was already verified, per my previous examples.&nbsp; But
+ certainly, for this to be more versatile it would need that.&nbsp; <br>
+ <br>
+ If I modify my request to match Timo's recommendation, then it loses
+ the benefit of being a simple, non-disruptive extension of BIP 32.&nbsp;&nbsp;
+ I'm not fond of deviating from BIP 32, as it kind of defeats one of
+ the benefits of BIP 32:&nbsp; standardization.&nbsp;&nbsp; And I'm not inclined to
+ make an Armory-specific wallet variant.<br>
+ <br>
+ But I can't tell if the benefits are lost on you, or you just don't
+ think they are worth it (or I'm overstating them).&nbsp; I'm strongly
+ opposed to bring extra wallets/chains into this equation <i>*just*</i>
+ to get a benefit that can be had with a simple alternative
+ encoding.&nbsp; This isn't a question of which is better, it's a matter
+ of recognizing that both forms have usefulness and should both be
+ supported.&nbsp; <br>
+ <br>
+ -Alan<br>
+ </body>
+</html>
+
+--------------060104010105000204080005--
+
+