Remix.run Logo
▲ ricardobeat 5 hours ago

The idea of a hardware wallet sounded wronged to me from the start.

Why would you trust some random hardware, that has the sole purpose of holding your money, making it an obvious target, over a general purpose computer you control entirely?

▲wappieslurkz 5 hours ago | parent | next [-]

Strictly speaking, a hardware wallet doesn't hold your "money". Your assets live on the blockchain, and your seed phrase generates the private keys that control them.

The hardware wallet is just a sandboxed interface between you, your seed, and the blockchain. It requires a computer to connect to you and the internet.

In other words: as long as you have your seed phrase (and your passphrase, if you set one) on a piece of paper, you can smash your hardware wallet to bits and be fine.

(This assumes a standard single-signature wallet using the BIP-39 standard)

▲lxgr 2 hours ago | parent | prev | next [-]

It's all about reducing the trusted computing base, both in terms of lines of code and of organizations supplying said code.

Most people's computes run a lot of software, including a general-purpose OS with a huge attack surface and third-party applications, often with broad or even unconstrained access to all their files.

General purpose computers often also don't have tamper-proof secure storage; hardware wallets generally do.

▲dd8601fn 5 hours ago | parent | prev | next [-]

If there was ever any appeal to me, it’s that vague notion that machines get wiped, rebuilt, compromised, travel, get stolen, etc. A dedicated device could kinda avoid some of that if it mostly sits in a safe or something.

I never did get one, though.

▲coralreef 3 hours ago | parent | prev | next [-]

Your general purpose computer is connected to the internet 24/7. It runs a complex operating system which constantly gets updated and patched. It visits dodgy websites, downloads npm packages, backs up files to the cloud, etc.

Thus the attack surface is far greater.

▲ricardobeat an hour ago | parent | next [-]

Is it though? There is nothing you can solder onto it that will gain any meaningful access and go unnoticed. Tampering with the supply chain is a lot more difficult, easily detectable, and wouldn't scale. I can use 100% open source software, in an OS where it's signed and completely safe from interference - except the NSA of course, but they are not interested in your money.

For example, in MacOS it would be extremely hard to "sniff the display" as in this attack, unless you take obvious steps to authorize screen access.

▲coralreef 29 minutes ago | parent [-]

Using a consumer pc, risk wouldn't come from hardware hack implementations, it would be mostly software.

To continue with your example, "display sniffing" could be done by infecting trusted software or software presented as trustworthy (fake or infected Zoom binaries, Xcode binaries, etc.) or injected through open source dependencies like npm packages.

Yes, you or I might be paranoid enough to check the checksum hash to make sure the open source code matches the build. But every time, for everything?

The less connected it is, the safer. The less software it runs, the safer.

▲ricardobeat 22 minutes ago | parent [-]

> fake or infected Zoom binaries, Xcode binaries, etc.

There are so many hoops to go through to pull something like that off, it's basically impossible. It would be a "the great train robbery" kind of effort. I also don't think an npm package could alter an existing app or obtain screen access otherwise, unless you're running `sudo npm install` routinely.

Some form of phishing would be way more likely to succeed, luckily you can use your own brain to protect against those attacks.

▲lokar 3 hours ago | parent | prev [-]

Or, get a mass produced general purpose computer and never connect it to the internet.

▲coralreef 2 hours ago | parent [-]

Yes, you can certainly use an air gapped laptop as a dedicated hardware wallet.

But now you need to generate a public key to send to someone so you can receive coins. How are you sending that key to your friend? Are you going to read character by character and manually type up the string?

It's all tradeoffs.

▲lokar an hour ago | parent [-]

For the public string? QR code

▲coralreef an hour ago | parent [-]

Right, so now you need an additional device on hand (your phone) to parse the QR code into a string. Or I guess you could activate your hot laptop's webcam, pick up your cold laptop, crank the brightness up, point it towards your webcam, and capture the QR like that.

Sounds kinda clunky.

▲wappieslurkz 5 hours ago | parent | prev [-]

[flagged]