一款名为“Entropy32 Plus”的开源硬件项目近日亮相,其核心创新在于利用放射性衰变产生的物理随机性来生成比特币种子短语(Seed Phrase)。该设备完全离线运行,不具备任何无线连接功能,且不存储种子数据,从而在物理层面确保了安全性。
该项目的核心理念基于物理世界的不可预测性。传统的软件随机数生成器本质上是确定性的,即在相同输入下必然产生相同的输出。相比之下,放射性衰变事件的发生间隔由量子力学决定,具有真正的随机性且无法预先预测。这种物理熵源为密钥生成提供了更高的安全保障。
在硬件实现上,设备通过3.5毫米音频接口连接盖革计数器,以检测来自放射源或背景辐射的衰变脉冲。随后,LM393比较器将原始电压信号转换为清晰的高电平或低电平读数,该转换过程采用固定在0.5V附近的偏置点以保证一致性。固件捕获连续脉冲之间的时间间隔,并将这些数据输入SHA-256条件处理阶段,以消除统计偏差并“漂白”原始熵数据。最终,处理后的熵被映射到标准的2048词BIP39英文词表中,生成助记词。
整个流程由基于ATmega328P微控制器的定制PCB板执行,并配合小型OLED显示屏和按钮驱动界面进行本地操作。除了板载固件外,无需其他软件即可生成或查看完整的种子短语。开发者强调,该设备设计简单、可审计,且任何拥有常见组件的人均可自行构建。
由于受限于低功耗微控制器的内存容量,该项目在工程设计上做出了诸多取舍。编译后的固件占用了芯片30,720字节闪存中的30,006字节,仅留下不足1,000字节的余量用于未来的代码更新。
BIP39词表本身占据了13,117字节的空间,约占程序总存储量的43%。SHA-256压缩例程增加了2,278字节,而状态机和菜单逻辑则占用了约3,000字节。鉴于词表占用空间巨大,常规的显示库无法同时容纳。因此,项目未能使用广泛流行的Adafruit_GFX和Adafruit_SSD1306库,而是改用U8x8库的文本来模式与OLED屏幕通信,以节省内存资源。
该开源仓库包含了完整的Arduino代码、SHA-256实现方案、KiCad原理图,以及用于制造设备的 fabrication 文件和3D打印外壳设计。然而,开发者指出该构建属于实验性质,尚未经过独立审计。文档中明确提示,用户应自行验证熵源质量,否则需自行承担风险。截至目前,其熵质量尚未通过NIST SP 800-90B标准方法的验证。