如何生成私钥:有无助记词两种方式详解

Author logo
Patrick Dike-Ndulue
Post image

核心洞察

大多数加密钱包采用助记词(由一组单词组成,用于备份私钥),一旦泄露,可能导致全部资产丢失。Tangem Wallet 通过在钱包卡片芯片内安全生成和存储主密钥,无需助记词,降低因备份不当导致的被盗或丢失风险。备份方式采用多张卡片,带来更安全且易用的钱包恢复和资产保护体验。

通常,在创建加密钱包时会生成助记词。你需要记住或写下来,以便日后恢复资产访问权限。而 Tangem Wallet 没有助记词。这是如何实现的?我们为什么认为助记词并不安全?
 

首先,需要了解什么是助记词。最简单的解释如下:助记词是一组用于编码用户私钥与公钥的随机单词。借助算法,这组单词每次都能生成同样的密钥组合。

加密钱包的“树”结构

先来看看加密钱包的工作原理。绝大多数钱包都是分层确定性(HD)钱包。
 

加密钱包就像一棵“树”,由私钥和公钥组成,可让你在不同区块链上管理和访问加密资产。这棵树通过熵(由随机数生成器产生的随机数)不断生长。根系统是种子,树干是扩展密钥对(私钥和公钥),树枝则是各区块链上大量的密钥对和地址。
 

每个子密钥都能生成自己的密钥,进而继续生成下一级密钥,形成分层结构。这也是钱包被称为“分层”的原因。

它们同时也是“确定性”的,即只要助记词相同,每次都能生成完全一致的密钥树。

有助记词的 HD 钱包:私钥与公钥生成流程

助记词(或称代码)是一组由随机数生成的单词,而这个随机数由随机数生成器产生。大多数情况下,备份的并不是私钥本身,而是这组助记词。助记词通常就是密钥的备份副本。

具体流程

当你创建加密钱包时,助记词是如何生成的?

1. 首先,随机数生成器产生熵。

熵是一个极大的随机数,从未被任何人生成过,也不会被再次生成。

2. 产生的熵通过数学算法被转换为唯一词库中的一组单词,即助记词。

3. 助记词被转换为种子。注意两者不同:种子是助记词的变形,通过哈希函数实现转换。

哈希函数是一种数学算法,可将任意长度的数据压缩为固定长度的数据。输入称为消息,输出为哈希值。哈希函数的关键特性是不可逆,即无法通过哈希值还原原始数据。同时,只要输入不变,哈希值始终一致。

4. 由种子计算出主密钥(扩展主密钥)。这是用助记词转换后得到的第一个密钥,同样通过哈希函数实现。

5. 由主密钥生成扩展私钥(Xprv)。

6. 扩展私钥再生成扩展公钥(Xpub)。

你已生成主密钥对,可据此生成面向不同区块链的大量子密钥链。此时,你就可以使用钱包存储、发送、接收和兑换加密货币及代币等操作。

501_232.png

如果你的加密钱包出现问题,助记词就是恢复全部密钥体系、重新获得所有币和代币访问权的唯一凭证。因此,务必将助记词写在纸上并妥善存放。

助记词的隐患

助记词可以让你在丢失、被盗或损坏钱包时快速恢复全部加密资产。但如果被不法分子获取,同样也能盗走你所有的加密资产。
 

想一想:加密钱包开发者不断创新,力求在软硬件层面实现最高安全性。复杂的数学算法生成你的密钥,数据多重加密,保护资产安全。
 

但你所有加密资产的钥匙,却只是写在一张纸上的十几或几十个单词。只要有人拍照、抄写甚至记住这些单词,你的资产就可能被盗,而你却毫无察觉。此外,纸张也很容易丢失或损坏。
 

你可以加密助记词、分段存放,甚至租用银行保险箱保存助记词。但现实中有多少人会这样做?
 

结论很明显:未加密保护的助记词是现有加密产品的重大缺陷,也是现代加密钱包的严重安全隐患。
 

Tangem Wallet 无助记词方案:私钥与公钥生成流程

Tangem Wallet 也是分层确定性钱包,但与其他钱包不同的是,它消除了最大安全隐患:不再让所有资产的主密钥以助记词明文形式暴露在纸上。
 

生成主密钥、扩展密钥对(公钥和私钥)以及后续密钥链和地址的算法与其他钱包相同,但不再生成助记词。种子直接由熵产生。
 

芯片在卡片内直接生成密钥,并将其安全存储。无论是谁,哪怕偷走卡片、在 Tangem 工作,甚至拥有卡片本身,都无法访问密钥。助记词不再承担备份角色,备份由 Tangem Wallet 套装中的其他卡片(取决于你选择的套装为一张或两张)完成。通过手机同步卡片进行备份时,密钥会通过加密通道在卡片间传输。
 

完成密钥备份后,你将拥有两到三张内容完全相同的钱包卡片,密钥和密码保护一致。建议将这些卡片分别存放在不同安全地点,而非集中保管。如果有一张卡片遗失,可用另一张恢复。如果第二张也丢失,则风险极高,因为没有备份。建议此时购买新的 Tangem Wallet 套装,并将资产转移至新钱包。
 

想知道没有助记词如何使用钱包?很简单:
 

  • 需要购买加密货币时,在手机应用内设置交易,使用手机扫描卡片并输入密码;
     
  • 手机通过 NFC 将数据传输给芯片;
     
  • 芯片校验密码,用私钥签名交易并将数字签名返回应用;
     
  • 应用将签名后的交易发送到区块链。

如果 Tangem 停运怎么办?

假如服务器关闭,或应用在 Google Play 和 App Store 下架怎么办?答案很简单:没有影响,你依然可以正常使用 Tangem Wallet。如需了解详情,请阅读我们的文章 Tangem Wallet 如何在没有 Tangem 的情况下继续工作”

Author logo
作者 Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
經審核 Rukkayah Jigam

Writer & editor covering digital assets and product updates.