脑钱包

brainwallet是一种从人们试图记住的信息中派生加密货币密钥的方法。在其经典的比特币形式中,用户选择一个单词、引文或密码并对它进行哈希处理以获得私钥。这种方法是不安全的,因为人类选择的文本的不可预测性远低于加密密钥,并且攻击者可以在不与所有者交互的情况下进行测试。
该术语有时也用于记忆钱包生成的恢复短语。这是一种不同的结构:恢复短语对钱包软件生成的随机熵进行编码,而经典的脑钱包则以用户选择的单词开始。依靠内存作为唯一的备份仍然会带来永久丢失的严重风险。
安全警告:不要创建或资助经典的脑钱包。不要在网站上测试真实的密码、恢复短语、种子或私钥。文章、视频、源代码或演示中发布的示例必须被假定受到损害。
经典脑钱包的工作原理
早期的脑钱包工具通常将 SHA-256 等哈希值应用于用户选择的短语,并将结果解释为比特币私钥。然后可以确定地计算关联的公钥和地址。该过程不需要存储密钥文件,这使得它看起来可以防止设备丢失或被盗。
该设计将安全问题转移到了记忆的短语上。攻击者可以组装字典、引文、歌曲标题、泄露的密码、拼写变体、键盘模式和特定语言的单词列表;导出每个候选密钥;并检查公共区块链的资金情况。这些猜测是离线高速执行的。一个长的或看起来不寻常的句子不一定是不可预测的,并且添加一些替换或标点符号并不能提供可测量的密码熵。
被利用的证据
Vasek、Bonneau、Castellucci、Keith 和 Moore 对比特币脑钱包的使用进行了大规模研究。在评估了大约 3000 亿个候选密码并排除研究活动后,他们确定了 2011 年 9 月至 2015 年 8 月期间使用的 884 个脑钱包。除了 21 个之外,所有脑钱包都已被耗尽;许多在几分钟内就被清空,大多数在 24 小时内被清空。研究人员观察到多个耗尽者竞相花费弱密钥的资金。[1]
Ryan Castellucci 在 DEF CON 23 上公开演示了该攻击模型,并发布了 brainflayer,这是一种概念验证工具,使用比特币的 secp256k1 公钥派生来测试候选短语。[2]该工具并没有破坏比特币的密码学:它自动从人类选择的更小空间中进行猜测。
为什么强化哈希还不够
后来的一些设计添加了盐或难以记忆的密码推导函数,使每次猜测的成本都更高。当正确指定和实施此类控制时,此类控制可以显着减缓攻击者的速度,但它们不会使可预测的短语等同于均匀随机的秘密。它们的保护取决于短语、参数、salt、实现和攻击者的资源。
自定义方案增加了另一个风险:如果忘记了确切的规范化、字符编码、大写、盐或参数,则相同的单词可能会派生出不同的密钥。私人构建也可能很少受到审查,并且在其软件消失后无法复制。出于这些原因,“硬化脑钱包”不应被视为安全生成的钱包熵和经过测试的备份的替代品。
恢复短语不同
BIP 39 恢复短语对钱包生成的 128 至 256 位熵加上校验和进行编码,并使用 PBKDF2-HMAC-SHA512 派生种子。该规范明确将这些单词描述为计算机生成的随机性的传输,而不是处理用户创建的句子的方式。[3]其他钱包使用不同的恢复代码方案。在所有情况下,安全性都来自钱包的随机熵和经过审查的推导过程,而不是来自发明令人难忘的单词的人。
掌握比特币在此基础上区分恢复代码和脑钱包:恢复词是由钱包随机创建的,而脑钱包词是由用户选择的。[4]恢复短语是完全秘密的备份,绝不能泄露。
可选的 BIP 39 密码为每个输入的值创建不同的种子。因此,它可以提供额外的秘密,但它也会带来另一个永久损失的风险:没有通用的帐户恢复服务,并且不正确的密码可以打开一个看似有效但不同的钱包。不应将其与选择恢复词本身相混淆。
人类记忆和连续性风险
即使是最初具有足够熵的秘密也可能因普通的人类事件而丢失。准确的回忆可能会随着时间、疾病、受伤、压力、衰老、语言的变化或被误解的助记符而改变。仅有记忆的监护也会造成继承困难和丧失行为能力的问题。相反,强制可以推翻这样的假设:记住的秘密没有什么可偷的。
记住钱包生成的恢复材料可能是一种额外的个人保障,但它不应该是唯一经过测试的恢复方法,除非所有者故意接受遗忘、丧失能力、死亡、胁迫和继承失败的风险。持久的计划通常将安全随机生成与冗余、物理保护、经过测试的恢复分开。
更安全的练习
- 使用维护的钱包软件或安全生成熵的硬件签名设备。
- 完全按照指示记录钱包的恢复材料,并将其离线保存在物理保护存储中。
- 切勿拍摄、通过电子邮件发送、上传或粘贴恢复短语到网站、支持对话或人工智能系统中。
- 在依赖备份之前,使用钱包的记录程序和安全环境测试恢复过程。
- 保留恢复所需的钱包类型和其他非秘密元数据。
- 将损失、盗窃、火灾、胁迫、丧失能力和继承视为威胁模型的单独部分。
- 如果经典的脑钱包或公开曝光的示例曾经持有资金,请将其密钥视为已泄露,并将所有剩余资金转移到新生成的钱包中。
历史和教育价值
脑钱包是数学密钥大小和有效安全性之间差异的一个重要例子。比特币的私钥空间非常大,但从共同报价中派生的密钥占据了攻击者优先的一小部分猜测。这一事件还说明了为什么安全声明必须检查熵生成、备份行为、软件兼容性和用户界面,而不仅仅是密码算法。
较旧的教程通常包含工作短语、派生密钥和地址。重复这样的演练几乎没有什么百科全书式的价值,并且会创建一个读者可能会错误地资助的可预测的密钥。有用的教训是攻击模型和历史证据,而不是可重复使用的秘密生成配方。
另见
参考资料
- ↑ Vasek et al., “The Bitcoin Brain Drain: Examining the Use and Abuse of Bitcoin Brain Wallets”, Financial Cryptography and Data Security, 2017.
- ↑ brainflayer source and documentation, released with “Cracking CryptoCurrency Brainwallets,” DEF CON 23, 2015.
- ↑ BIP 39: Mnemonic code for generating deterministic keys, accessed 27 August 2026.
- ↑ Mastering Bitcoin, “Wallet Recovery Codes”, source manuscript, accessed 27 August 2026.