浅析加密数字货币钱包中的BIP32、BIP44、BIP39概念

当前位置:首页 > 币圈百科 > 浅析加密数字货币钱包中的BIP32、BIP44、BIP39概念

浅析加密数字货币钱包中的BIP32、BIP44、BIP39概念

2023-01-15币圈百科783

什么是加密数字资产钱包?

在区块链中,我们的数字资产并不存储在钱包服务提供商(如imToken)的服务器中,而是“存储”在由私钥导出的钱包地址中,并放置在区块链网络上。只有你有了地址对应的私钥,你才有转移资产的权利。

所以,数字货币钱包其实就是一个生成和存储私钥的工具。它不保存资产,所有资产都在链上。

创建钱包地址的关键是随机生成一个私钥,它是一个32字节的数字。生成私钥的本质是选择1到2 256之间的一个数。因此,生成私钥的第一步是找到一种安全的方法来获得真随机数,以确保获得的随机数是不可预测或不可重复的。

比如你可以将一枚硬币抛256次,用纸笔记录正反面并转换成0和1,随机得到的256位二进制数可以作为钱包的私钥。

BIP 32是怎么来的?

钱包是一个私钥管理工具,我们可以根据使用需求生成很多私钥。但是你会发现备份和管理私钥非常麻烦。最早的BTC钱包就是这样的,所以他也有一个昵称“只是一串钥匙”(一串私人钥匙)。为了解决这个问题,有?BIP32?提案:根据一个随机数种子,通过分层确定性推导可以得到N个私钥,所以保存的时候只需要一个种子,就可以从种子中推导出私钥,如图:

蓑衣网小编2022blob.png

(图片来自掌握比特币)

BIP32提案名称:分层确定性钱包,也就是我们所说的分层确定性钱包(HD wallets)。

总之,BIP32是一个层次化的派生方案,避免了管理一堆私钥的麻烦。

秘密密钥路径和BIP44

以这种分层方式导出的秘密密钥通常用路径表示,每一层用斜杠/表示,从主私钥导出的私钥以“m”开头。因此,由第一主密钥生成的子私钥是m/0。第一公钥是M/0。第一个子密钥的子密钥是m/0/1,依此类推。

BIP44为这个路径指定了一个标准化的含义(并且还扩展了对多种货币的支持)。BIP44规定了一个具有五个预定义树级的结构:

m/目的'/硬币'/账户'/变化/地址_索引

m是固定的。目的也是固定的,值为44(或0x 8000002 c)

coin type

这个代表货币,0代表比特币,1代表比特币测试链,60代表以太坊蓑衣网小编2022

完整货币列表地址:https://github.com/satoshilabs/slips/blob/master/slip-0044.md?4

Account

表示该币种的账户索引,从0开始

Change

常数0用于外链,常数1用于内链(也称更改地址)。外部链用于钱包外部可见的地址(例如,用于接收付款)。内部链用于在钱包外部不可见的地址,并用于返回交易更改。(所以一般用0)

address _ index

这是地址索引。从0开始,表示生成哪个地址。官方规定每个账户下的address _ index不能超过20

根据EIP85提出的讨论,以太坊钱包也遵循BIP44标准。确定的路径是m/44'/60'/a'/0/n

a代表账号,n是第n代生成的地址,60是SLIP44提案中确定的以太坊的代码。所以用imToken导入助记符的时候会看到选择路径的选项,就是这个原因。

蓑衣网小编2022

总之,BIP44就是为BIP32的层次化路径定义规范。

bip 39是什么?

BIP32允许我们保存一个随机数种子,而不是一串密钥。但是对于大部分用户来说,还是很不友好,这提示了?BIP39?1?的出现。 它使用记忆术来产生种子。在这种情况下,用户只要记住助记符,就可以创建随机种子作为BIP32的种子。

(对比一下,备份助记符比备份随机数种子方便多了)

整个过程包括两步:1 .生成助记符;2.从种子中导出助记符

生成助记符

生成助记符。然后每11位除一次,这样就有12个二进制数,然后用每个数查BIP39定义的字表,得到12个助记符。过程如下图:

blob.png

(图来自网络)

助记符推导种子

(这里不详细解释了,有兴趣的小伙伴可以自行查找资料。)

总之,BIP39就是通过定义助记符,让种子的备份更加友好。

总结

HD wallets是BIP32中提出的一种分层派生方案,避免了管理一堆私钥的麻烦。

BIP44增强了BIP32的路径定义规范,同时增加了对多种货币的支持。

BIP39通过定义助记符,使得种子的备份更加友好。[x]
浅析加密数字货币钱包中的BIP32、BIP44、BIP39概念 | 分享给朋友: