<oembed><type>rich</type><version>1.0</version><author_name>npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd</author_name><author_url>https://nostr.ae/npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-01-27&#xA;📝 Original message:Thanks Andreas, that&#39;s really interesting work. Comments below.&#xA;&#xA;On Mon, Jan 27, 2014 at 12:59 PM, Andreas Schildbach&#xA;&lt;andreas at schildbach.de&gt;wrote:&#xA;&#xA;&gt; Because I could not find any standard for Bluetooth URLs, I made&#xA;&gt; up my own: &#34;bt:112233445566&#34; means MAC address 11:22:33:44:55:66.&#xA;&#xA;&#xA;I would like to see Bluetooth continue to work for scan-to-pay even in the&#xA;signed case. So for this reason the current approach with a BTMAC parameter&#xA;in the Bitcoin URI seems to work universally across NFC tags and QR codes,&#xA;and would allow download of a signed PaymentRequest even in the case where&#xA;a QR code is used.&#xA;&#xA;Because a Bitcoin URI already contains a public key (hash), re-using that&#xA;to establish an encrypted/authd connection on top of an insecure RFCOMM&#xA;socket would seem to be relatively straightforward.&#xA;&#xA;&#xA;&gt; Obviously such QR-encoded payment requests cannot grow in size as much&#xA;&gt; as using other media. In particular, I expect PKI signed requests are&#xA;&gt; out of question. However, in face to face payments the value of a sig&#xA;&gt; based on PKI is highly questionable, and the fact the sig cannot be&#xA;&gt; verified without TCP connectivity doesn&#39;t help.&#xA;&gt;&#xA;&#xA;Just a correction here - the reason signed payment requests are &#34;large&#34;&#xA;(about 4000 bytes) is exactly because they *can* be verified offline, i.e.&#xA;by a Trezor. The signed payment request contains all the data needed to&#xA;establish its authenticity, including certificates and the signature&#xA;itself. No TCP connection is needed.&#xA;&#xA;For face to face payments, I think signing is still useful. For one, we&#xA;want to keep the distinction between &#34;merchant&#34; and &#34;user&#34; as blurry and&#xA;indistinct as possible. A strong separation between merchants and consumers&#xA;is one of the many bad things about the credit card system. Whilst&#xA;initially we&#39;d expect the payment protocol to be used by online webshops,&#xA;in future it could be used by little corner shops, children&#39;s lemonade&#xA;stands and so on. You don&#39;t want to exclude entire classes of transactions&#xA;from being secure with Trezor type devices, and besides, even without a&#xA;Trezor you probably still would like a receipt if you buy something from a&#xA;local market trader.&#xA;&#xA;Another use case - we heard a story about a restaurant owner who accepted&#xA;Bitcoin. He printed a static bitcoin URI onto a QR code on the menu. A&#xA;month or two later he discovered one of his waiters had re-printed the&#xA;menus with his own QR code! The people thought they had been paying for the&#xA;meal, and in fact it went right into the pocket of the waiter.&#xA;&#xA;As to how it works, well, that&#39;s not hard. Comodo give away free email&#xA;address certs with a few mouse clicks, it&#39;s no harder than signing up for a&#xA;website. Then you can just open that cert file on your phone to install it&#xA;and it should become usable automatically with a future version of&#xA;bitcoinj. Email address doesn&#39;t prove a whole lot, of course, but it&#39;s&#xA;better than nothing. If the restaurant owner had even just a hotmail&#xA;address, he could have stuck it up behind the bar or painted it on the&#xA;outside of his shop and some customer would have got suspicious when he&#xA;didn&#39;t see the address (assuming we&#39;re successful at deploying it of&#xA;course).&#xA;&#xA;&#xA;&gt; - I chose to re-use the &#34;bitcoin:&#34; URL scheme&#xA;&gt;&#xA;&#xA;Other wallets won&#39;t know what to do with it and would yield a strange error&#xA;message.&#xA;&#xA;&#xA;&gt; Finally this is the usecase the payment protocol was invented for and&#xA;&gt; it&#39;s not face-to-face. I don&#39;t have much to add, just one thing. As a&#xA;&gt; byproduct of the above, &#34;payment protocol URLs&#34; can be used for links&#xA;&gt; published on web pages as well. This might provide a nice replacement&#xA;&gt; for the imho rather ugly BIP72 specification once the payment protocol&#xA;&gt; is widely deployed.&#xA;&#xA;&#xA;URL length is limited on some versions of internet explorer (probably on&#xA;all browsers). Rather than pack a file into a URL, if you don&#39;t want to use&#xA;the current r= extension it&#39;s better for apps to just register to handle&#xA;.bitcoinpaymentrequest files / the right MIME type. Downloading it and&#xA;opening it would do the right thing automatically.&#xA;&#xA;Remember BIP 73 also! It says that with the apps built-in QR scanner, if&#xA;you scan an HTTP[S] URI, you should try downloading it with a magic header.&#xA;That way you can get a payment request file out of the server. Without the&#xA;magic header (i.e.  a normal generic barcode scanner app) it would open a&#xA;web page containing a bitcoin URI clickable link.&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140127/55485834/attachment.html&gt;</html></oembed>