Fundamentals ·

BIP39 详解:2,048 个单词如何保护您的加密资产


如果您曾经设置过加密货币钱包,一定被要求写下 12 个或 24 个单词。这些单词并非随机从字典中抽取的词汇。它们来自一个名为 BIP39 的精确标准——Bitcoin Improvement Proposal 39(比特币改进提案 39)——该标准的每个细节,从单词数量到每个单词的选择方式,都是为了让您的加密资产尽可能安全且便于携带。

本指南将从基础开始拆解 BIP39:熵如何变成助记词,为什么词表恰好包含 2,048 个条目,以及当您将这些单词输入钱包时,幕后发生了什么。

什么是 BIP39?

BIP39 是 2013 年发布的一个规范,定义了如何将随机二进制数转换为人类可读的单词列表——即助记词——然后将该助记词转换为用于派生加密密钥的二进制种子。

在 BIP39 之前,钱包备份是原始的十六进制字符串:类似 5e884898da28047151d0e56f8dc... 的 64 字符序列。手动复制这些字符串既繁琐又容易出错。一个字符的错误就会使备份变得无用。

BIP39 通过将相同的随机字节映射到常见的英文单词来解决这个问题。您不再需要复制十六进制,而是写下类似"abandon ability able about above absent absorb abstract..."的单词——这些单词更容易阅读、验证和存储在纸上或金属上。

BIP39 的三个目标是:

  1. 人类可读性 —— 单词比十六进制更容易抄写、检查和记忆。
  2. 错误检测 —— 内置的校验和可以捕获抄写错误。
  3. 确定性派生 —— 相同的单词总是生成相同的主种子,无论您使用哪种钱包软件。

128 位熵生成 12 个单词

BIP39 助记词的安全性始于——由密码学安全随机数生成器(CSPRNG)生成的纯随机性。熵的数量决定了您获得多少个单词:

熵(位) 校验和(位) 总计(位) 单词数
128 4 132 12
160 5 165 15
192 6 198 18
224 7 231 21
256 8 264 24

最常见的配置是 12 个单词的短语(128 位)和 24 个单词的短语(256 位)。

以下是 12 个单词短语的逐步过程:

  1. 生成 128 个随机位。 这是原始熵。在现代系统上,这种随机性来自操作系统的 CSPRNG——例如浏览器中的 Web Crypto API 或 Linux 上的 /dev/urandom
  2. 计算校验和。 对这 128 位进行 SHA-256 哈希运算。哈希的前 4 位成为校验和。
  3. 拼接。 将这 4 位校验和附加到原始 128 位之后,得到 132 位。
  4. 分割为 11 位一组。 将 132 位分成十二个 11 位的组。
  5. 映射到单词。 每个 11 位的组是一个 0 到 2,047 之间的数字。使用该数字作为 BIP39 词表的索引。

结果是 12 个英文单词。

128 位有多安全?共有 2^128 种可能的组合——大约 3.4 x 10^38。换个角度来看,即使地球上的每台计算机每秒尝试一万亿次组合,也需要大约 10^14 年才能穷尽整个空间。要深入了解为什么暴力破解助记词是不切实际的,请参阅 2026 年助记词暴力破解分析

2,048 个单词的词表和校验和

为什么恰好是 2,048 个单词?因为 2,048 = 2^11。每个单词恰好编码 11 位数据,使得二进制和单词之间的转换简洁且可逆。

官方的英文 BIP39 词表经过精心筛选,具有以下特性:

  • 没有短于 4 个字符的单词。 这避免了歧义。
  • 每个单词的前 4 个字符是唯一的。 您可以在不产生冲突的情况下使用缩写——"abso"明确指代"absorb"。一些硬件钱包利用这一点来加速输入。
  • 排除了相似的单词。 词表避免了像"woman"和"women"这样仅相差一个字母的配对。
  • 单词按字母顺序排列。 这使得查找更高效。

BIP39 词表存在多种语言版本——英语、日语、韩语、西班牙语、中文(简体和繁体)、法语、意大利语、捷克语和葡萄牙语。英文词表是目前使用最广泛的,但该标准与语言无关。要探索所有可用的词表,请参阅 BIP39 全语言词表

校验和捕获错误

嵌入在最后一个单词中的校验和是 BIP39 最实用的功能之一。如果您不小心写错了一个单词,或者调换了两个单词的顺序,当您尝试恢复钱包时,校验和几乎肯定会失败。

对于 12 个单词的短语,校验和是 4 位。这意味着只有 1/16 的随机修改短语能通过校验和测试。对于 24 个单词的短语,校验和是 8 位,因此只有 1/256 的错误短语看起来有效。这不是保证——它是安全网,不是锁——但它能捕获绝大多数的抄写错误。

您可以使用离线工具验证助记词校验和,而无需将其暴露在互联网上,例如 SafeSeed 上的 Bitcoin 助记词生成器,它完全在您的浏览器中运行。

从助记词到主种子

拥有 12 个单词并不是过程的终点。钱包不会直接使用助记词作为加密密钥。相反,助记词通过一个名为 PBKDF2 的密钥拉伸函数转换为 512 位二进制种子。

转换过程如下:

  1. 助记词单词被连接成一个字符串(以空格分隔)。
  2. 通过在可选密码前加上字符串"mnemonic"来创建盐值。如果没有设置密码,盐值就是字符串"mnemonic"。
  3. 应用 PBKDF2-HMAC-SHA512,迭代 2,048 次,生成 512 位种子。

该 512 位种子随后用于派生 HD 钱包树的主私钥和链码。从这单个主密钥,可以在多个区块链上生成无限数量的子密钥——以及对应的地址。

可选密码(有时称为"第 25 个单词")增加了一层强大的保护。相同的 12 个单词配上不同的密码会生成完全不同的钱包。这意味着即使有人发现了您的单词列表,没有密码他们也无法访问您的资金。但是,密码没有校验和:错误的密码会静默生成一个不同的(空的)钱包,而不会产生错误。

有关主种子如何生成子密钥和地址的详细介绍,请阅读 HD 钱包与派生路径详解

BIP39 的跨链应用

BIP39 诞生于 Bitcoin 生态系统,但其应用远远超出了 Bitcoin 的范围。相同的 12 个或 24 个单词可以保护 EthereumSolanaPolygon 以及数十个其他网络上的资金。

链与链之间不同的不是助记词本身,而是在生成主种子之后使用的派生路径。Bitcoin 使用 m/84'/0'/0' 生成原生 SegWit 地址。Ethereum 和 EVM 链使用 m/44'/60'/0'/0。Solana 使用 m/44'/501'/0'/0'。从助记词到种子的步骤在所有地方都是相同的——始终是使用相同参数的 PBKDF2。

这种跨链兼容性是 BIP39 最大的优势之一。单次备份即可保护所有支持网络上的资产。SafeSeed 为多条链提供助记词生成器——BitcoinEthereumSolana——全部使用相同的 BIP39 标准。

也有例外。一些钱包,最著名的是 Electrum,使用自己的助记词方案,与 BIP39 不兼容。Electrum 的方案将版本信息嵌入到助记词本身中,具有不同的权衡。如果您将 Electrum 种子导入 BIP39 钱包(或反之),您将获得不同的密钥。请务必确认您的钱包使用的是哪种助记词标准。

常见错误

理解 BIP39 之所以有价值,正是因为它能帮助您避免代价高昂的错误。以下是最常见的错误:

以数字方式存储助记词

截图、保存文本文件或给自己发送包含 12 个单词的电子邮件会使一切努力付之东流。如果您的设备被入侵,攻击者将获得一切。将助记词写在纸上或冲压在金属上,并以物理方式存储。详细策略请参阅 2026 年冷存储指南

混淆助记词和私钥

一个助记词可以生成多个私钥;一个私钥只控制一个账户。它们不可互换。从 MetaMask 导出私钥并不等于获得了助记词,反之亦然。请阅读助记词与私钥的区别了解详细对比。

在未验证的网站上输入助记词

没有任何合法服务会要求您在联网状态下在网站上输入助记词。模仿钱包界面的钓鱼网站是最常见的攻击方式之一。如果您需要生成或验证助记词,请使用完全离线和客户端运行的工具——SafeSeed 的工具在运行时不会向服务器发送任何数据。

忽略校验和

如果您的钱包告诉您助记词无效,不要强行使用。校验和在告诉您有问题。仔细对照 BIP39 词表检查每个单词。一个常见错误是混淆前四个字母相同但之后不同的单词。

忘记密码

如果您设置了可选密码然后忘记了它,您的资金将无法恢复。密码不会存储在任何地方——它是加密输入的一部分。请像对待助记词本身一样谨慎对待密码。

BIP39 仍然是加密货币领域最优雅的标准之一。它将难以理解的二进制数据转化为人类可以写在纸上并保存在保险箱中的内容——而不会牺牲哪怕一位的安全性。理解它的工作原理是负责任地保护数字资产的第一步。