原文来源:Max He@Safeheron Lab
近期,加密货币社区广泛讨论一则重磅消息:美国执法部门疑似已掌握 2020 年那次神秘转移的约 12 万枚比特币私钥,价值高达 150 亿美元。据 Elliptic 报告显示 [1],这些资产最初与矿池 Lubian.com 存在关联,后被美国司法部正式没收。外界普遍推测,执法机构可能利用了钱包生成时的随机数缺陷来重建或接管私钥,也有观点认为这是美国政府主导的一次技术破解行动。
此消息传出后,在整个加密货币行业引发了强烈震动,迅速成为业内焦点话题。不仅在技术和安全层面掀起了广泛讨论,更让投资者对加密资产的可靠性与风险防范产生了新的忧虑。本文将从技术与事实的双重视角出发,对该事件及其背后的安全根源进行系统性梳理,深入解析关键技术细节,全面回顾事件演变脉络,并探讨其可能带来的深远影响。
随机数与私钥安全:区块链世界的生命线
在区块链的世界里,随机数堪称加密安全的基石。每一个比特币或以太坊钱包的私钥,都由随机数来生成——一旦随机数缺乏足够的「随机性」,黑客就有可能预测出私钥,进而直接窃取数字资产。为了有效规避这种风险,钱包必须采用密码学安全随机数生成器(CSPRNG),以确保生成的随机数真正做到不可预测、不可重现。
那些依赖不安全随机算法的钱包,表面上看似正常运作,实际上却暗藏隐患:一旦随机性被成功预测,资产损失将变得不可逆转。
历史重演:多起重大安全事件的启示
2022 年至 2023 年期间,因相同的随机数漏洞引发的多起重大安全事件相继被披露,充分暴露了这一问题的严重性和广泛性。
安全事件 1:Wintermute 损失 1.6 亿美元的惨痛教训
2022 年 9 月 20 日,知名做市商 Wintermute 遭遇重大安全事故,约 1.6 亿美元的数字资产被盗 [2]。攻击者巧妙利用了地址生成工具 Profanity 的弱点——该工具在部分用法中依赖 Mersenne Twister(MT19937)作为伪随机数源来生成「靓号地址」。
由于 MT19937 的输出在缺乏充分熵注入的情况下具有可预测性,攻击者得以重现部分地址/私钥生成流程,从而成功计算出对应私钥并转移资金。此案成为加密史上首例因随机数误用导致机构级钱包被攻破的标志性事件,标志着随机性问题已从单纯的开发者疏忽演变为系统性安全风险。
关于此次攻击,Safeheron 当时撰文分析了详细的攻击技术细节,并复现了攻击过程。[3]
安全事件 2:Trust Wallet 随机数漏洞引发的信任危机
2023 年 4 月,安全研究者发现 Trust Wallet 浏览器扩展版(版本 0.0.172–0.0.182)在生成钱包助记词时使用了非密码学安全的随机函数 [4],其底层同样依赖 Mersenne Twister(MT19937)伪随机数算法(如下图所示),随机空间仅约 2^32 种可能性,远远不足以抵御穷举攻击。
攻击者可以在有限时间内枚举所有可能的助记词组合,从而重建私钥并盗取用户资产。Trust Wallet 官方随后发布公告,正式确认漏洞存在并紧急提醒受影响用户及时迁移资产。根据项目社区论坛的官方声明,该漏洞已导致约 17 万美元的潜在损失,原因是攻击者可能成功利用这一漏洞实施了针对性攻击。
此事件成为首个影响主流钱包终端用户的随机数漏洞案例,也让「随机数安全」问题首次引发大规模的公众关注。
安全事件 3:Libbitcoin Explorer (bx seed) 弱随机数事件
2023 年 8 月,安全研究团队 Distrust 宣布发现命令行工具 Libbitcoin Explorer (bx) 3.x 版本存在严重的随机数漏洞 [5]。该工具在执行 bx seed 命令生成钱包种子时,内部同样使用 Mersenne Twister(MT19937)伪随机数生成器,并仅以系统时间作为种子来源,导致随机性极低、输出可预测。攻击者可在有限时间内枚举全部种子值,从而重建钱包私钥并直接窃取资产。
该漏洞影响所有使用 Libbitcoin Explorer 3.x 生成钱包的用户,以及依赖 libbitcoin-system 3.6 库的相关应用。截至 2023 年 8 月,已有超过 90 万美元的加密货币资产因该漏洞被盗 [6]。漏洞披露后被正式登记为 CVE-2023-39910。
尽管 Libbitcoin-explorer 已经及时打上了正确的安全补丁,但事情并没有就此结束。
浮出水面的巨大冰山
在 Libbitcoin Explorer 3.x 安全事件披露后,由 Distrust 团队牵头的白帽研究者成立了 MilkSad 项目,持续追踪漏洞影响并推动社区响应。
到 2024 年,研究者们首次系统性地梳理了这些「弱钱包」的生成机制、钱包类型以及伪随机数生成器(PRNG)的配置方式 [7],并揭示出它们与比特币矿池 Lubian.com 之间的潜在关联以及相关资金的分布特征。
2025 年,在一位匿名白帽研究员提供的关键线索帮助下,长期停滞的分析工作取得了突破。MilkSad 团队发现受影响的软件在生成私钥时引入了一个新参数——PRNG 偏移量(offset),这一发现使研究者得以重新关联此前分散的钱包群体,揭示出背后统一的随机数生成模式。这一发现成为理解整个「弱钱包」事件成因的关键所在 [8]。
根据团队的进一步深入分析,2023 年最初发现的 2,630 个问题钱包仅仅是整个冰山的一角。通过在 PRNG 输出的不同区段进行搜索,研究者现已成功重构并识别出超过 227,200 个独立钱包(如下图所示),这些钱包均在主网上存在有效使用记录,构成了迄今为止规模最大的「弱随机钱包」群簇。
链上数据显示,这批由随机数缺陷生成的钱包共持有约 13.7 万枚比特币(BTC)。在 2020 年 12 月 28 日短短两小时内,这些钱包被集中清空,余额从 13.7 万枚骤降至不足 200 枚,其中约 9,500 枚 BTC 流向矿池 Lubian 的付款地址,其余约 12 万枚 BTC 被推测转入攻击者控制的钱包。所有可疑交易均使用相同手续费,呈现明显的自动化批量转移特征。
此事后来又出现了新的重要线索,进一步印证了这起大规模被盗事件的真实存在 [9]。研究者在比特币主网上发现,部分受害钱包在 2022 年 7 月 3 日和 2024 年 7 月 25 日仍有异常的交易活动。这些交易通过 OP_RETURN 机制嵌入了完全相同的信息:
「MSG from LB. To the whitehat who is saving our asset, you can contact us through 1228btc@gmail.com to discuss the return of asset and your reward.」
研究者推测,「LB」可能代表 Lubian.com,而「saving our asset」或指向 2020 年 12 月 28 日那次大规模资金转移事件。这些消息被多次广播到不同地址,似乎是 Lubian 方面试图与掌握资产的「白帽」建立联系,商讨资产返还及奖励的公开尝试。
不过,由于这些钱包的私钥早已处于泄露状态,理论上任何人都可以从这些地址发起交易或写入消息,因此目前仍无法确定性地确认这些信息是否真正出自 Lubian 团队,还是一场误导性或恶作剧式的操作。
至此,冰山的主体终于浮出水面——这场因随机数缺陷引发的系统性漏洞,已经发展成为比特币历史上规模最大、影响最深远的安全事件之一。
技术细节:暴力攻破 22 万个 BTC 钱包的完整过程
那么,这 22 万个 BTC 弱随机钱包是如何生成的呢?让我们详细介绍具体的技术搜索过程 [8]
第一步:选择相同的伪随机数生成器(PRNG)MT19937 来生成随机数。再次强调,该 PRNG 完全不具备密码学安全性。
第二步:采用极低熵种子(0~2^32-1)来初始化 MT19937。这些 BTC 钱包私钥能被如此快速地推测出来,低熵种子是最大的罪魁祸首。
第三步:MT19937 每轮输出一个 32 位整数,但并不全部使用,仅选用最高 8 位,也就是说每轮 MT19937 将得到一个字节。
第四步:引入 OFFSET 这个特征,以扩展私钥范围。须知 BTC 中的私钥种子为 32 字节(等同于 24 个助记词,即 256 bit),这 32 个字节由第(32* OFFSET)轮到第(32 * OFFSET + 31)轮获得,从而生成 BTC 私钥种子。须知 BTC 中的私钥种子是 32 字节,具体来说:
(1)第 0 ~ 31 轮,输出 32 字节私钥。
(2)第 32 ~ 63 轮,输出 32 字节私钥。
(3)第 32 * 2 ~ 95 轮,输出 32 字节私钥。
(4)以此类推,OFFSET 最多可取到 3232。
第五步:在私钥种子的基础上,使用公开的 BIP32 钱包派生算法,采用派生路径 m/49'/0'/0'/0/0 派生子公私钥对。
第六步:基于子公钥,生成前缀为 3 的 P2WPKH-nested-in-P2SH 类型钱包地址。
第七步:如果生成的地址在链上确实有使用记录,说明成功找到了弱随机数钱包,记录下其钱包地址和对应私钥。
以上整个搜索过程都是确定性的,唯一的变量在于低熵种子的选择,共有 2^32 种可能性,这远远低于 BTC 标准私钥空间的 2^256,因此可以通过暴力搜索的方式获得所有 22 万个弱随机钱包及其对应私钥。
完整故事的来龙去脉
让我们完整梳理一下整个事件的发展脉络。
早在数年前(最早可追溯至 2018 年),一些数字资产项目在开发过程中错误地引入了不具备密码学安全性的伪随机数生成器(PRNG),并将其应用于钱包私钥生成这一极度敏感的环节。由于当时开发者缺乏对密码学安全性的理解,这一错误在当时并未被发现,却为后续的大规模漏洞埋下了安全隐患。
不幸的是,随着时间推移,这一问题逐渐被黑客发现并恶意利用。不同的攻击团体先后基于相同原理发动了多起知名攻击事件——包括 Wintermute 被盗、Trust Wallet 随机数漏洞事件、以及 Libbitcoin 弱钱包事件等。这些攻击合计造成了数亿美元的资产损失,也让「随机数安全」这一原本被忽视的技术细节成为行业焦点。
研究者在分析这些事件的共性时,发现所有受害钱包均存在相似的随机性缺陷,并进一步追溯到更早的 Lubian 矿池被盗事件。经过深入研究,他们确认 Lubian 使用的钱包同样依赖不安全的随机数生成机制,是这类「弱钱包」群体的一部分。随后的系统化分析揭示出更惊人的事实:整个网络中共有约 22 万个弱随机钱包,涉及总金额 12 万个 BTC,构成了迄今为止规模最大、影响最深远的随机数安全事件。
至于外界流传的「美国司法部主导了 Lubian.com 被盗事件」的说法,主要源于一个微妙的事实:在司法部正式介入处理相关资产的过程中,原本长期处于静止状态的 Lubian 关联比特币地址突然发生了大规模的资产转移,这一时间节点的重合链上地址的直接关联令众多观察者产生怀疑,认为政府方面可能采用暴力破解手段来恢复相关私钥。也存在另一种可能——美国政府并未直接暴力破解私钥,而是控制了持有私钥的个人或实体,从而促成了资金转移。
尽管这批钱包属于可被攻破的弱随机钱包,其私钥在理论上确实可以通过技术手段重现,但截至目前,仍然无任何公开且可验证的证据表明,美国政府主导了针对相应私钥的「暴力破解」行动。除非相关机构正式公开承认技术介入的事实,否则整个事件的真实过程仍将笼罩在谜团之中。
如何获得密码学安全的随机数?
如今我们已经认识到安全随机数的重要性,那么在实际开发和应用中应该如何正确获取呢?需遵守以下几个原则:
(1)优先使用操作系统提供的安全接口,以系统熵池为基础生成随机数。
(2)在具备条件时使用安全硬件熵源,如 Intel SGX CPU 的硬件随机数指令。
(3)在 MPC 场景下,可融合多方熵源以提升整体安全性,例如将 Linux 系统熵池 与 Intel SGX CPU 的硬件随机数 结合使用,从而避免单一熵源失效或被预测的风险。
(4)采用经过广泛验证的密码学库中的安全随机数生成接口,如 libsodium、BoringSSL、OpenSSL 等。
(5)保证种子熵不少于 128–256 bit,禁止使用时间戳、进程号等低熵源作为种子。
(6)严禁使用非密码学安全的伪随机数生成器(非 CSPRNG),例如 Mersenne Twister (MT19937)、Math.random()、rand()。
MPC 的多源熵融合优势
与单方系统相比,MPC 具备天然的熵融合优势:每一参与方都可独立提供随机熵源,最终的随机结果由各方共同生成。只要其中任意一方保持诚实,整个系统的随机性便无法被预测或操纵。这种多源随机结构显著提升了系统的整体安全性与抗篡改性,是 MPC 协议在安全性上的核心优势之一。
Safeheron 基于 MPC 与 TEE 技术构建了数字资产安全存管协议。在该方案中,MPC 协议的各参与方采用多种独立的安全熵源,包括 Linux 系统熵池以及 TEE 硬件熵源(如 Intel SGX 硬件随机数指令)等。这种多源熵融合机制不仅强化了系统的安全边界,也为构建可信执行环境(TEE)与分布式签名体系奠定了更高的安全基线。
结语
这场看似神秘的「12 万枚比特币失窃」事件,揭示的并非某种算法被攻破,而是早期开发者在私钥生成过程中误用了非密码学安全的随机数算法,从根源上削弱了整个系统的安全性。
加密资产的安全最终取决于密码学实现的严谨程度,任何细微的工程疏漏,都可能被黑客成功利用,并最终决定数字资产的归属。唯有从源头确保随机数安全,使用受信任的熵源与经过验证的密码学库,才能让「随机」回归其本意——不可预测,亦不可篡改。
关于 Safeheron Lab
Safeheron Lab 由 Safeheron 首席科学家 Max He 领衔创立,团队汇聚密码学与安全领域的国际化专家,专注于区块链安全与可信计算等前沿方向的基础研究。Safeheron Lab 与图灵人工智能研究院等合作伙伴携手,推动成果转化与产业应用,为数字资产安全提供创新解决方案。
参考文献
[1] $15 billion seized by US originates from Iran/China bitcoin miner "theft"
[2] How Crypto Trading Firm Wintermute Was Hacked For $160 Million
[3] 密码学团队硬核解析:Wintermute 遭黑客攻击损失 1.6 亿美金背后密码技术详解
[3] A Deep Dive of HOW Profanity Caused Wintermute to Lose $160M
[4] Trust Wallet: CVE-2023-31290 Detail
[5] Libbitcoin Explorer: CVE-2023-39910 Detail
[6] CZ: Trust Wallet and Binance Wallet do not use Libbitcoin Explorer to generate mnemonics
[7] Update #7 - Billion Dollar Wallet Range, Now Empty
[8] Update #13 - Discovering Over 224k New Wallets
[9] Update #14 - More Information on Suspected Lubian.com Hack
本文来自投稿,不代表 BlockBeats 观点。
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。