做了一个完全手动生成加密币助记词的小工具

57 天前
 MuskLee
记词的方法一般由钱包生成,存在风险,因为内部运行我们并不知道,所以做了一个完全手动透明可离线的

使用说明:

https://yes.do/d/31

工具地址:

https://yes.do/tools/bip39/bip39.html
1140 次点击
所在节点    Bitcoin
7 条回复
zictos
57 天前
直接用私钥就行了,没必要用助记词,根本就不指望能记在心里。而且助记词必须用 24 个单词,不然安全性比直接用私钥低很多。
agegcn
57 天前
python 下也就几行代码吧
acess
56 天前
@zictos
secp256k1 作为非对称密码,强度只相当于 128bit 的对称密码,也就是 BIP39 12 单词的强度。

要是说地址是公钥的 hash ,而不是公钥本身……确实币圈流传过一篇文章,说不直接暴露公钥含有一定程度的量子计算机抗性,但……btc 这边最新一代的 taproot 地址全都是裸公钥,开发者为了给这个做辩护就在 stackexchange 上说过这个问题,里面还提到过,比如上古时代巨量的币都是 p2pk 裸公钥,还有很多其他情况也会暴露公钥,比如地址重用,比如 hd xpub 主公钥被透露(比如透露给钱包服务器),于是从经济方面考虑,这些公钥暴露的币仍然足以摧毁 btc ,于是就不用担心这个问题( x

嘛反过来说如果未来哪天真的有了量子计算机,是不是还存在某种迁移方案?或者说很久以前我听说过也许可以做个零知识证明,既能对外界证明我知道一个 hash 对应的公钥,又不用把公钥公开透露出去,不知道能不能做,如果能具体又是怎么做的。


再有一个就是,可以上溯到神圣的白皮书本身的,地址不要重用以便一定程度上保护隐私,所以为了方便换地址,乃至扩大一点概念为了方便管理钱包(分账户,分不同用途),甚至是扩展到方便管理其他币种、全部都用一个种子,所以有了 BIP32 HD 钱包、BIP44/49/84 等等规定标准推导路径……但老实说我感觉隐私方面是否有益处好像受到很大挑战,HD 钱包本身就给我一种好像是……

过度工程的感觉,老实说。确实,感觉实际上可能并没有那么大好处,反倒各种蛋疼。

只是看上去很优雅又能全面地照顾各种需求,但落到实际上各种蛋疼,从历史遗留问题( BIP49 提出较迟,有些钱包在有 BIP49 统一标准之前就找一个简单的路径先行实现了 HD 钱包,但这个其实蛮特殊,作为例子提出来不好),到 gap limit……
acess
56 天前
作为很久以前有过类似想法的人,“同行”相轻,我对楼主的作品天然就有一种偏见(

于是在我的视角看来就想挑刺……比如 ian coleman 的 bip39 工具本来就支持 raw entropy 输入不是么?那么楼主这个工具有什么独到的地方?难道是照顾没有键盘只有触屏的平板电脑?
acess
56 天前
我的想法是这样的:

BIP39 是 11bit 编码一个单词,而且 checksum 还放在最后,而不是分散给每一个单词,所以,

可以把 11bit 拆分成两部分,后半部分 6bit 展开是 0 到 64 ,作为列标签;前半部分 5bit 展开是 0-32 ,作为行标签,于是就可以做出来一张 64x32 的表格,把全部 2048 个单词都放在一个 excel 表里面。

BIP39 英文单词还经过特别挑选,前 4 个字母保证唯一,所以表格里只需要填前 4 个字母。

不考虑色盲问题的话,可以红线切割表格(横向可以,纵向也可以)为 2 个部分,第一个 bit 是 0 就是上半部分/左半部分,或者说在红线的上方/左方;然后用橙线继续细分,第二个 bit 是 0 就是橙线的……我懒得重复打字了。

整张表格甚至可以直接打印或者抄写(抄写过程中本身即可检查字母顺序是否有颠倒)到一张纸上,所以除了最后 4bit 或者 8bit 是 checksum (取决于你要 12 或 24 单词),前面 128/256bit 可以绝对保证是你自己抛硬币生成的,而不是做了什么手脚提前设置好的。
acess
56 天前
不过老实说我自己觉得做到这种地步意义仍然不大,因为从种子到公钥到地址,乃至后面的每一次签名,你都不可能像这样“肉眼可见的透明”,仍然必须依赖电子计算机,那么如果里面做了什么手脚你还是一点办法也没有。

尤其是很久以前就有人说过 btc 用的 secp256k1 签名存在 kleptography 攻击,可以操纵 k 值或者 nonce 值来非常隐蔽地夹带泄露数据,而且只泄露给攻击者: https://bitcointalk.org/index.php?topic=883793.0

(这个问题我记得 Pieter Wuille 讲过一个对策,但现在搜不到了……我大致印象里好像也不太那啥)

或者不说别的,只要你不是当面交易,那比如交易所的充币地址(又或者是商户的收款地址)你必须从网上才能看到吧,然后浏览器里有恶意插件什么的,给你劫持替换了,还是完蛋。

(这方面倒是可以缓解,比如 bitmex 就是做了虚荣地址挖矿我记得,3BMEX 开头,这样一来,生成这种地址多少稍微有点计算成本……还有像是 Andreas Antonopoulos 他就是找了个虚荣矿池挖了一个多星期才挖出来自己公开用的地址)
lisxour
55 天前
我用大牌钱包不比用你这种私人软件安全一亿倍?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1058917

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX