OpenDime is a Bitcoin USB Stick based on Microchip SAMD21 MCU, and ATECC508A Security Chip

The first time I heard about crypto currencies, specifically Bitcoin, was probably around 2011, and later in May 2012, I noticed a “micro-payments with Bitcoin digital currency” talk at a Barcamp. I did not think much of it at the time, but with hindsights, I should definitely have started to mine some Bitcoins considering the price was $5. Nevertheless, cryptocurrencies appear to be here to stay, and while most transactions occurs over the Internet, Opendime project has made a hardware USB dongle to store Bitcoins, and earlier this year, announced version 2 of their “Verified Bitcoin Credit Stick”.

Hardware specifications of OpenDime v2.0 / v2.1 USB stick:

  • MCU – Microchip / Atmel SAMD21 Cortex M0 MCU
  • Security Chip – Microchip / Atmel ATECC508A Crypto chip with support for SHA-256, TRNG, and public key signing (ECDSA)
  • USB 2.0 interface to connect to a computer
  • Bitcoin seal

The USB stick works like a piggy bank, you can add Bitcoins to it changing the status from new to sealed, but you can not use them until you “break the seal”, that is pushing through the Bitcoin hole that will remove a resistor and change the status to un-sealed.

Once connected to a computer, you can copy some of your files in order to create a randomly generated private-key. The drive won’t save your files, and become read-only. Once this is done, you should see an index.htm file in the stick that you can use to verify the stick, and add Bitcoins from your own wallet. You can then give your OpenDime to somebody to make a payment.  More info can be found in the github repo, full instructions are also located inside the OpenDime, and the video below gives an overview of OpenDime, and shows how to use it.

I’m not sure I get the advantages of using such hardware key for Bitcoin payments, but the company explains it could be used for the following use cases in the FAQ:

  1. Gift someone a Bitcoin. Put it on an Opendime and mail it to them. Simple!
  2. Deliver the payment for a car when you go to pick it up. Just put your payment on an Opendime and hand it over when you get the keys. Private key for car keys!
  3. Load a number of Opendimes with various denominations of Bitcoin. Keep them in your pocket to pay for things through-out your day.
  4. Sell Opendimes, preloaded with value, in exchange for gold or other precious metals.
  5. Use this instead of a paper wallet. Just as “compatible” but takes care of generating the private key safely.

If you are interesting you can purchase OpenDime keys starting at $37.50 for one pack of 3 boards, and to up to 8 packs of 3 boards for $300 plus shipping. That’s over $12 per board, so while it acts like “Bitcoin cash”, the hardware price only makes it suitable for larger amounts.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

6
Leave a Reply

avatar
6 Comment threads
0 Thread replies
5 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
DurandAtheguyukcnxsoftPeterceb Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
ceb
Guest
ceb

Nice projet but i think the target people is unrealist. What is the use of usb key in the street without a computer?
If you have a computer, you already have a bitcoin wallet…
More secure?
I prefer an protected by password paper bitcoin and give the password to receiver and change the password each time i want

Peter
Guest

@ceb
(long time blog follower .. first time poster and CTO at Opendime)

Opendime differs from a paper wallets in a critical way: the giver does not know the private key, and cannot snatch back the funds after giving it to you. Since the private key is generated inside the Opendime, and doesn’t leave it (until end of life), as the receiver of an amount on an Opendime, you know that physical possession of the device means you have the Bitcoin.

theguyuk
Guest
theguyuk

You can buy a encrypted flash drive for less, and if they designed one that has a one time key. You could make a reusable encrypted drive.

Then you have precharge cards which you can load with money.

Also would you really want to store £200 or 200 dollars on your keys or key chain?

I am not sold on the idea. I case any wondering, yes I have mined coins, yes I have had bitcoin.

DurandA
Guest

@Peter
To the best of my knowledge, ATECC508A cannot be configured to use secp256k1 elliptic curve (flavor used by blockchains). Do you use a man in the middle (like described in http://blog.enuma.io/update/2016/11/01/a-tale-of-two-curves-hardware-signing-for-ethereum.html) implemented in SAMD21?

Peter
Guest

@DurandA
The ATECC508A is not involved in the Bitcoin keys, so it doesn’t need to do the secp256k1 curve. It is used to authenticate the product (that it’s a real Opendime from our factory) and also the bitcoin payment address. There’s lots more about how we use it in a this technical white paper.