Physical Bitcoins: Our Hands-On, End-to-End Review of Opendime
Opendime is a tiny USB flash drive that can be loaded with bitcoin by the first user and given to another user, who is, in turn, able to pass it along to a third user and so forth.
The private key attached to each Opendime is generated by the device at the time of setup by the user: It is not known by anyone, not even by the first owner or by the Opendime company itself. Opendimes can be passed along multiple times to other users and verified. An Opendime stick can only be redeemed by the last user, who must break the device to access the private key and import it into a bitcoin wallet.
A pack of three Opendimes can be ordered for $37.50. Though perhaps too technically demanding for casual Bitcoin users and arguably too expensive for transferring small values (the device is useless after getting the funds out), Opendimes are certainly usable as physical bitcoins.
“Opendime transactions are a little different from blockchain transactions,” notes the Opendime FAQ. “Whenever two people meet and trade goods or services for an Opendime, you could say a transaction has occurred, and yet there is nothing recorded on the blockchain. This is different from a normal bitcoin wallet which makes blockchain records continuously and can create a complex web of connections, which can later be explored by anyone.”
In other words, Opendimes can be used as totally anonymous, untraceable bitcoin cash. It is possible to do something similar with a paper wallet by printing a bitcoin address and its private key and then passing the paper wallet to another user, with no trace of the transaction recorded on the blockchain. “It is much more private because there is no subsequent blockchain transactions to track,” confirmed Opendime developer Rodolfo Novak in conversation with Bitcoin Magazine.
But the problem with using paper wallets in this way is that, somewhere along the transaction trail, someone could copy the private key and take the funds at any point after passing the paper wallet to the next user. Opendime solves this problem by hiding the private key, only revealing it to the last user who must break the device to take funds out.
Users of Opendime sticks can choose to pass their stick along to different owners only a few times before being emptied and destroyed, or they can treat their stick like physical cash, allowing it to change hands many times over years or decades. Novak confirmed that, according to user feedback, both scenarios are well used.
With bitcoin exchanges under increasing regulatory pressure, it seems likely that face-to-face exchanges like LocalBitcoins could become more popular, which could boost the adoption of Opendime. Novak confirmed that, indeed, users are pre-loading Opendimes and using them to sell bitcoin via LocalBitcoins.
According to Novak, Opendime is not vulnerable to regulatory actions because “the devices are ‘point solutions’ without any central service to be regulatory ‘captured.’”
Legally, Opendime is a trademark/product of Coinkite Inc., a company founded by Novak and Peter Gray and based in Toronto, Canada. Novak is skeptical of the possibility that Canadian regulators could order Coinkite to stop producing and selling Opendimes. “We and our lawyers don't believe that’s a possible scenario,” he said.
Opendime documentation claims the sticks will last for decades under normal usage conditions; however, Opendime hasn't been around for decades, so there's no way to know for sure. But, as Novak explained, the microchip used in each Opendime is rated for 25-100 years, as per the data sheet (page 816) linked in the FAQ.
“A few users have put it through a lot of abuse, washing machines, freezing, water, etc. and it survived,” said Novak
Novak also stated that it’s not practically possible to make a counterfeit because the device has a high security chip with a factory key just for that reason.
“They would have to break our private key, which is practically impossible,” said Novak. “Not even with a few tens of millions of dollars could they peel the chip and try to use an electron microscope to get our key because our chip choice also protects against peeling. So maybe a hundred million dollars could make that happen. If that happens the next batch would have a new key and they would have to spend the money again.”
The possibility remains, however, that malicious parties could make fake Opendimes, with an identical look and user interface, which claim a fake balance confirmed by a fake verification process. Therefore, it’s important to check the provenance of the device. Novak explained that there are a few ways for users to check an Opendime signature to verify it's not counterfeit, including a Chrome extension, the Samourai Wallet, which supports Opendime natively, Electrum (coming soon) and an open-source script.
Gray added that each Opendime ships with Python code for verification. “You can use a known-good Opendime to verify an unknown one,” he said. “No internet is required, and self-contained python code is used — just one command to be typed, which takes just seconds.”
How It Works
Anytime the stick is plugged into a computer, flickering green and red lights indicate its status. Only green means that the device is active; red indicates either that the device hasn’t been activated or that it has already been unsealed (broken) and can’t be used anymore. The lights work correctly even without a computer, with the stick connected to a USB charger or power pack. A file named index.htm on the stick provides all status information.
Bitcoin Magazine tested an Opendime stick end-to-end. When we plugged the Opendime stick into a computer for the first time, the red light flickered. The index file warned, “Your Opendime is new and unused. Follow these steps to pick a private key,” and gave us detailed instructions.
Following the instructions, we copied a few small files onto the device to seed a random number generator, which gets random bits from random.org. Once the private key was generated, the index file showed the stick’s Bitcoin address and a corresponding QR code.
Besides the index file and two folders with programs and utilities, there are four files on the stick: Address.txt, Private-key.txt, Qrcode.jpg and README.txt. The address and Qrcode files show the stick’s bitcoin address in both formats. The private-key file reads: “SEALED — See README.txt for details.” The README gives detailed instructions on how to use the Opendime stick, including how to verify that the device is authentic and how to get funds out.
The index file shows two status check buttons: “Check Balance” and “Verify.” Pressing the Verify button resulted in the status message “VERIFIED: Your Opendime does have control over the secret private key corresponding to Bitcoin payment address.” The balance was zero, of course, because we hadn’t yet sent funds to the stick.
We sent funds to the stick in multiple transactions from different users, physical locations and bitcoin wallets. After all the transactions were confirmed, the correct balance and previous transactions were displayed in the index file.
Now our Opendime stick was active, loaded and ready to be passed along to other owners. If the stick has been loaded with, say, 10,000 bits (0.01 BTC, about $120 at the current exchange rate), the stick could be used as a physical coin carrying that value.
At this point in the process, anyone in the ownership chain could decide to empty the stick and transfer the funds to their bitcoin wallet. To do that, the user must unseal the device by pushing a pin through a little circle marked on the back of the device. When this is done, the red light flickers and the index file displays a warning: “UNSEALED ⚠ DO NOT send more funds to this address or accept this hardware as payment.” Clicking both status check buttons results in a further warning: “Bitcoin was spent from this address. If this is an Opendime address, this means it has been UNSEALED.” The private key is now shown in the index file.
The Opendime team recommends using the Samourai wallet. However, we decided to experiment and create a new wallet on blockchain.info. We imported our Opendime private key (Settings - Addresses) and transfered the funds to the blockchain.info wallet, and then to an exchange.
In summary, the Opendime stick passed our end-to-end test with flying colors. One caveat: At $13 a piece, Opendime sticks struck us as rather expensive for storing/transferring small amounts and may be better suited to large amounts of over $1,000 or so.
“But $13 is actually very cheap as it's amortized by multiple exchanges of the same unit,” Novak suggested. “Also, Bitcoin transactions are very often more than that.”
This is a fair point, since the chain ownership transfer could go on for a very long time, with the stick potentially changing hands many times, just like physical cash. Novak also added that improvements and new features are in the works.
Disclaimer: Opendime provided Bitcoin Magazine with free samples to use for the purposes of testing their product for review.