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.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
6 Comments
oldest
newest
ceb
ceb
7 years ago

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
7 years ago

@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
theguyuk
7 years ago

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
7 years ago

@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
7 years ago

@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.

Khadas VIM4 SBC