DAY 29- BIP39、BIP44

BIP39

解决了记很多私钥的问题之後,
人类面对着另外一个问题,因为对他们(我们啦)来说,记一个种子还是太困难了。
所以BIP 39 就来拯救脑袋渺小的人类了!

如果你有用任何钱包软件申请一个钱包的话,
你会得到的是一串单字,而不是一串乱码(当然你也可以得到)
而这串单字,其实就是私钥的存在,
这就是BIP39做到的事情。

https://ithelp.ithome.com.tw/upload/images/20211010/20140112yUGZPIc3MD.png

这是从github上截下来的图,内容是BIP39。
看到第三行 Mnemonic code,是助记词的意思,就是我前面讲的内容。
那究竟这个助记词是怎麽变来的,
我们继续看下去。

首先要先建立一个初始熵(就是一串二进位的数字),长度为ENT。
ENT必须是32的倍数,且只能介於128-256 bits。
将这串数字进入SHA-256後取前 ENT/32 个位元作为校验和,接在初始熵後。
将这总共ENT+ENT/32个位元每11个为一组。

接着用查表的方式将每一组得到一个字。

https://ithelp.ithome.com.tw/upload/images/20211010/201401124pB6WgBaTa.jpg

举例来说,
如果我们使用ENT=128,
总长度就会是128+128/32=132。
最後会得到132/11=12个单字。

这个单字表有做成各个语言的版本,在这里可以看到,
里面有英文、日文、韩文、中文(还分简体繁体)......

不管甚麽语言,这个表都是经过设计的,
理想的单字表符合一些条件

  • 前四个字母就可以确认该单字
  • 避免类似词语
  • 好查

将助记词转换成种子

助记词若想转换成种子,需要使用一种密钥推导函数PBKDF2,
该函数有五个输入参数:伪随机函数、主密码、盐*、重复次数、需产生多少位元的密码。
而转换过程使用的参数分别是:HMAC-SHA512、助记词、"mnemonic"+"(自选密码)"、2048、512。

*盐就只是一个增加破解难度的数字而已,取其加盐的意象。

最後你就会得到一个热腾腾的种子,可以用 BIP32 定义的方式生出一个钱包。
以上就是BIP39内容。

BIP 44

回想一下昨天的BIP32,
在master key 底下可以生成出无限多的子密钥、孙密钥、...。
所以如果你随便使用了一个地址,你很难找到他所属的私钥在哪里,於是我们需要BIP44。

BIP44定义了密钥的路径规范,这样的规范定义了各个层级,
使不同帐户、不同币种分属在固定的路径之下。

https://ithelp.ithome.com.tw/upload/images/20211010/20140112C6rfE9xWqM.jpg

路径的格式如上图。
第一个m代表的是master node。
第二个purpose固定是44,代表使用BIP44所规范的路径。
第三个coin_type提供不同加密货币的区隔,每个货币都有一个编号,
BTC是0、ETH是60,这里有所有已登记的币的编号。
第四个account提供不同用途的帐户。
第五个change分成两个,0是外部链(对外公开)可用来收钱,1是内部链(对外不公开)用来找零。
第六层即是你的地址编号,从0开始逐一递增。

如此一来就定义了整个HD wallet。


图片来源:
https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki

参考资料:
https://www.youtube.com/watch?v=p_SJKiff5Ng
https://github.com/bitcoin/bips


<<:  Day26 用PPT制作AR明信片所需要的影片

>>:  Day41 ( 电子元件 ) 电流急急棒

从 React 开始,让你的网页material-ui起来 [Day 4] 排版布局Grid

布局排板大板型左右留边 Container 接下来就是这个Container里头需要载运那些内容了 ...

DAY7-EXCEL统计分析:统计学是什麽?

在我们学习统计学之前应该清楚理解何谓统计学,这样才能够学以致用,并有效利用excel等工具来帮助我们...

Day 30:赛後感言

这其实是有点长的故事,但我觉得这种缘分有点有趣,所以就决定在最後一天整理一下。 从开赛前几天说起 在...

[资料库] 学习笔记 - case when then 和 预存程序 之2

这次的问题是上一篇文的延伸 上一篇是使用者输入参数後,再将指定栏位的值改为1 那这次是输入参数後检查...

Day06 捷径的工具箱-App

Hello 大家, 不知不觉来到连假的最後一天了, 要开始收心罗~ 是不是有一些朋友又请了三天特休来...