public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Ryan Grant <bitcoin-dev@rgrant•org>
To: James Hilliard <james.hilliard1@gmail•com>,
	 Bitcoin Protocol Discussion
	<bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] Decoupling BIP70 Payment Protocol from Wallets
Date: Tue, 2 Jan 2018 06:31:51 -0500	[thread overview]
Message-ID: <CAMnpzfrQ0OKoCGQ5yBiku54dKk6ppj8HO0ZmochzJb_rm2WtjQ@mail.gmail.com> (raw)
In-Reply-To: <CADvTj4q04dS0pv2rUD9qw30K6++5OjHPwgjpqJ=+MBqaZdropA@mail.gmail.com>

On Mon, Jan 1, 2018 at 1:50 PM, James Hilliard via bitcoin-dev
<bitcoin-dev@lists•linuxfoundation.org> wrote:
> I propose that we move the BIP70 protocol implementation into a
> browser extension that can communicate with wallets over a simple IPC
> mechanism [...]

As a reminder, there is a W3C Payments API, currently proceeding along
the W3C Recommendation track, which registers "payment handlers" in
the browser, and selects one to complete a transaction:

  https://w3c.github.io/payment-handler/

The purpose of the payments API is to automate all data entry and
handle choices related to common transactions on the Web.  Payment
requests will often ask for information that Bitcoin wallets have no
current need to provide, such as a shipping address.  If shipping
options or other personally identifying information (such as an email
address and a return payment address) are involved, then it is the
chosen payment type's *handler* that is tasked with negotiating with
the user how to reveal the supposedly necessary information.

  https://www.w3.org/TR/payment-request/#the-options-argument

Although it may seem early for wallet makers to consider integration
with a mere W3C Recommendation, it would not be early to choose the
right architecture to build code on, given that this is in the works
for the major browsers.  Development can proceed even in browsers that
have not implemented anything, through an HTML5 Javascript polyfill.
A demonstration which includes payment in bitcoins is already
available, although it leaves as an exercise for the reader exactly
how the txid would be made known to the handler (whether manually
input by paste buffer after copying from an external app, or returned
through IPC):

  https://web-payments.io/
  https://github.com/digitalbazaar/payment-handler-polyfill

From my brief inspection: not bad.  I don't see anything in this spec
that would preclude the workflow of a Bitcoin transaction, whether
on-chain (with the seller's backend marking off confirmations) or
using the Lightning Network.  It even allows the seller to offer a
discount on certain payment methods:

  https://www.w3.org/TR/payment-request/#dom-paymentdetailsmodifier


      reply	other threads:[~2018-01-02 11:32 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-01 18:50 James Hilliard
2018-01-02 11:31 ` Ryan Grant [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=CAMnpzfrQ0OKoCGQ5yBiku54dKk6ppj8HO0ZmochzJb_rm2WtjQ@mail.gmail.com \
    --to=bitcoin-dev@rgrant$(echo .)org \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    --cc=james.hilliard1@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