作者:九神二号
起点:如果 Trezor 的代码本来就是开源的,为什么不能自己做一台?
这段历史的起点,是一个几乎理所当然却很少有人真正付诸实践的问题。
2018 年 2 月,一个自称 “pitrezor” 的开发者在自己的博客上贴出了一篇教程,标题直白得像是在挑衅整个硬件钱包行业:既然 Trezor One 的固件代码本来就是完全开源的,为什么普通人不能自己动手,用一块几十美元的树莓派,复刻出一台功能对等的比特币签名设备?
这就是 PiTrezor 项目的起点。它的做法非常 “工程师式”:不重新设计一套签名逻辑,而是直接拿官方的 Trezor One 开源代码,在外面裹一层很薄的适配层,把原本运行在 Trezor 专用芯片上的代码,移植到 Raspberry Pi Zero (或 Pi 4 ) 的 Linux 平台上运行。硬件清单也极简 —— 一块树莓派、一块 0.96 寸 OLED 显示屏或者干脆用 HDMI 输出、外加一两个按键。项目宣称能做到与 Trezor 官方网页钱包 100% 兼容,可以直接拿它签署真实交易;它还利用了树莓派自带的硬件随机数生成器来提升密钥生成的安全性,启动速度也被优化到了 5 秒左右。
PiTrezor 从一开始就没有伪装成 “开箱即用” 的产品。第三方评测机构 WalletScrutiny 在分析时明确把它归入 “DIY Project” 一类,并特别提醒:项目分发的是预编译固件,这意味着使用者需要自行验证这份预编译文件是否真的能用公开的源码完整复现出来 —— 这也是后来几乎所有 DIY 签名设备项目都要面对的共同命题:开源代码本身不是终点,“可复现构建”(reproducible build) 才是让开源承诺真正兑现的最后一公里。
BitBoy 与 Bowser:教学玩具照进现实
如果说 PiTrezor 证明了 “复刻别人的开源设计” 是可行的,那么接下来的两个项目,则证明了 “从零设计一台 DIY 签名设备” 同样可行 —— 而且它们最初的动机,甚至都不是安全焦虑,而是教学实验。
2019 年 9 月,Austin 一家比特币训练营 BUIDL Bootcamp 的讲师 Justin Moon 发布了 BitBoy:基于 M5Stack(ESP32 开发板)的自制硬件钱包,具备无状态、二维码气隙隔离(air-gapped)两个特性,一度在 Crypto Twitter 上引发轰动。Moon 本人坦言,这只是他入圈不到一年后做的一个有趣的教学项目。
紧随其后的,是 2020 年由化名 “arcbtc”(Ben Arc) 发布的 Bowser Wallet。Ben Arc 更广为人知的作品其实是 LNbits (一款开源闪电钱包/后端) 和对 Nostr 协议的早期贡献。他做 DIY 硬件的核心理念,是鼓励普通人自己动手做东西,从而在使用比特币设备时获得更多自主权。
Specter-DIY 与 DIY Jade:一个 “正规军”,一个 “副业”
几乎与 BitBoy 同期,一个更系统化、也影响最深远的项目开始生长。这不只是又一个周末黑客马拉松的产物 —— 它真正拉开了整个 DIY 签名设备运动的序幕。2019 年,由物理学家出身的 Stepan Snigirev 领衔的 CryptoAdvance 团队发布了 Specter-DIY,基于 STM32 F469I-DISCO 开发板打造。项目从一开始就有意识地坚持全流程开源。Specter-DIY 用的是一块性能堪比 iPhone 4 触控屏的高端开发板,并率先做出了两件后来几乎成为 DIY 签名设备 “标配” 的事:一是用二维码实现真正意义上的全气隙隔离(设备完全没有 USB 或 蓝牙/WiFi 与联网设备物理连接);二是开创了 “无状态”(stateless) 的工作模式 —— 私钥只在需要时被临时载入设备,操作完成后立刻被永久清除,设备本身退化成一个纯粹的工具,与你实际保管私钥的方式完全解耦。配套的 Specter Desktop 桌面钱包软件,则是第一款实现纯二维码通信的协调器软件,让用户可以任意混搭 DIY 设备和商用设备来搭建多签方案。
而从项目诞生的第一天起,Stepan 就把所有比特币底层运算逻辑抽出来,单独封装进一个叫 embit 的可复用代码库里。这个决定在当时看起来只是常规的工程实践,却在六年后成为了整个 DIY 生态的 “共同祖先” —— SeedSigner 和 Krux 后来都是建立在这同一份 embit 库之上,三个项目虽然理念、UX、目标用户各不相同,却始终因为这份共享的核心代码而被彼此视为 “同门兄弟”。
2021 年 1 月,一个更出人意料的玩家入场:老牌比特币基础设施公司 Blockstream 发布了 Blockstream Jade。它虽然可以作为成品购买,但从第一天起就带着 DIY 基因 —— 它可以运行在 LILYGO T-Display 等设备上,你完全可以自己订购零件、自己组装,从而规避一部分供应链风险。
SeedSigner:把成本打到 50 美元的原型,再练成 “UX 冠军”
如果说 Specter-DIY 证明了DIY “可以很硬核”,那么 SeedSigner 的出现,则是第一次证明 DIY 也可以 “很好用”。
项目背后是一位坚持化名的开发者。2020 年 12 月,他借助 embit 库、并在 Stepan 本人的大量帮助下,用一块只要 5 美元的 Raspberry Pi Zero 搭出了第一个能跑的原型。此后项目迅速吸引了新的贡献者,并在功能上不断推陈出新 —— 其中不少后来被整个行业采纳为事实标准,比如用摄像头采集的画面数据生成新密钥的选项、开放的 SeedQR 编码标准,以及手写誊抄二维码的交互方式。
核心硬件选择也极具巧思:项目特意选用没有 WiFi 和蓝牙模块的 1.3 版 Raspberry Pi Zero,从物理层面确保私钥无法通过无线方式离开设备,再配合一块摄像头和一块显示屏,所有的交易数据交换都通过屏幕上下滚动的二维码完成。种子仅在设备通电期间临时保存在内存中,断电后立即清零。
有意思的是,SeedSigner 的核心团队自己也承认,在三个主要 DIY 项目里,他们是技术上 “最不硬核” 的一支 —— 但正因如此,团队把几乎所有精力都投入到打磨新手友好的交互体验上,这也让 SeedSigner 成了三者中 Twitter 声量和播客曝光度最高的一个,对一个完全没有营销预算、纯靠志愿者维护的项目来说,这种关注度本身就是稀缺资源。
Krux:把 DIY 交给已经现成的开发板
SeedSigner 证明了树莓派路线的可行性,但树莓派本身仍需要额外的显示屏和摄像头配件才能拼成完整设备。Krux 在此基础上走出了另一条路:直接依托 Kendryte K210 系列开发板已经相当成熟的生态,把摄像头、屏幕、按键都集成在一块现成机身里 (如 M5StickV、Maix Amigo等),这些设备甚至完全不需要动手组装,买回来插上电就能刷入 Krux 固件使用。
Krux 由一位开发者在 2021 年发起,但正如中本聪本人的选择一样,他后来把项目完全交给了其他贡献者、自己彻底淡出 —— 如今项目由 odudex 领衔维护,并同样建立在 Stepan 最初打造的 embit 库之上。近来,Krux 团队一直是推动 embit 库引入更多进阶功能的主力。
ShieldSigner 与 Kern:DIY 生态自己长出的 “变体”
ShieldSigner 来自开发者 CryptoGuide (GitHub ID “3rdIteration”) 之手,是目前 SeedSigner 最成功的一个分支 (fork) —— 他给 SeedSigner 加上了 Satochip 智能卡功能,并且自己动手设计了一块用于读取智能卡的定制扩展板。SeedSigner 本身一直因为 “没有安全元件” 被不少人诟病,而 Satochip 智能卡本身就是一颗安全元件、只是缺一块屏幕来和用户交互 —— 把两者结合起来,在许多人看来正是 “天作之合”。有意思的是,即便在这个领域,真正的先行者仍是 Specter-DIY —— 它其实早在多年前就已经提供了可选的智能卡支持。
Kern (github.com/odudex/Kern) 则是 Krux 维护者 odudex 用 C 语言从零打造的一个实验性新项目。它目前还处于早期阶段,但已经被寄予厚望 —— 比如它的二维码扫描模块,很可能会被直接移植进 SeedSigner 下一代基于微控制器 (而非树莓派) 的版本里,成为跨项目复用代码的又一个例证。
2025 年 11 月,圣保罗:三条平行线第一次真正交汇
如果说前面的每一步都是各自项目独立摸索出来的进展,那么这条时间线最值得记上一笔的转折,发生在 2025 年 11 月的巴西圣保罗 —— Specter DIY、SeedSigner、Krux 三个团队的核心成员,连同Satochip和Jade DIY方面的专家、自托管教育者,第一次齐聚一堂,面对面认识彼此,并启动了远比过去更深入的合作。
促成这场聚会的,是巴西非营利组织 Vinteum 的执行总监 Lucas Ferreira。他说服了包括 Stepan Snigirev 本人在内的所有关键人物到场 —— 这本身就是一个不小的成就,因为 Stepan 几年前经历了一段高强度的开发冲刺后几近 “燃尽”,此后基本淡出了比特币开发圈子,不少人一度以为再也见不到他了。Vinteum 包揽了整场活动的后勤组织,资金则来自人权基金会 (Human Rights Foundation),地点选在了 Vinteum 位于圣保罗的黑客之家 Casa 21。
峰会最重要的议程,是 embit 这份三个项目共同的核心代码库的 “权力交接”。Stepan 此行的首要目的,就是把 embit 的维护权正式移交给新的共同维护者 —— 他不希望自己继续成为整个生态进展的瓶颈,也理所当然地想卸下大部分维护负担。最终,Specter DIY、SeedSigner、Krux 三个项目各自推举了一位代表,成为 embit 仓库的共同维护者,完成了这次带有象征意义的 “薪火相传”。
峰会期间,各团队毫无保留地相互展示了各自的技术积累:Specter DIY 展示了其 STM32 安全引导程序的实现细节 —— 这套机制能确保设备拒绝安装任何未经签名的 “邪恶固件”,堪称一台签名设备所能提供的最重要的安全保证:SeedSigner 的志愿者 UX 设计师展示了他打磨交互体验的方法论,已经启发 Krux 的贡献者着手尝试新的 UX 改进:Krux 团队则设计了一个需要综合运用其独有进阶功能才能破解的加密多签挑战,展示了这套工具在高手手中能达到的复杂度上限。三个项目长期各自为战积累的技术优势,第一次摆在了同一张桌子上,任何人拿去用都不需要许可、不需要授权 —— 因为它们本来就是自由开源软件。
结语:为什么 DIY 精神仍然重要
回望这条从 2018 年 PiTrezor “复刻开源固件” 的第一次尝试,到 2025 年三支团队在圣保罗正式交接共享代码库的历程,会发现一条清晰的逻辑线:“Not your keys, not your coins” 这句比特币圈的老话,在 DIY 运动这里被推进了一层 —— 不仅私钥要自己掌握,连生成和使用私钥的那台设备,也应该是你自己能理解、能验证、甚至能亲手组装的。
从 PiTrezor 那句近乎理所当然的追问,到Justin Moon“造硬件钱包是理解私钥的绝佳方式” 的教学初心,再到 Specter-DIY、SeedSigner、Krux 各自独立生长七年后终于在圣保罗握手言和、共享同一份代码库 —— 这条脉络背后始终是同一种密码朋克式的自我救赎:不相信任何单一供应链、单一厂商、单一芯片能被无条件信任,唯一的答案是把知识和工具彻底开源,让每个愿意动手的人都能自己验证,也让不同的团队在完全没有商业竞争压力的前提下,自由地互相借鉴、彼此成就。DIY 硬件签名设备的历史,从来不是几台设备名字的罗列,而是比特币社区面对信任危机时,一次又一次用开源代码、几十美元的电子元件,以及最终,彼此之间的信任本身,给出的回答。
(完)
参考文献
[1]:https://github.com/kdmukai/article-diy-signing-device-summit/blob/main/article.md