解密密码:识别 Satoshi Nakamoto 的取证方法
Satoshi Nakamoto,比特币的匿名创造者,其身份仍然是数字时代最大的谜团之一。虽然许多揭露 Satoshi 的尝试都依赖于语言分析或社会工程学,但一种新的技术方法表明,答案可能就隐藏在显眼之处——具体来说,就隐藏在原始比特币白皮书的元数据中。
通过利用遗留软件留下的取证痕迹,研究人员正试图对创建白皮书的环境进行逆向工程,以提取可能具有识别性的 Windows 用户名。
取证前提:OpenOffice 与 PDF 元数据
这项调查的核心在于 OpenOffice PDF 导出器的特定怪癖。当 OpenOffice 将文档导出为 PDF 时,它会在元数据中包含一个哈希值,该哈希值结合了 PDF 保存的文件路径。
从历史上看,人们认为破解这个哈希值是一个无法解决的问题。要成功猜测哈希值,理论上需要知道:
- 确切的文件目标路径。
- 使用的特定 Windows 版本(例如,XP 与 Vista),因为目录结构不同。
- 文件是否保存在用户目录中。
- 文件保存的确切毫秒数。
然而,最近的分析表明,搜索空间比之前认为的要小得多。
缩小搜索空间
为了使暴力破解攻击变得可行,研究人员根据在 Satoshi 早期发布版本中发现的证据应用了几个约束条件。
1. 操作系统与软件环境
有压倒性的证据表明 Satoshi 使用了 Windows XP Service Pack 2。这得到了早期比特币发布版本中的截图以及 Satoshi 本人提到过缺乏在 Windows Vista 上的测试的支持。此外,对早期比特币发布版本使用的 .rar 文件的分析表明,它们是由早于 3.62 版本(2006 年 12 月发布)的 WinRAR 生产的,这表明该环境早于比特币项目的正式启动。
2. 毫秒问题
虽然时间戳包含毫秒,但研究人员发现 Windows XP 硬件通常通过 SYSTEMTIME 使用 64 刻度定时器。这使得可能的毫秒值从 1,000 个减少到 65 个,从而在破解过程中提供了 15 倍的加速。
3. 路径名称捷径
最关键的突破之一是意识到 OpenOffice 并不对用户提供的最终目标路径进行哈希处理。相反,它会对导出过程中创建的临时文件路径进行哈希处理。
在 Windows XP 上,这些临时文件存储在 %TMP% 目录中。由于 Windows 处理长文件名的机制(8.3 文件名约定),路径会被截断和简化(例如,C:\Documents & Settings\... 变为 C:\DOCUME~1\...)。这种截断极大地降低了用户名的熵,使得遍历潜在候选人变得更加容易。
技术执行
为了执行搜索,研究人员利用了高性能计算栈:
- 定制内核: 一个针对这种特定路径结构优化的 Hashcat MD5 内核。
- LLM 辅助: 使用 ChatGPT 生成用于 CUDA 端口中真实用户名组合的模板实例化。
- 分布式计算: 使用
vast.ai可中断的 GPU 实例来处理数百万个潜在用户名。 - WebGPU 实现: 创建了一个 WASM blob,允许求解器在任何支持 WebGPU 的浏览器中运行,从而可能实现计算能力的众筹。
反对观点与伦理考虑
尽管技术上可行,但该项目引发了社区内的辩论。批评者认为,这项工作从根本上是有缺陷的或在伦理上存在疑问:
- 隐私悖论: 一些人认为,像 Satoshi 这样注重隐私的人绝不会使用自己的真实姓名作为 Windows 用户名,很可能使用假名或随机字符串来避免这种精确的取证泄露。
- 匿名权: 几位观察者质疑这项搜索背后的动机,建议 Satoshi 故意保持匿名,而揭露其身份可能会使其陷入危险。
"Someone aware of computer security will not use their name as windows user."
当前进展
迄今为止,搜索已经排除了几种可能性。研究人员已经确认 Satoshi 没有使用 Linux,并且 Windows 用户名不是四个字符或更短,也不是在标准字典或 2009 年 Wiktionary 中常见的名称。
虽然搜索尚未产生结果,但这种方法论证明了遗留软件的痕迹可以被武器化,以揭示揭示数十年之久的文件中的身份,将一个被遗忘的 PDF 导出怪癖转变为一场数字追捕。