Firefly – An open-source $5 DIY hardware wallet
firefly.city
firefly.city
Looking at the recent Broadcom wifi vulnerability -- just having a phone sitting there with the radio on is enough to let an attacker gain root on some devices.
I've generally seen the term "air-gap" used to mean "as isolated as possible" -- i.e. take apart a laptop and remove all networking hardware, microphones, speakers, fill all the ports with epoxy, and connect it to an isolated battery / power supply.
If an attacker can poke at your device by sending it custom BLE packets without your knowledge, I'd argue that it doesn't qualify.
From the video:
The firefly is receive only, so it cannot be remotely hacked.
Bullshit.
I still agree that we shouldn't call it air-gapped, though.
http://dmitry.gr/index.php?r=05.Projects&proj=15&proj=11.+Bl...
Possible problem: The attacker sends a transaction at the same time (or just before) a legit one is sent.
Not a big deal: The user is asked to send a specific quantity to a specific address on the screen. If somehow the user didn't check or the attacker fooled him with the same quantity etc, the picture still has to be taken and check it is the same transaction. Additionally, the wireless communication can have a second authentication factor.
I maybe am not understanding some part of the Ethereum protocol that is important to knowing how this can work...
If the wallet is stored on the device, and the device can only receive payment requests over BLE and nothing else, and the device does not store the block chain, and the device does not have Wi-Fi to go out and ask for information about the block chain state, how can the device know its own balance, or know whether it has sufficient funds to sign a transaction?
(Can it sign transactions that it can not immediately fulfill from the stored balances? Can they be used as IOUs?)
The problem is that holding keys in a PC or a phone is very risky: malware, security holes, etc. A hardware wallet allows very little communication between the key holder and the wallet usage, so the attack surface is several orders of magnitude smaller. You can even use it in a virus-ridden Windows XP machine.
edit: Another problem with crypto coin keys is that they can steal them and you won't notice until they spend the coins. Just like what happened with MtGox: they assumed there was no theft because the thiefs didn't transfer the coins immediately. With a hardware wallet you can be sure nobody else is holding your keys (but it doesn't hurt to transfer them from time to time to a new wallet, which means the coins get new keys).
FTFY.
OLED $2.59 https://m.aliexpress.com/s/item/32233342471.html
The rest is passive junk that's probably about 25¢.
That's more than $5, but this is what 120 seconds of searching on AliExpress turned up.
Software is where a lot of the value comes from. I assume it's using a clever hack like http://dmitry.gr/index.php?r=05.Projects&proj=11.%20Bluetoot...
like you said the passive components are pretty cheap, and you stay under 5$.
[1] https://www.aliexpress.com/item/EYEWINK-1pcs-lot-ATMEGA328P-... [2] https://www.aliexpress.com/item/LCD-Board-T420XW01-V2-06A39-... [3] https://www.aliexpress.com/item/Free-Shipping-Blue-0-96-inch...
Also no idea how to add currency to the wallet... that could be another issue.
> Also no idea how to add currency to the wallet
If you get past the crowdfunding page, you are assigned a *.firefly.eth "ENS" name. This corresponds to a wallet address. So, the same way you add currency to any other wallet. (How does it know that it has an available balance, though...)
Isn't that just sending coins to an address given as QR? In the demo it shows two kinds of QR:
- Address (to deposit) - Signed transaction (to send)
And the unsigned transaction is sent via BLE (I'm guessing only one way, so while not completely air gapped, it sounds fairly secure).
Edit: And the Devcon2 video behind the ethers link! This is the link that keeps on giving!
That was the easiest anyone on the internet ever took my $20. And I feel like you just showed me So Much in so few steps.
I have no idea what I just bought, or if I need to do something so that I can receive a kit? Hope your crowdfunding is successful? It says teaser, so I'm assuming that what I bought was just the ENS name, and the incredible exchange that was absolutely frictionless. I see that I have my own vanity address in there now, and I'm thinking that this is all somehow built on Ethereum ecosystem. In about 60 seconds you just completely restored my confidence that the whole Ethereum thing is absolutely incredible, and gonna take over the world.
(Not to mention I like the looks of your product/DIY thing!)
Man I feel like I'm really far behind the curve on this Ethereum thing, I learned all about Bitcoin but I never took any time to learn about Ethereum, and I feel like that was such a huge mistake. I know that it's contracts, and smart contracts, and by default accounts can't even tell you about transactions at all, until you write more something or other in a contract; and contracts are somehow JavaScript, and that's about as far as my knowledge extends about it.
I really just figured out that I needed to get some when it was worth about $90. But only just now, seeing how slick this Javascript wallet thing is that you just showed me, that you made me figure out how to keep, only now do I feel like I Really Get how much power there is in Ethereum that you don't just get "Batteries Included" like this on Bitcoin.