bitpie官网首页|什么是比特币改进提案 39 (BIP-39)?

- 编辑:admin -

bitpie官网首页|什么是比特币改进提案 39 (BIP-39)?

比特币改进提案或 BIP 是为比特币社区提供信息或描述比特币或其流程或环境的新功能的设计文档。

BIP-39描述了用于生成确定性钱包的助记代码或助记语句的实现。

它由两个部分组成,生成所述助记符将其转换成一个二进制种子。该种子随后可用于使用 BIP-32 或类似方法生成确定性钱包。

推荐阅读 1

什么是节点提供商?

2

Ethers.js 和 Web3.js 的区别

生成助记符

BIP-39用作传输计算机生成的随机性的指南,与处理钱包种子的原始二进制或十六进制表示相比,人类可读的转录具有高度的用户友好性。

将要生成的助记符必须以 32 位的倍数编码熵,并且应该在 128-256 位之间。我们将初始熵长度称为ENT

请注意,位长度越高,安全级别越高,但助记符长度也会增加。

ENT 生成后,通过取其 SHA256 哈希的前“ENT/32”位生成校验和。

HASH = SHA256(ENT)校验和,

CS = HASH 的第一个 ENT/32 位

然后将校验和附加到初始熵ENT + CS。

然后将连接的位分成 11 位一组,每组编码一个 0-2047 的数字,作为词表的索引。我们将这些数字转换为单词并使用连接的单词作为助记词

词表的特点

对应于从 0 到 2047 的索引的单词是为了互操作性而标准化的。词表的特点是,

1) 以这样的方式创建单词表,只需键入前四个字母即可明确识别该单词。

2) 避免使用看起来相似的词对,以便更容易记住句子。

3)对词表进行排序,使得码字的查找更加高效。

用单词替换索引号的真正用途是帮助用户更容易地记住键。

在此处查看 BIP-39 中描述的要使用的标准词表,

种子助记符

对于助记符到种子的转换,使用了PBKDF2函数。

PBKDF 2 或Password-Based Key Derivation Function 2是一种简单的密码密钥推导函数,可以抵抗字典攻击彩虹表攻击。它基于通过一些填充多次迭代推导 HMAC。

助记符句子作为密码,字符串“记忆” +密码被用作PBKDF2功能的SALT。

密码可以由用户输入,如果不是,则使用空字符串。

迭代计数被设置为20148和HMACSHA512被用作伪随机函数来导出长度为512个比特的密钥。该种子随后用于生成BIP 32中描述的HD 钱包,我将在另一篇文章中介绍。