Bitcoin Forum

Bitcoin => Wallet software => Topic started by: mav on January 30, 2015, 06:44:31 AM



Title: Requesting address
Post by: mav on January 30, 2015, 06:44:31 AM
Currently BIP0021 - URI Scheme (https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki) allows a merchant to request payment from a customer.

However, I'm looking for the opposite - a merchant to request an address from a customer, eg an exchange requesting a withdrawal address. As far as I understand, the only way for the customer to supply a withdrawal address is to copy and paste into a form supplied by the merchant.

I'm interested in the customer being able to click a button and being asked by their wallet to confirm 'do you want to receive X bitcoins into this wallet' and when they press 'yes' an address from that wallet is automatically supplied to the vendor (eliminating the need for the customer to copy/paste their address).

- Is there an existing scheme to request bitcoin addresses from wallets?

- If not, are there any existing documents exploring how such a scheme may work?


Title: Re: Requesting address
Post by: dabura667 on January 31, 2015, 02:14:06 AM
Currently BIP0021 - URI Scheme (https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki) allows a merchant to request payment from a customer.

However, I'm looking for the opposite - a merchant to request an address from a customer, eg an exchange requesting a withdrawal address. As far as I understand, the only way for the customer to supply a withdrawal address is to copy and paste into a form supplied by the merchant.

I'm interested in the customer being able to click a button and being asked by their wallet to confirm 'do you want to receive X bitcoins into this wallet' and when they press 'yes' an address from that wallet is automatically supplied to the vendor (eliminating the need for the customer to copy/paste their address).

- Is there an existing scheme to request bitcoin addresses from wallets?

- If not, are there any existing documents exploring how such a scheme may work?

BIP70 supports the wallet returning a "refund address" along with the signed transaction to the vendor.

I would assume it would be possible for the flow to work like this:

1. User clicks BIP70 enabled link.
2. Site sends signed request to a null output. "00" or something arbitrary.
3. This value should indicate that the wallet client just return an empty reply (no transaction) with just a return address.

It's primitive, but rather than try to create a new BIP, using existing BIPs that can provide the functionality would be easier.


Title: Re: Requesting address
Post by: mav on January 31, 2015, 05:34:04 AM

BIP70 supports the wallet returning a "refund address" along with the signed transaction to the vendor.

I would assume it would be possible for the flow to work like this:

1. User clicks BIP70 enabled link.
2. Site sends signed request to a null output. "00" or something arbitrary.
3. This value should indicate that the wallet client just return an empty reply (no transaction) with just a return address.

It's primitive, but rather than try to create a new BIP, using existing BIPs that can provide the functionality would be easier.

I had considered 'hacking' BIP70 (https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki) as you describe to specify a return address. And it does conceptually fit with the abstract of BIP70: "a protocol for communication between a merchant and their customer".

The main barrier is wallets that implement BIP70 as currently specified will not work with this new scheme. Should BIP70 be revised/extended to include this new functionality the way BIP71-73 do?

edit: The extensibility section (https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki#extensibility) of BIP70 looks like it could be utilized for this purpose, but it really depends on whether wallet developers are willing to implement proposed changes.