weblottery-turbo: Brute-force Bitcoin private key search in the browser(weblottery-turbo:浏览器里的比特币谜题私钥暴力搜索)
weblottery-turbo: Brute-force Bitcoin private key search in the browser(weblottery-turbo:浏览器里的比特币谜题私钥暴力搜索)
📅 2026-09-16 | 🏷️ Web3 & Crypto | ⭐ 3(7 天窗口,2026-09-10 创建)
🔗 原文:https://github.com/lmajowka/weblottery-turbo
是什么
一个把比特币私钥暴力搜索搬进浏览器的工程项目:单文件 Rust crate 实现 secp256k1 引擎,编译成 WebAssembly 后由 Web Workers 在 CPU 每个核心上并行扫描,预设目标是著名的「1000 BTC 谜题」的 160 个钱包地址。纯静态页面、无服务器、数据不出本机——3 星的小项目,却是一堂教科书级的椭圆曲线密码学工程优化公开课。
🔍 小白解读
先说几个词
- 私钥/地址:私钥是一个极大的随机数,地址是由它一步步哈希「压」出来的公开账号。谁握有私钥,谁就掌控该地址的币。
- 暴力搜索:一个一个试私钥直到撞出目标地址——理论上可行,实际范围大到天文数字,除非范围被人为缩小。
- 1000 BTC 谜题:2019 年有人把 1000 枚比特币分装进 160 个地址公开悬赏,第 N 个地址的私钥被刻意限制在 [2^(N-1), 2^N-1] 区间内——难度随序号指数上升,是一份公开的密码学考卷。
- WASM(WebAssembly):让 Rust/C++ 这类编译型语言跑在浏览器里、速度接近本机的技术。
- 点加法(P+G):椭圆曲线上的核心运算。妙处在于:相邻私钥的公钥之间恰好差一个固定步长,于是「算 1 万次乘法」可以变成「1 次乘法 + 9999 次加法」。
这篇到底在说什么
谜题钱包之所以「安全」,靠的只是密钥空间巨大;而作者把「试密钥」这件粗活做到了浏览器里的极致。工程上有三个漂亮的点:第一,批量热路径——相邻私钥的公钥只差一次点加法,于是每个区间只需一次真正的标量乘法,之后全是廉价的加法;第二,批量求逆——把点坐标转回标准形式需要昂贵的「模逆运算」,作者用批量归一化技巧 256 个一组摊销,整体相对朴素写法快约 50 倍,笔记本上跑出可观的每秒扫描数;第三,调度设计——主线程按核心数分发区间、区间大小自动调节到约 150ms 一片,保证「停止」按钮即点即停、多核永不重叠,每命中一次都重新独立推导验证防作弊。安全性同样设计到位:静态页面、无后端、密钥搜索全在本机完成。它还内置教学路径:加载已解出的 20 号钱包从区间起点扫,不到一秒就能看到完整流程跑通。
这跟普通人有什么关系
它直观演示了两件事:你的比特币「安全」不是因为没人试,而是因为密钥空间大到试不完;以及任何「缩小范围」的随机数(弱熵、有规律的私钥)都可能被算力碾压——普通人用钱包时那些「别用脑补出来的私钥」的忠告,背后就是这个数学现实。
为什么值得架构师关注
- WASM 密集计算的参考实现:Rust→WASM + Workers 池 + 自适应任务分片(~150ms/片)+ 主线程队列的完整组合,可直接复用到任何浏览器端重计算场景(签名验证、数据校验、本地加密)。
- 密码学工程优化教材:「连乘转连加」「批量模逆」是椭圆曲线运算优化的经典手法,做钱包、节点、验证器相关开发时是实打实的性能抓手。
- 安全演示的现成素材:向非技术干系人解释「为什么 256 位密钥安全」「为什么弱随机数危险」,没有比让 TA 亲眼看暴力搜索慢得绝望更有说服力的方式。
核心内容
- 引擎为单文件 Rust crate,导出 private_key_to_address(secp256k1→SHA-256→RIPEMD-160)与 search_batch 两个函数,编译为 WASM 运行于 Web Workers,每核一个 worker。
- 热路径优化:相邻私钥公钥呈等差关系(P+G),每批仅一次标量乘法 + 逐密钥点加法;模逆通过批量归一化 256 个一组摊销,合计较朴素循环快约 50 倍。
- 调度:Stimulus 控制器按选定核心数并行,主线程队列分发密钥区间,区间大小自动调节至约 150ms,保证即时停止与无重叠;每个命中结果重新独立推导验证。
- 内置「1000 BTC 谜题」160 个钱包预设:第 N 钱包私钥位于 [2^(N-1), 2^N-1];已解钱包从区间下界回扫(如 20 号钱包亚秒级完成),作为流程演示。
- 纯静态页面、无服务器、无数据外传;创建 6 天 3 星,为个人技术项目。
行动建议
仓库本身「了解即可」,不适合作为生产工具(3 星、无社区验证),但两件事值得抽取:一是把 Rust→WASM 多核并行 + 自适应分片的骨架移植到有真实需求的浏览器端计算场景;二是把椭圆曲线批量优化的思路带给做签名/验证性能的同事。合规提醒:谜题地址的「求解」在多数辖区法律地位模糊,任何涉及他人持有地址的扫描行为都有法律风险,仅建议在谜题公开预设与自建测试场景中研究。