Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 42CB4486 for ; Tue, 21 Jun 2016 21:17:17 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-pa0-f51.google.com (mail-pa0-f51.google.com [209.85.220.51]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 3CE3C131 for ; Tue, 21 Jun 2016 21:17:16 +0000 (UTC) Received: by mail-pa0-f51.google.com with SMTP id hl6so9699548pac.2 for ; Tue, 21 Jun 2016 14:17:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netki.com; s=google; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=525VUzGW0D40KmrEfqS82ojVE/eoqs/Awhx+NSKjJmU=; b=rPyk0hXxAG5BoraOganaGYpi4otRoqFdMM388wAuf8J1cDounEDHqHXebfY8V+NP6V JutcBizB3pq/vA7YmsfurGpElkOr5FLgiTRNQYq+tVpYA++gcKtEFKmdi4DupAqRnaHH IhD8JkX4DTdZC8WOYskEU45kpzoDHQk1H8pP4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=525VUzGW0D40KmrEfqS82ojVE/eoqs/Awhx+NSKjJmU=; b=YoIsulh/6aJlZR1+jJXR3wbBaDnlXAtjP41X3Kb6ltGh8vzUdTQZKZGxlFv5sxG0dd eRCZiAtEPrjDJK3AO5J0heudgp+zUOrEgeiV87hoism0zWP7Mdvbxq62b3y4p3mqeVyE h4o0d6sLpwsscCRuMVknmUdk24gnCnV0oqhM7kFUI7EiY+emAlXAm/NRmolPUdb9ClZh Ccvo8DB36bgHfnvyRv/fi/u4QkLpjClLB7NeOKhGVXIrbn3Y/iNy4trcChzdK6FXstM7 LjFOOaHTkbTo9VtNkSjgBelso3U2YIeqPv8oaR0wrT3+ooa42KWP3ai3z0agPZujk5sD Nr2Q== X-Gm-Message-State: ALyK8tLCQWXhc8BOTpJn3EFFqttrXl7QaNYEeOqPas8zNIo3NaeydjtWSZFtDg3zd8kkoSF1 X-Received: by 10.66.216.8 with SMTP id om8mr29999663pac.9.1466543835749; Tue, 21 Jun 2016 14:17:15 -0700 (PDT) Received: from [10.0.1.202] (cpe-104-172-191-85.socal.res.rr.com. [104.172.191.85]) by smtp.gmail.com with ESMTPSA id k22sm57584198pfj.16.2016.06.21.14.17.13 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 21 Jun 2016 14:17:14 -0700 (PDT) Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_05FD1967-3DE4-4EFF-B628-195F068A9C7F"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Pgp-Agent: GPGMail 2.6b2 From: Matt David In-Reply-To: Date: Tue, 21 Jun 2016 14:17:12 -0700 Message-Id: <66AA3F7D-05BF-4435-A3B3-4DF136B212DF@netki.com> References: To: James MacWhyte , Bitcoin Protocol Discussion X-Mailer: Apple Mail (2.3124) X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HTML_MESSAGE,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Tue, 21 Jun 2016 21:20:56 +0000 Subject: Re: [bitcoin-dev] Even more proposed BIP extensions to BIP 0070 X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jun 2016 21:17:17 -0000 --Apple-Mail=_05FD1967-3DE4-4EFF-B628-195F068A9C7F Content-Type: multipart/alternative; boundary="Apple-Mail=_B1748240-AE02-4171-BEAF-348185137C8F" --Apple-Mail=_B1748240-AE02-4171-BEAF-348185137C8F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Hey all, Interestingly enough, the original BIP75 idea started by trying to move = the Payment Protocol to use JSON, but because of all of the reasons = mentioned by Andreas, we ended up with protobuf. There is quite a bit of = language support on both desktop and mobile platforms so that's become = mostly a non-issue. Regarding the lack of optional client-supplied identification, BIP75 was = designed to solve this issue. It allows both parties in a transaction to = share identity information in an out-of-band fashion in order to keep = specific identity information off-chain. With regards to extensibility of PKI usage, both BIP70 and BIP75 provide = plenty of flexibility. Both the InvoiceRequest and PaymentRequest = contain the pki_type and pki_data fields to allow for the use of non = X.509 certificates. Currently, the only pki_types specified in both BIPs = are none or x509_sha256, but there isn't any specific limit on what can = be used as long as you can define a PKI type to be used, include a = public key and a signature that proves control of the keypair. Perhaps a = new BIP allowing for additional PKI types can be submitted, similar to = how RFCs extend usage of ciphers for TLS (ie., RFC 5932). Regarding subscriptions, and as proposed in the address book example use = case in BIP75, a wallet can be setup to automatically create BIP75 = transactions in order to retrieve a wallet address to pay for a = subscription on whatever frequency you would like to use. The service = provider can approve the first BIP75 transaction and then store the = public key for that client for future use. For subsequent subscription = payments, the service provider may automatically return wallet addresses = for each BIP75 transaction, understanding that the subsequent BIP75 = transactions are linked to the public key that was used for the first = transaction and therefore the subscription has been paid for. = Additionally, the BIP75 InvoiceRequest message contains a memo field = that can be used to include any additional subscription information = required by the subscription provider (and can be different for both = first and subsequent BIP75 transactions). This is a very interesting idea and I'd love to see how the community = can work together to make Bitcoin more user and mainstream friendly = while increasing security for all parties involved. All movement toward = this is really the goal at Netki. Best, Matt David Sr. Software Engineer Netki, Inc. matt@netki.com > On Jun 21, 2016, at 1:56 PM, James MacWhyte via bitcoin-dev = wrote: >=20 > Thanks for starting this discussion, Erik. >=20 >=20 > Should this be a new BIP? I know netki's BIP75 is out there - but I = think it's too specific and too reliant on the domain name system. >=20 > This is not quite accurate. BIP75 is designed to be independent of any = name resolution system. You could use it with a static URL that you = share, for example, or even use it to implement a mesh-network payment = system over bluetooth. Netki's wallet names do use DNS, but that isn't = related to this discussion. >=20 > What BIP75 *does* do is provide a way for a client to get a new = payment address for every payment. I personally think it is better than = BIP47 for the uses you mentioned (subscriptions, etc). >=20 > I'm glad you brought up identity methods other than x509. At = breadwallet we are thinking about how to establish the most universal = system, and letting users identify themselves with any of a selection of = identity systems is ideal. I think the pki_data slot should be = constantly expanded to allow new identity types, but they should be = explained/standardized in the BIPs that add them and use universal = names. "netki://" wouldn't be appropriate, for example, if their method = is open sourced and possibly used by others--it should instead be given = a product name like "dnswallet://" or something more clever. >=20 > James >=20 >=20 > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev --Apple-Mail=_B1748240-AE02-4171-BEAF-348185137C8F Content-Type: multipart/related; type="text/html"; boundary="Apple-Mail=_D69942BC-2F7B-4F20-B573-7433CF2651DA" --Apple-Mail=_D69942BC-2F7B-4F20-B573-7433CF2651DA Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii
Hey= all,

Interestingly enough, the original = BIP75 idea started by trying to move the Payment Protocol to use JSON, = but because of all of the reasons mentioned by Andreas, we ended up with = protobuf. There is quite a bit of language support on both desktop and = mobile platforms so that's become mostly a non-issue.

Regarding the lack of optional client-supplied = identification, BIP75 was designed to solve this issue. It allows both = parties in a transaction to share identity information in an out-of-band = fashion in order to keep specific identity information = off-chain.

With regards to extensibility of = PKI usage, both BIP70 and BIP75 provide plenty of flexibility. Both the = InvoiceRequest and PaymentRequest contain the pki_type and pki_data = fields to allow for the use of non X.509 certificates. Currently, the = only pki_types specified in both BIPs are none or x509_sha256, but there = isn't any specific limit on what can be used as long as you can define a = PKI type to be used, include a public key and a signature that proves = control of the keypair. Perhaps a new BIP allowing for additional PKI = types can be submitted, similar to how RFCs extend usage of ciphers for = TLS (ie., RFC 5932).

Regarding = subscriptions, and as proposed in the address book example use case in = BIP75, a wallet can be setup to automatically create BIP75 transactions = in order to retrieve a wallet address to pay for a subscription on = whatever frequency you would like to use. The service provider can = approve the first BIP75 transaction and then store the public key for = that client for future use. For subsequent subscription payments, the = service provider may automatically return wallet addresses for each = BIP75 transaction, understanding that the subsequent BIP75 transactions = are linked to the public key that was used for the first transaction and = therefore the subscription has been paid for. Additionally, the BIP75 = InvoiceRequest message contains a memo field that can be used to include = any additional subscription information required by the subscription = provider (and can be different for both first and subsequent BIP75 = transactions).

This is a very interesting idea = and I'd love to see how the community can work together to make Bitcoin = more user and mainstream friendly while increasing security for all = parties involved. All movement toward this is really the goal at = Netki.

Best,

Matt David
Sr. Software = Engineer
Netki, Inc.



On Jun 21, 2016, at 1:56 PM, James MacWhyte via bitcoin-dev = <bitcoin-dev@lists.linuxfoundation.org> wrote:

Thanks for starting this discussion, Erik.


Should this be a new BIP?  I know = netki's BIP75 is out there - but I think it's too specific and too = reliant on the domain name system.
 
This is not quite accurate. BIP75 is = designed to be independent of any name resolution system. You could use = it with a static URL that you share, for example, or even use it to = implement a mesh-network payment system over bluetooth. Netki's wallet = names do use DNS, but that isn't related to this = discussion.

What = BIP75 *does* do is provide a way for a client to get a new payment = address for every payment. I personally think it is better than BIP47 = for the uses you mentioned (subscriptions, etc).

I'm glad = you brought up identity methods other than x509. At breadwallet we are = thinking about how to establish the most universal system, and letting = users identify themselves with any of a selection of identity systems is = ideal. I think the pki_data slot should be constantly expanded to allow = new identity types, but they should be explained/standardized in the = BIPs that add them and use universal names. "netki://" wouldn't be appropriate, = for example, if their method is open sourced and possibly used by = others--it should instead be given a product name like "dnswallet://" or = something more clever.

James


_______________________________________________
bitcoin-dev = mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev<= br class=3D"">

= --Apple-Mail=_D69942BC-2F7B-4F20-B573-7433CF2651DA Content-Transfer-Encoding: base64 Content-Disposition: inline; filename=PastedGraphic-2.tiff Content-Type: image/tiff; name="PastedGraphic-2.tiff" Content-Id: <04619845-580A-4EF6-A4F9-9789F60E12C7@gid.net> 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 b21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVD NjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA4 9QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklF QyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklF QyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAA AAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5 NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2 LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQT CwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAA AAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDG AMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4B dQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJd AmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oD lgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUN BRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG 4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7 CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kL gAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0R jBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUS FTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZ IBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1w HZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7Iici VSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6 J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwt QS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNG M38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5 +To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDn QSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtI kUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1Bx ULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZ GllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1 YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09r p2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWF deF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WA R4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+X Cpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMG o3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uw ALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70V vY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfL Nsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls 2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLo vOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ +Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23//w== --Apple-Mail=_D69942BC-2F7B-4F20-B573-7433CF2651DA-- --Apple-Mail=_B1748240-AE02-4171-BEAF-348185137C8F-- --Apple-Mail=_05FD1967-3DE4-4EFF-B628-195F068A9C7F Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- iQIcBAEBCAAGBQJXaa7ZAAoJEEEGCVtcqC4e0VwP/RgsAI4ivYzSIoVw6t6mso+N 0DtQJBkAiDD6t7Wtpjijc2+JJ0wA8+uUW4Z62awdI1Q1ll+XoqM2tdqQjBR2ex8J TyULfd21mjYZUlT3oJPMEt+LEHeEH77nLRHworYbvjswS/jm7VrSW6n2Q+r8YY/C Bwz8DW2JJdsWOuKsg+Vma/krNPGK207jmH1nb4kkYzLRR+OiEH7uuTt2Ou2hmJB9 8PKtv8cu5+GW1WgZ/RXu6/QTVL95r8ibnV+oDB6CATa5/iEYmkynsHXD+OS2WuN4 Uzp1T9rptJF4WB3C68Q4S5twdgo8wmLxAsDbItxEvrp5fhsZMTLO/8GEVqfK06Qz BHqqU4g2ufa0oGzbzAi7+r74F5iAmnYFCTnU8jMWn9CvBGWrUWDx4GK7D25Su29G voIrMj2A+MpA8fL8fRBB5aDIfwWTNYMTGQF5EKhcjBqs5GCp9sSpDQiTGuOJ4gSG 9R4lT8RrsWezufgiVwyDS8F2gAVdswLWSXkd8Lurrt2XWKDfD1UGiRwg2FhIYtet ScbEGB73V9CqWBZtTjsLDIFMZe4oL/dBkylXZC0QAilOhAZUpm2NnoU4cpUi0Ym+ +16HLIYvJHZSmpDK2mdqGlg4EaLaSDp9HNE9/XsXO4+ZeAToG1ZHjmcPfBjJm601 AcxjQRmCU4mS3r/GG/FJ =dryO -----END PGP SIGNATURE----- --Apple-Mail=_05FD1967-3DE4-4EFF-B628-195F068A9C7F--