Electrum4.0.3新功能:一键扫描恢复BIP39助记词派生路径
桂严醚
发表于 2022-11-18 22:56:11
83
0
0
https://github.com/spesmilo/electrum/blob/a81b0ecc591babb684e908c37c4e5e62145701c6/RELEASE-NOTES#L10
BIP39被批判的最常见理由,就是它没有规定一个标准的HD派生路径,就像Bread(BRD)钱包,用了最简单的路径,和BIP44不兼容。
(BIP44貌似是后来才有的,这段历史我不熟悉)
Electrum 4.0.3的这个新功能,实质上就是依照列表里常见的HD派生路径推导得到地址,然后挨个向服务器尝试查询这些地址上的交易记录和余额。
《精通比特币》的作者Andreas Antonopoulos在前一阵子提出了这个需求,同时承诺给愿意开发这个功能的开发者一笔赏金,就是在他的推动下这个功能才能在最近开发完成、然后合并进Electrum的主线,最终在4.0.3版发布。
这里还有一个小八卦:
BIP39貌似一开始也是有Electrum开发者参与制订的,但是半途中,一同参与制订的Trezor开发者“抢跑”了、把设计草案按照自己的意思修改后作为BIP草案提交,然后Electrum开发者就觉得是Trezor那边的人为了商业私利(众所周知Trezor的助记词就是BIP39的,这也算是他们的一大卖点)而歪曲了自己的作品、让自己的作品变成了一滩自相矛盾、漏洞百出的辣鸡,所以一直以来他们都在抵制BIP39。
不过,这件事上,我基本上还是站BIP39这边。我觉得Electrum这边也不是没道理、BIP39确实有不少问题;但是Electrum这种“抵制”行动我感觉简直就是FFmpeg vs libav事件的翻版(某种程度上也是开源界日常?哎),这样两败俱伤、最终伤害的还是用户。
更何况助记词这种东西性质是很特殊的,想迁移切换很麻烦。每多创造一种助记词格式,就给整个生态圈多添了一份乱,让用户搞不清楚手里的12个单词到底是个啥。
Electrum2.0助记词(2.0之前是另一种助记词格式,单词表和BIP39都不一样,单词个数也不一样,现在已经弃用,不过貌似还支持导入)和BIP39实际上是可能“撞车”的,Electrum有1/16的概率(反之亦然,BIP39钱包也有可能生成和Electrum2.0撞车的助记词,只不过这个撞车概率会低不少。顺便吐槽一下,1/16这么大的概率,是因为12单词的BIP39助记词只有4bit的checksum,很显然这个4bit的checksum太弱了,这确实是BIP39的瑕疵之一)会随机生成出一个既能当作BIP39使用、又能当作Electrum2.0使用、同时符合两边规则的助记词,这样看实际上Electrum2.0本身某种程度上就算是BIP39的另一个“不遵守标准的派生路径”——这很蛋疼,但是然并X,我这个外行站队并没有任何X用。
事已至此,添乱也罢拨乱反正也罢,该干的都已经干过了,都是既成事实了,无法抹消逆转……
成为第一个吐槽的人