A Protocol for Offline Bitcoin Over Radio Transactions

As a man of many pursuits, I find the most efficient waste of time in bundling my hobbies together into convenient packets of unproductivity. Occasionally, I am able to convince myself that one of these projects may be of interest (if not actual use) to others. This particular project may have more function as a proof-of-concept for future development, but does actually do something in itself.

As a possible improvement over the traditional method of using a flash drive to transfer an unsigned transaction to an offline computer, there is never a bi-directional data connection made to an offline computer holding precious private keys. This eliminates a possible mode of malware infection. The file transfers over radio are pretty limited in their capabilities and only unidirectional for each transfer, so it would be an extraordinarily unlikely mode of infection.

An additional benefit is that only the payee requires an internet connection. This allows for the payer to carry simpler hardware and have greater anonymity in the transaction (as soon as you connect to a mobile phone network to access the internet, the carrier can triangulate your position).

There is a lot of text following, but the process is conceptually fairly simple: payer sends payee wallet address, payee sends payer an unsigned copy of the proposed transaction, payer signs transaction and returns to payee, payee finalizes transaction. I have been verbose in the instructions to attempt to keep folks on the right path their first time through these woods.

Hardware Requirements

A radio transceiver. Any band that you have privileges to use data on will work. For the sake of anonymity, simplicity, and cost, the unlicensed Multi-Use Radio Service (MURS) (151.82, 151.88, 151.94, 154.57, and 154.60 MHz) is a good option (other unlicensed services such as FRS or CB do not allow data: FCC Part 95.631). New radios certified specifically for MURS (FCC Part 95) are still somewhat obscure and expensive, but old radios that were certified for business band (FCC Part 90) and grandfathered into MURS service are everywhere and cheap. A grandfathered MURS transceiver must be certified before 2002, have a max output of 2 watts, have no way to easily switch to an output higher than 2 watts, and not allow wide-band operation on 151MHz frequencies (FCC Part 95.603g, 95.632, 95.639h). The frequencies where wide-band operation is allowed (154MHz) were marketed as “green dot” and “blue dot” channels to business band users, which makes them easy to pick out. I have had good luck finding these units with the following eBay search string (may need to include description search and narrow by category):

1) When started for the first time, a configuration wizard will come up. If you are operating on a licensed radio service, you must provide your callsign. If you are operating on MURS, leave blank. Select your soundcard microphone and speaker in the device setup. The rest of the wizard can be skipped through for this configuration.

Payer may choose to delete the temporary wallet created for this transaction after verifying that the funds have been successfully transferred.

Future Directions

There is absolutely room for improvement in this process. This procedure represents my attempt to hack together something with the tools I am aware of. One limitation of using Armory is that a transaction must be initiated by an online computer, which in this case is the payee (https://bitcoinarmory.com/tutorials/armory-advanced-features/offline-wallets/). Ideally, the payee would just provide an address to send funds, the payer would generate and sign the transaction, and return it to the payee for broadcast. This would limit the amount of private information that both parties are required to exchange.

Additionally, there are much faster modes for the radio transmissions. In this example, MT63-2000L is used for its robustness; it is able to achieve a low error rate even with high background noise out-of-box, but it sacrifices speed. If noise is reduced with a cabled connection between the transceiver and computer—either through the soundcard or a terminal node controller (TNC)—a faster protocol, such as MultiCarrier PSKR, may work after optimization (http://wpaares.org/html/nbems.html).

Ultimately, I would love to see someone apply these concepts toward a purpose-build system to execute offline bitcoin transactions over low-power, extremely short-range radio communication—such as RFID or NFC—between personal devices and point-of-sale terminals.

About the author

Rob finds himself in a never-ending string of projects. If there is a question arises, he cannot rest until an answer is found. He is an Immunology researcher by day and an amateur radio operator (KD0FTJ), amateur horticulturist, amateur cryptocurrency miner, and amateur…most everything else by night. His accrual of embarrassing injuries, nearly functional Linux-loaded gadgetry, and minor fires are (almost) tolerated by his wife and relished by his children.

It’s hard to know where exactly the FCC would draw the line on Part 97 usage. It could be argued that small transactions for the purpose of experimentation are not commercial and it may even be permissible to send BTC over the amateur bands as payment for radio equipment or some specific amateur services (97.113(a)(3)).

One consideration would be the prohibition against “messages encoded for the purpose of obscuring their meaning” (97.113(a)(4)). Even if it is not your intention to obscure what you are doing, the files just look like random strings of characters to onlookers. It may be a good idea to announce exactly what you are doing before beginning the file transfer.