# 干货，加密货币钱包，助记词备份，及其安全详解！

By [Web3Discovery](https://paragraph.com/@web3discovery) · 2022-08-24

---

加密货币世界，是一个黑暗森林，风险非常高，安全永远是第一位的！怎么强调安全都不为过，但是常常被用户忽视。

对很多老手，安全风险都是有预期的，也就是认知中是知道他所做的事情，有哪些方面的安全风险，但仍然由于人性的弱点，对安全重视不够而丢掉自己的加密资产。

常规的交易风险，如剧烈的市场波动、合约爆仓、流动性不足等，交易平台（CEX / DEX）风险，新公链/新应用代码漏洞风险，欺诈风险，这些本文不做讨论。这些风险，大多是市场化的风险，高风险带着可能的高收益。

钱包私钥（或助记词）泄露，这个风险可是基本没有啥收益可言。本文重点讨论【钱包安全】，或者叫【私钥安全】，又或者叫【助记词安全】。

1、助记词、私钥、钱包地址之间的关系
------------------

无论比特币，还是以太坊，还是其他公链，基本都遵循[BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)、[BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki)、[BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki)标准。

BIP32，定义了分层确定性钱包（Hierarchical Deterministic Wallets，简称“HD Wallets”），如下图，父私钥可以派生出子私钥，也就是父私钥能控制其自身以及其派生的子私钥控制的所有资产。

![](https://storage.googleapis.com/papyrus_images/660a3a86be2b722d9432eeb64f3b165dc5bd0fce088aedbf297b6ca8c4d956c9.png)

BIP39，定义了私钥种子（**Seed**，也叫钱包种子）和助记词库的编码。私钥种子的原始形式是二进制串，人很难交互，通过编码成单词，既方便人备份，也方便人传递。

开发人员需要详细了解标准，普通用户确不需要了解的那么多细节。简单起见，先从用户视角说清楚**助记词**、**私钥**、**钱包地址**三者之间的关系。

一个助记词（**Mnemonic**），编码成一个钱包种子（**Seed**），对应着N多个私钥（**Private Key**）；一个私钥对应一个钱包地址（**Address**），如下图。

![](https://storage.googleapis.com/papyrus_images/0209ec4be01421128de2f275d482e1da0d5545b9922643129ec261c6c6a1b0d8.png)

比特币每次在发送的时候，都会有一个新地址接收剩余余额，这些地址都是相同的私钥种子（**Seed**）派生的钱包地址，都受同一个助记词控制，只要你掌握着助记词，你就掌握着所有这些地址的资产，你在接受别人付款的时候，原来的地址继续用于收款，没有任何影响。

2、钱包分类
------

从安全角度分类，钱包分热钱包、冷钱包。知道上面助记词、私钥、钱包地址之间的关系后，很好定义热钱包和冷钱包。

**热钱包**，就是私钥是触网（互联网）的，比如各种钱包软件（包括手机钱包软件、电脑钱包软件、浏览器插件钱包软件），使用的时候导入助记词，那么你这个助记词对应的钱包，就是一种热钱包状态使用了。热钱包因为联网了，助记词和私钥就有更高的泄露风险。因此在使用热钱包的时候，你默认其安全性就是较低的，最好不要放你损失不起的资产量。

**冷钱包**，就是私钥和网络隔离永不触网。也就是助记词在离线情况下生成，并离线保存，并始终和网络隔绝。所以关键点就是，离线生成、离线保存。常见的冷钱包有纸钱包、脑钱包、硬件钱包离线手机钱包等。所谓纸钱包，就是把助记词记录到纸上保存。脑钱包，就是通过各种办法，通过大脑记忆，辅助记住助记词，经验说明，依靠记忆的是很不靠谱的。**硬件钱包**，是私钥存储在特殊硬件中，不触网，就算链接电脑或手机使用的时候，也是将信息送入硬件钱包，钱包返回经过签名的信息，助记词和私钥本身只在硬件钱包里，没有触网。

3、常用钱包选择
--------

比特币钱包，现在链上活动比较少，主要就是转账，存储比特币等，建议用户直接用**硬件钱包**，[比特币官网推荐硬件钱包](https://bitcoin.org/en/choose-your-wallet?step=5&platform=hardware)，推荐的几个硬件钱包品牌，都是老牌子，可以到各自官网去购买。不推荐非官网渠道购买。其中[Ledger](https://shop.ledger.com/?r=9670bbf3cd3b)，钱包软件支持得是最多的，支持的加密货币种类也是最多的。

![](https://storage.googleapis.com/papyrus_images/af83f9ddf79cb5ed5136ee819f51e4623a6b758056c0fbf31bbdbd0a7f643425.png)

如果是节点需求，或者开发需求，可以在比特币官网推荐钱包页面进行选择自己需要的钱包体验。

以太坊，以及支持以太坊虚拟机（EVM）的公链，钱包较多。但是现在使用最多的，应属[MetaMask](https://metamask.io/)，其支持浏览器插件和连接硬件钱包，手机端现在功能比较基础。几乎所有的Dapp，都会支持MetaMask，所以基本能覆盖你的绝大多数需求。如果你有其他需求，可以参考[以太坊官网推荐钱包](https://ethereum.org/en/wallets/find-wallet/)，建议至少打开三个过滤选项，**Open-source**，**Non-custodial**，**Hardware support**，其他过滤项，根据自己情况选择体验。

其他非EVM兼容公链，可以公链官网查看支持的钱包，本文会在文末列出知名公链主要钱包。

4、钱包安全（助记词安全）
-------------

钱包安全，本质是私钥安全，更本质是助记词安全。从上文的介绍中，我们很容易得出助记词安全中，【助记词生成】和【助记词使用】两个环节中，需要注意的安全事项。本节重点讨论【助记词备份】的安全建议。同时参考下图，以获得一个概览。

![](https://storage.googleapis.com/papyrus_images/62572c8815b3a36440bb9e2a07d2990702c744603963d63c0a1b70be9bd5f1d5.png)

### 4.1、助记词备份的威胁模型

我们已经知道，除了输入助记词到使用的设备中，我们还需要备份助记词。保护备份这个事情本身，就是一个非常重要而较有挑战的事情。要知道，为了帮助人们安全地保管自己的32字节的熵，整整一个行业发展起来。

一方面，如果你的备份只有一份，因丢失、被盗、损坏、其他原因无法获得等因素，导致私钥丢失。这就是所谓的“单点故障”问题，为了清除单点故障，我们需要多份备份，**至少应该有两份**。如果使用中的设备可以随时导出助记词，那么这个设备中的助记词，可以算一份备份，否则不能算。

另一方面，如果你的备份很容易被攻击者获得（然后窃取你的数字资产），那么多个备份增加冗余的同时减弱了健壮性，让攻击者更容易获得备份。

备份机密信息，**避免单点故障**、**保持健壮性**，都是两个关键问题，几乎所有的受攻击场景都可以归集于这两个问题。参考下面表格，可以检查你的备份方案，在哪个象限，以及如何改进。

![](https://storage.googleapis.com/papyrus_images/2b49cecc2072b38f792a499c66867ebd3cf3b0974a61e35b1b762e2f57ec9b96.png)

列举一些常见备份方案的缺陷

*   在线保存，攻击者更容易通过网络获得，健壮性弱
    
*   脑钱包、复杂自定义机制，更容易遗忘，而导致单点故障
    
*   备份没有告诉家人，只有一个备份，都会导致单点故障
    
*   纸钱包，集中保存，保存地被损坏或入侵，也更容易单点故障
    

根据历史经验总结，**离线**保存，能大大增强健壮性；在离线保存的前提下，更多的威胁，是来自于单点故障，所以大家要非常重视这个问题。

在你的备份方案中，你需要假设你存放备份之处有可能被入侵，会导致你的备份**丢失**（自己不可获得）或**被盗**（攻击者获得），并在你的脑海里做这样的模拟攻击，来检查你的备份方案的安全性。一般用户，可以考虑一次攻击后，还有一道屏障，可供你在发现被攻击后及时处理，以避免损失。高级用户，如大量资产用户、平台或交易所等，需要考虑更多的安全屏障。下面介绍一些不同等级备份方案，供你参考。

### 4.2、下等备份方案（不推荐）

我们先看看一些常见的应该避免的助记词备份方案。

将助记词存储到网络服务器或联网的设备中，如

*   将助记词拍照片
    
*   将数据同步到云盘
    
*   将助记词作为聊天记录发送保存
    

这些方式都是极其危险的备份方式。

使用“脑钱包”，将自己易于记忆的信息，主动选择一组助记词来作为种子。其实人类是非常匮乏的熵来源。黑产界都会有庞大数量的密码库、助记词库，一直都处在他们的监视之下，一有资产出现，会被立即转走，俗称“撞库”攻击。

有的把助记词分成几个片段，分开保存，但是攻击者获取部分片段，可以展开暴力破解，因为暴力破解难度达到了可完成的程度。

有的自创助记词备份方案，各种算法，但有时候过于复杂，或者没有几个人知道相关信息，也没和你的家人分享，极容易导致单点故障，最终没法获得助记词。

有的会把助记词随机排序，或者随机穿插一些单词。由于助记词有内置校验和（最后一词是用于校验和的），根据已知的有限单词，进行暴力破解，并不困难。

将助记词记在脑子里，是一种非常不靠谱的方案。临时应急记住助记词还可以理解，作为长期策略备份助记词，极易引入单点故障问题。

*   你可能会忘记助记词
    
*   你可能因受伤而想不起来助记词
    
*   你可能会死亡，你的继承人无法获得助记词
    
*   你可能会被胁迫泄露助记词
    

### 4.3、中等备份方案（可选）

助记词密语（**passphrase**），本质上是 24 词恢复短语之外的附加**密码**，你使用该钱包时，必须输入这个密码，这常被称为“第25词密语”。攻击者也必须同时知道助记词和这个密码，才能窃取你的数字资产。这本质上跟2/2多签钱包具有相同的安全模型。但是，你要知道在多签钱包中2/2多签是很冷门的，因为它引入了两个单点故障，两部分中任何一部分丢失，你的资产都将丢失。忘记密语而丢失资产也是十分常见的。如果你要选择这种方案，那么清除单点故障，是你必须解决的问题，通常**可以增加备份副本，来避免单点故障**。

### 4.4、优等备份方案（推荐）

[Trezor的Shamir备份](https://wiki.trezor.io/Shamir_backup)，是一种经过严格审查的SSS标准。该方案缺点之一是没有得到广泛支持。需要通过[Trezor Model T](https://shop.trezor.io/product/trezor-model-t?offer_id=15&aff_id=31868)硬件钱包生成备份和恢复，其他支持该标准的钱包有[Keystone](https://shop.keyst.one/?rfsn=6818757.832dc1&utm_source=refersion&utm_medium=affiliate&utm_campaign=6818757.832dc1)和electrum。

**助记词异或**（[Seed XOR](https://seedxor.com/)），是一个绝佳方案。它是将一个24词的助记词，变成两个或多个助记词，这些助记词都是兼容BIP39标准的助记词，也就是说都是有效的钱包助记词。这些助记词，任意组合，通过异或运算组合出的钱包助记词，也都是有效的钱包助记词。你在备份的时候，将你真正使用的助记词，分解成两个或多个助记词，然后将分解后的助记词备份到你喜欢的物理介质上（推荐**钢板**）。你要恢复的时候，将分解成的所有助记词做异或运算，得到真正使用的助记词。该方案既能带来“第25词密语”和简单分片的安全模型（其实异或运算，每个助记词都保留着同样高水平的熵，安全性更高），又能降低复杂度和合理的推诿说辞（因为每个部分，都是一个有效的钱包助记词）。请注意，该方案本质上，仍然是N/N（如，2/2，3/3）多签模型。**需要通过多分解几组，避免单点故障问题**，以便你在丢失一块助记词，仍然能恢复你真正使用的助记词。需要关注更细节的，请参考[Seed XOR更详细的介绍](https://github.com/Coldcard/firmware/blob/master/docs/seed-xor.md)。当你彻底弄明白这个数学运算（一点都不复杂），你可以通过在草稿纸上做数学运算，进行分解/恢复操作。当然对于没有一点儿二进制计算基础的用户，还是借助[COLDCARD](https://coldcard.com/)硬件钱包来完成分解/恢复吧，购买COLDCARD Mk3就够了，其他不需要购买。

**多重签名**，是一种理想的密钥方案。M/N（M<N）多签钱包，表示N个密钥中，同时获得任意M个密钥，就可以操作钱包资产，而少于M个密钥被攻击者获取，都不能窃取你的数字资产。例如，1/2多签，两把密钥中任意一把都可以打开，这可以避免单点故障，但是健壮性会削弱。**2/3多签**，三把密钥中任意两把一起可以打开，该模式比较常用。**3/5多签**，五把密钥中任意三把一起可以打开，比2/3更多冗余，也是比较常用的。**M/N多签的优点（特指1<M<N时），就是它在避免单点故障和保持健壮性两个方面的表现都比较优秀**。N/N多签，正如上面提到的，可以增强健壮性，但同时引入更多单点故障，因此比较冷门，如果坚持要用，需充分考虑多副本备份清除单点故障问题。另外，比特币本身支持多签，以太坊（含多数EVM兼容链）可以通过[Gnosis Safe](https://gnosis-safe.io/)智能合约实现多签钱包。

### 4.5、备份设备

虽然硬件钱包，都会附带几张纸质卡片，并指引你将助记词抄写在卡片上，但这真不是一个好建议，至少对于你要用于存放较多资金的主钱包助记词，绝对不是好建议。现在普遍推荐用金属**钢板**记录助记词，淘宝上也有很多这样的产品，也不贵，国外细心者还做了测评，[点击这里看详情](https://jlopp.github.io/metal-bitcoin-storage-reviews/)。当然你在购买的时候，收货地址避免使用你家地址或其他存放助记词的地址，取而代之应该使用附近别的代收点，以免地址泄露。

### 4.6、地理多元性

如果某处存放了物理攻击者窃取资金的全部密钥信息，会引入单点故障。你需要将备份分散在物理上安全且难以找到的地方。有的会考虑保险柜，或存到银行保险柜。总之，**异地**，首先是防止单点故障，其次是在有多签特性的方案中避免削弱健壮性。所以，**异地原则，建议一个地方只存放一份信息**。

5、总结
----

以上是梳理了数字货币钱包安全的逻辑，需要你理解后，根据需要来设计自己的钱包助记词安全。

作为普通用户，主钱包建议最低做到：使用**硬件钱包**，助记词备份做到**离线**、**两份副本**、**钢板**、**异地**各存放一份副本。

资金量比较大的用户，主钱包建议最低做到：使用**硬件钱包**，助记词备份做到**离线**、**多副本**、**钢板**、**多签**、**异地**各存放一份信息。

资金量巨大的用户，当请专业团队提供更全面的安全方案建议。

### 硬件钱包，必须通过如下官方渠道购买：

1、[Ledger](https://shop.ledger.com/?r=9670bbf3cd3b)

[https://shop.ledger.com/?r=9670bbf3cd3b](https://shop.ledger.com/?r=9670bbf3cd3b)

2、[Trezor](https://shop.trezor.io/?offer_id=10&aff_id=31868)

[https://shop.trezor.io/?offer\_id=10&aff\_id=31868](https://shop.trezor.io/?offer_id=10&aff_id=31868)

3、[BitBox02](https://shiftcrypto.ch/bitbox02/?ref=J9o0cl4KIj)

[https://shiftcrypto.ch/bitbox02/?ref=J9o0cl4KIj](https://shiftcrypto.ch/bitbox02/?ref=J9o0cl4KIj)

4、[Keystone](https://shop.keyst.one/?rfsn=6818757.832dc1&utm_source=refersion&utm_medium=affiliate&utm_campaign=6818757.832dc1)

[https://shop.keyst.one/?rfsn=6818757.832dc1&utm\_source=refersion&utm\_medium=affiliate&utm\_campaign=6818757.832dc1](https://shop.keyst.one/?rfsn=6818757.832dc1&utm_source=refersion&utm_medium=affiliate&utm_campaign=6818757.832dc1)

5、[OneKey](https://shop.onekey.so?sca_ref=2669423.dZlIh4M7H9)

[https://shop.onekey.so?sca\_ref=2669423.dZlIh4M7H9](https://shop.onekey.so?sca_ref=2669423.dZlIh4M7H9)

附：知名公链主流钱包
----------

Ethereum（含EVM兼容链）：[MetaMask](https://metamask.io/)

Solana：[Phantom](https://phantom.app/)

Cosmos系：[Keplr](https://www.keplr.app/)

Elrond：[官方网页钱包](https://wallet.elrond.com/)

Flow：[Lilico](https://lilico.app/)

Near：[官方网页钱包](https://wallet.near.org/)

Klaytn：[官方网页钱包](https://wallet.klaytn.foundation/)

Thorchain：[XDEFI](https://www.xdefi.io/)

### 参考文档：

1、[How to Back Up a Seed Phrase](https://blog.lopp.net/how-to-back-up-a-seed-phrase/)

2、[HOW TO KEEP MY 24-WORD RECOVERY PHRASE AND PIN CODE SAFE?](https://support.ledger.com/hc/en-us/articles/360005514233-How-to-keep-my-24-word-recovery-phrase-and-PIN-code-safe-?docs=true)

---

*Originally published on [Web3Discovery](https://paragraph.com/@web3discovery/o1pDvFcAJjvUNEHqd47j)*
