Bitcoin hardware wallet?

I am wondering if anybody has tried to implement a bitcoin hardware wallet on the Arduboy. I think in principle it should be possible.

1 Like

But not very secure.

1 Like

Why do you say that? It has no wifi or bluetooth which eliminates one common attack vector. Setting the lock fuses prevents reading the code/data. If all the key encryption standards can be implemented it should be as safe as many commercial HW wallets.

If you set the lock fuses, you’re dedicating it to be a hardware wallet forever. You may as well buy a device designed for the purpose. And, there are almost always ways to get around the locks.

Without hardware specifically designed to store keys securely, and tamper detection/prevention, I certainly wouldn’t trust it to protect anything of significant value.

Some people have attempted to make bitcoin wallets for Arduino devices. One particular group claims that:

It doesn’t work on 8-bit microcontrollers like a classic Arduino as these microcontrollers are not powerful enough to run complicated crypto algorithms.

I have my doubts about that claim, but without knowing more about elliptic curve cryptography and what kind of operations it entails I can give no evidence to the contrary.

Edit: I forgot to link to the group mentioned. They make the claim here.


If I’m reading the datasheet correctly, a chip erase instruction should reset the lock bits.
If the chip erase command is what I think it is then it doesn’t erase the bootloader either, so setting the lockbits shouldn’t be too cumbersome.
Even if it did wipe the bootloader, that’s still not quite a ‘forever’ situation.

That said…

There’s very likely to be a means of recovering the contents of flash and EEPROM even with the lock bits set.

Whether it’s by bypassing circuit paths or something crazy like cryogenically freezing the memory*.

(* That’s actually a trick for making RAM less volatile. That particular technique isn’t likely to be useful here, but the point is that security flaws can come in surprising forms.)

1 Like

It’s possible using a secondary security chip somehow, but at that point it’s probably better to just start with a main mcu that can do it natively.

1 Like