r/Bitcoin: verifying that published source is what runs on the device
reddit-verify-code-on-device
https://www.reddit.com/r/Bitcoin/comments/1vehj5c/if_the_code_of_a_hardware_wallet_is_truly_open/
Latest reviewed change
source content difference between and
The Reddit thread gained 1 new comment.
On the other end you have Jade DIY, which runs on an off-the-shelf ESP32 chip. You can literally design your own PCB (or use a pre-existing design), get it fabricated (or even fabricate it yourself), source all components from various vendors, pretty much all of which will have no idea you're even trying to build a hardware wallet, solder all components, then you have the code that's fully open source, that you'll build yourself and then flash.
Even farther on that end of the spectrum would be you building your own design from scratch. In the end a hardware wallet's most tedious job is to perform hashes. The rest is largely trivial.
+
+comment: p1on76u
+parent: t1_p1od513
+author: Zaytion_
+created_utc: 1785862744
First lines only. The complete diff is in the timeline below.
- Organisation
- Evidence role
- Community discussion
- Published
- not established
- Source changes
- 2
- Detected differences
- 2
- Unreviewed
- 0
- Copies held
- 3
Every check is recorded, including checks that found no text change. A detected edit is therefore bounded between two checks. The publisher's exact save time is not observable from this record. Last checked .
This post is held twice: here, with this project's own note on why it matters, and again as part of the conversation captured at , which is polled for changes. Both copies are the same post; neither is a separate event.
Snapshot and diff bodies for this chain monitor are held in the local evidence archive but withheld from the public site because they can contain the addresses of people who published nothing themselves. Capture times and reviewed change summaries remain available below.
Held captures
-
The Reddit thread gained 1 new comment.
Recovered from the Internet Archive rather than captured by this project. The row records that third-party provenance separately from captures made by this project.
What changed from the previous capture 10 lines
On the other end you have Jade DIY, which runs on an off-the-shelf ESP32 chip. You can literally design your own PCB (or use a pre-existing design), get it fabricated (or even fabricate it yourself), source all components from various vendors, pretty much all of which will have no idea you're even trying to build a hardware wallet, solder all components, then you have the code that's fully open source, that you'll build yourself and then flash. Even farther on that end of the spectrum would be you building your own design from scratch. In the end a hardware wallet's most tedious job is to perform hashes. The rest is largely trivial. + +comment: p1on76u +parent: t1_p1od513 +author: Zaytion_ +created_utc: 1785862744 +edited: false +body: +Yeah Jade DIY is fine. You aren't buying the hardware from a crypto company to do it. + +I'm only talking about buying hardware wallet devices and thinking just because it lets you flash the firmware means you are OK.Extracted text as captured
post: 1vehj5c author: seolein created_utc: 1785772816 title: If the Code of a hardware wallet is truly open source, how can i verify the exact same code I can check online is on the hardware device? body: since the weekend i am questioning **everything** comment: p1gy0fm parent: t3_1vehj5c author: rtublin created_utc: 1785772960 edited: false body: I think there is generally not a way to do this except to build the code yourself and insert a custom build string, then push it to the device and verify your string. But even then there could be some weirdness like artifacts on the device. I just don't really trust these dedicated hardware devices. Most of this stuff should just be done in software on an old laptop. comment: p1gyfuh parent: t1_p1gy0fm author: seolein created_utc: 1785773071 edited: false body: i more and more come to think the term "**don\`t trust - verify**" is an complete illusion comment: p1h0je2 parent: t3_1vehj5c author: riscten created_utc: 1785773602 edited: false body: With wallets that are entirely open source, you compile and flash your own firmware. A lot of vendors have what's called a reproducible build. It's a method to compile the firmware package from source to get the exact same file as they publish. You start with their code on Github, follow the build process, and end up with a file that you can then compare to their prebuilt binaries. With devices like Jade DIY and Seedsigner, you literally start with off-the-shelf hardware. An ESP32 for Jade, and a Raspberry Pi for Seedsigner. And then you flash your hardware wallet firmware on them. You can literally have anything you want running on these. comment: p1h1cyi parent: t1_p1gyfuh author: Suspicious-Holiday42 created_utc: 1785773808 edited: falseExcerpt only. The complete copy is held offline and backs quotations on this site. The original publication remains the canonical public source.
-
1 new Reddit comment was posted, by riscten, contrasting vendor trust with a self-built Jade DIY device.
Recovered from the Internet Archive rather than captured by this project. The row records that third-party provenance separately from captures made by this project.
What changed from the previous capture 14 lines
edited: false body: You are still trusting that the device allowed you to flash the firmware correctly. It could come preloaded with stuff that makes you think you did but still has nefarious code on there. + +comment: p1od513 +parent: t1_p1lhz03 +author: riscten +created_utc: 1785860231 +edited: false +body: +This aspect stands on a spectrum. + +On something like a Ledger, you are given a blackbox device and a binary. You know nothing about either. It's all trust and they could be doing anything. + +On the other end you have Jade DIY, which runs on an off-the-shelf ESP32 chip. You can literally design your own PCB (or use a pre-existing design), get it fabricated (or even fabricate it yourself), source all components from various vendors, pretty much all of which will have no idea you're even trying to build a hardware wallet, solder all components, then you have the code that's fully open source, that you'll build yourself and then flash. + +Even farther on that end of the spectrum would be you building your own design from scratch. In the end a hardware wallet's most tedious job is to perform hashes. The rest is largely trivial.Extracted text as captured
post: 1vehj5c author: seolein created_utc: 1785772816 title: If the Code of a hardware wallet is truly open source, how can i verify the exact same code I can check online is on the hardware device? body: since the weekend i am questioning **everything** comment: p1gy0fm parent: t3_1vehj5c author: rtublin created_utc: 1785772960 edited: false body: I think there is generally not a way to do this except to build the code yourself and insert a custom build string, then push it to the device and verify your string. But even then there could be some weirdness like artifacts on the device. I just don't really trust these dedicated hardware devices. Most of this stuff should just be done in software on an old laptop. comment: p1gyfuh parent: t1_p1gy0fm author: seolein created_utc: 1785773071 edited: false body: i more and more come to think the term "**don\`t trust - verify**" is an complete illusion comment: p1h0je2 parent: t3_1vehj5c author: riscten created_utc: 1785773602 edited: false body: With wallets that are entirely open source, you compile and flash your own firmware. A lot of vendors have what's called a reproducible build. It's a method to compile the firmware package from source to get the exact same file as they publish. You start with their code on Github, follow the build process, and end up with a file that you can then compare to their prebuilt binaries. With devices like Jade DIY and Seedsigner, you literally start with off-the-shelf hardware. An ESP32 for Jade, and a Raspberry Pi for Seedsigner. And then you flash your hardware wallet firmware on them. You can literally have anything you want running on these. comment: p1h1cyi parent: t1_p1gyfuh author: Suspicious-Holiday42 created_utc: 1785773808 edited: falseExcerpt only. The complete copy is held offline and backs quotations on this site. The original publication remains the canonical public source.
-
Recovered from the Internet Archive rather than captured by this project. The row records that third-party provenance separately from captures made by this project.
What changed from the previous capture 0 lines
Extracted text as captured
post: 1vehj5c author: seolein created_utc: 1785772816 title: If the Code of a hardware wallet is truly open source, how can i verify the exact same code I can check online is on the hardware device? body: since the weekend i am questioning **everything** comment: p1gy0fm parent: t3_1vehj5c author: rtublin created_utc: 1785772960 edited: false body: I think there is generally not a way to do this except to build the code yourself and insert a custom build string, then push it to the device and verify your string. But even then there could be some weirdness like artifacts on the device. I just don't really trust these dedicated hardware devices. Most of this stuff should just be done in software on an old laptop. comment: p1gyfuh parent: t1_p1gy0fm author: seolein created_utc: 1785773071 edited: false body: i more and more come to think the term "**don\`t trust - verify**" is an complete illusion comment: p1h0je2 parent: t3_1vehj5c author: riscten created_utc: 1785773602 edited: false body: With wallets that are entirely open source, you compile and flash your own firmware. A lot of vendors have what's called a reproducible build. It's a method to compile the firmware package from source to get the exact same file as they publish. You start with their code on Github, follow the build process, and end up with a file that you can then compare to their prebuilt binaries. With devices like Jade DIY and Seedsigner, you literally start with off-the-shelf hardware. An ESP32 for Jade, and a Raspberry Pi for Seedsigner. And then you flash your hardware wallet firmware on them. You can literally have anything you want running on these. comment: p1h1cyi parent: t1_p1gyfuh author: Suspicious-Holiday42 created_utc: 1785773808 edited: falseExcerpt only. The complete copy is held offline and backs quotations on this site. The original publication remains the canonical public source.
0 presentation-noise differences. Sidebar, ticker and other page chrome churn that our review classified as not being changes to what the source says.
The excerpts and plain unified diffs above show the text this project held and how it changed. To verify a quotation, compare it against the page itself or against the Internet Archive's copies, which are independent of this project.
Complete captures are held offline rather than mirrored here, so this page shows diffs and excerpts. If a quotation is ever disputed, the full copy can be produced. Ask.
Compare the screenshot or a quotation against the original while it is available.