<oembed><type>rich</type><version>1.0</version><author_name>npub1rjuxg0r8xsxh36myahl6qvzrz2l8ku88cf2ghxej3a2g5wsdlmjq880ac2</author_name><author_url>https://nostr.ae/npub1rjuxg0r8xsxh36myahl6qvzrz2l8ku88cf2ghxej3a2g5wsdlmjq880ac2</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-02-05&#xA;📝 Original message:Airbitz has developed and implemented a method for communicating a bitcoin&#xA;URI across Bluetooth (BLE) or any other P2P, mid range, wireless, broadcast&#xA;medium. The currently documented implementation is available in our iOS and&#xA;Android mobile wallet (updated Android version with BLE coming in about 1&#xA;week). We would like to have the BIP pulled into Github for review and&#xA;discussion. Here is the current BIP:&#xA;&#xA;&#xA;BIP: TBD&#xA;&#xA;Title: P2P Wireless URI transfer&#xA;&#xA;Authors: Thomas Baker &lt;tom’at’airbitz.co&gt;, Paul Puey &lt;paul’at’airbitz.co&gt;&#xA;&#xA;Contributors: Joey Krug &lt;joeykrug’at’gmail.com&gt;&#xA;&#xA;Status: proposal&#xA;&#xA;Type: Standards Track&#xA;&#xA;Created: 2015-01-12&#xA;&#xA;Table of Contents&#xA;&#xA;   -&#xA;&#xA;   Abstract&#xA;   -&#xA;&#xA;   Motivation&#xA;   -&#xA;&#xA;   Specification&#xA;   -&#xA;&#xA;   Compatibility&#xA;   -&#xA;&#xA;   Examples&#xA;   -&#xA;&#xA;   References&#xA;&#xA;Abstract&#xA;&#xA;This is a protocol for peer-to-peer wireless transfer of a URI request&#xA;using an open broadcast or advertisement channel such as Bluetooth,&#xA;Bluetooth Low Energy, or WiFi Direct.&#xA;Motivation&#xA;&#xA;There are disadvantages for a merchant (requester) and customer (sender) to&#xA;exchange a URI request using QR codes that can be eliminated by using&#xA;wireless broadcast or advertisements.&#xA;&#xA;Current QR code scan method to transfer a request URI from merchant&#xA;(Requester) to customer (Sender) is cumbersome. A usual scenario is a&#xA;merchant with a POS terminal for order entry and a separate tablet for&#xA;transacting payments with bitcoin, and a customer with a smartphone. After&#xA;the order is entered, the merchant enters payment request information into&#xA;the tablet, generates the QR code representing the URI, and presents this&#xA;to the customer. The customer prepares to scan the QR code with their&#xA;smartphone by maneuvering the camera to the tablet. The tablet screen must&#xA;be relatively clean, point at the customer, and held steady. The smartphone&#xA;camera lens must be clean, point at the tablet screen, come into range, and&#xA;held steady to focus and wait for a QR scan. Environmental conditions such&#xA;as bright outdoor sunlight, indoor spot lights, or significant distance&#xA;between QR code and camera can create difficult and cumbersome experiences&#xA;for users.&#xA;&#xA;Using a wireless local broadcast allows the merchant to just enter the&#xA;payment and wait. The tablet and smartphone are not maneuvered to align in&#xA;any way. The customer observes broadcast listings, selects the appropriate&#xA;one from possible simultaneous broadcasts from other POS stations nearby,&#xA;examines the URI request details such as amount, and decides whether to&#xA;send funds, initiating a bitcoin network transfer. The merchant and&#xA;customer then receive the transaction confirmations and are done with the&#xA;sale. Merchant and customer devices are kept private and secured in their&#xA;own possession.&#xA;&#xA;The URI and other broadcast identification (Joe’s Grill #1) only contain&#xA;public information. However, a copycat broadcaster acting as MITM might&#xA;duplicate the broadcast simultaneously as the merchant, attempting to lure&#xA;the customer to send funds to the copycat. That attack is mitigated with&#xA;this broadcast method because of the partial address in the broadcast.&#xA;Specification&#xA;&#xA;Requester generates a bitcoin URI request of variable length, and a limited&#xA;descriptive identifier string. Requester then broadcasts the URI’s partial&#xA;public address (&lt;paddress&gt;) plus identifier (&lt;id&gt;) over a publicly visible&#xA;wireless channel.&#xA;&#xA;Sender scans for broadcasts on their device, examines and selects the&#xA;desired request by the identifier and partial address. This connects a data&#xA;channel to Requester.&#xA;&#xA;Requester sends full URI back over the data channel.&#xA;&#xA;Sender device ensures &lt;paddress&gt; is part of the full URI public address and&#xA;checks the full address integrity. Checking the broadcast and full URI&#xA;integrity prevents a copycat device within range from copying the partial&#xA;address and fooling the customer into sending funds to the copycat instead.&#xA;&#xA;Below is a description of the protocol through Bluetooth Smart (Low Energy).&#xA;&#xA;Requestor      Sender     - Bitcoin transaction roles&#xA;&#xA;Peripheral     Central    - Bluetooth GAP definitions&#xA;&#xA;  Mode           Mode&#xA;&#xA;1   |-------------&gt;|       - Requestor Advertises partial bitcoin: URI +&#xA;Name&#xA;&#xA;   |     ...      |&#xA;&#xA;2   |&lt;-------------|       - Subscribe then send sender&#39;s Name, requesting&#xA;a response&#xA;&#xA;3   |-------------&gt;|       - ACK&#xA;&#xA;4   |&lt;-------------|       - request Read Characteristic from peripheral&#xA;&#xA;5   |-------------&gt;|       - Sender receives full bitcoin: URI&#xA;&#xA;&#xA;   1.&#xA;&#xA;   Peripheral advertises over a service UUID a BLE extended advertisement&#xA;   with a Scan Response containing the partial address of a bitcoin URI and a&#xA;   Name, any plain text. The entire response is limited to 26 characters. The&#xA;   first 10 make up the first 10 characters of the bitcoin URI public address&#xA;   where to send bitcoin, and must be present. The remaining characters are&#xA;   any plain text such as “The Habit 1” or “Starbucks-Reg 1”, more human&#xA;   readable information. The partial address serves as a check against a&#xA;   nearby attacker who may try to lure a Sender into sending payment to a&#xA;   separate wallet by advertising a similar Scan Response but cannot replicate&#xA;   a public address with the same leading 10 characters and different trailing&#xA;   characters.&#xA;   2.&#xA;&#xA;   When the Central scans the advertisement, it may display the Scan&#xA;   Response in a human readable listing using the two pieces of information.&#xA;   If Central chooses this advertisement to receive the full request, it then&#xA;   subscribes to the service and writes the characteristic (a second UUID)&#xA;   with it’s own name, or a blank if not sending a name, to the Peripheral.&#xA;   3.&#xA;&#xA;   Peripheral gets a characteristic write request of the Central’s name,&#xA;   and acknowledges the receipt by sending a server response.&#xA;   4.&#xA;&#xA;   Central receives a characteristic write (from the response) and&#xA;   immediately requests the entire bitcoin URI by issuing a read request on&#xA;   that characteristic.&#xA;   5.&#xA;&#xA;   Peripheral receives the read request and sends the entire bitcoin URI&#xA;   over that characteristic up to 512 bytes.&#xA;&#xA;This ends the proposed specification as the bitcoin URI transfer is&#xA;complete. The Sender would then normally confirm the request and decide&#xA;whether to initiate the fund transfer.&#xA;Compatibility&#xA;&#xA;There are no prior BIPs covering this.&#xA;Examples&#xA;&#xA;Airbitz iOS Bluetooth Low Energy to Bluetooth Low Energy request transfer.&#xA;References&#xA;&#xA;&#xA;&#xA;[image: logo]&#xA;*Paul Puey* CEO / Co-Founder, Airbitz Inc&#xA;+1-619-850-8624 | http://airbitz.co | San Diego&#xA;&lt;http://facebook.com/airbitz&gt;  &lt;http://twitter.com/airbitz&gt;&#xA;&lt;https://plus.google.com/118173667510609425617&gt;&#xA;&lt;https://go.airbitz.co/comments/feed/&gt;  &lt;http://linkedin.com/in/paulpuey&gt;&#xA;&lt;https://angel.co/paul-puey&gt;&#xA;*DOWNLOAD THE AIRBITZ WALLET:*&#xA;  &lt;https://play.google.com/store/apps/details?id=com.airbitz&gt;&#xA;&lt;https://itunes.apple.com/us/app/airbitz/id843536046&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150205/a00a4c8a/attachment.html&gt;</html></oembed>