Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

如何验证骰子生成助记词的有效性

伤心骑士口
393 0 0
Don′t trust, verify!当我们设置钱包时,最关键的一步就是生成助记词环节。大家研究过助记词是如何生成的吗?" i, q( W3 q/ Q" u# A4 P
* Q. J/ Z8 f& l! X" L
助记词是由一串随机数生成,我们称为“熵”。而随机数通常是由软件钱包的伪随机数生成器(PRNG)或硬件钱包的真随机数生成器(TRNG)生成。随机数的随机性就是保证我们的助记词(私钥)无法被暴力破解的关键之处。
! c# K' S. `. a+ M) m! E, W: h/ }# b& z" n0 _" N0 @
真随机数生成器(TRNG)的执行代码一般是由安全芯片厂商提供且不对外公开,也就是说,用户生成真随机数后无法验证,需要信任厂商。8 d/ S1 J' Y5 a: s) S: A. ]
5 Y+ }, w2 q) k0 @8 S/ Q4 Q: V  o( j- e
很多用户不愿意信任安全芯片厂商,因此,一些硬件钱包允许用户用投掷骰子的结果作为随机熵值生成助记词,如 Cobo 金库和 ColdCard 硬件钱包。8 ]: Y! ?3 Q4 W

( y6 G6 }# q; W# r7 \Cobo 金库团队始终坚持“Don't trust, verify”的产品理念,并一直用实际行动去实现它,比如开源操作系统代码和安全芯片固件代码。
2 {: K9 ~% h0 c0 V  z5 T3 p5 o! t* v/ F( h8 G
验证代码无疑是最直接的验证方法,但有一定的技术门槛。那么,对于没有技术背景的用户,我们可以用著名的 Ian Coleman 网页工具来做验证。
3 K, D$ ]6 |. }: l+ q1 A' r. v4 X% A# Q9 d5 h
Tips:做验证前需要升级金库固件到V1.2.1或以上版本。
  p* Q4 V1 G2 T; {  O" x# _  W2 N1 |2 d. [  L! l

5 K- {3 S5 {  B5 i验证步骤
" {: t" G4 ^% D/ F
, i" F7 |& @/ h6 U) P1 H/ E举个例子:我们投掷50次骰子,获得以下随机数8 B" L; g' s9 s+ Y! M9 ^5 U

) u5 r+ P" W) j2 d6 \  E1 W51236422654236551235532545533355551153256611442361
8 y4 }* a- ^4 J
; ], H1 P5 p& V我们首先将50位随机数输入到金库,生成24位助记词。  q; \, m/ X  n- I, a. I$ O

6 q8 ^/ I0 |5 e  q, Z
/ @. s& W. S6 P; O! {. Dboost nephew sea noise apology three grocery alter season gym leaf token defense today vacuum purse gate swear want road opera fine flag twice
$ W& g/ S/ S1 I+ U% U
& I1 |0 e; l8 G注:投掷50次的随机性相当于128位随机数。投掷小于50次的结果随机性则太弱。为确保安全,掌柜的建议大家投掷满100次。$ W, D( ~2 f1 _$ d
' ^/ e  o: Q8 q* R0 g8 i
然后,我们打开 Ian Coleman 网页工具,勾选“Show entropy details”。
$ P2 j$ L2 }. _5 {5 x设置骰子规格、助记词位数参数,输入上面的50位骰子结果,我们可以得到相同的24位助记词。验证完成!3 U# [; a5 `+ c8 F$ d- Y

+ E) a5 L/ K, Q, r6 F7 T8 K6 l) |建议大家验证时,离线使用 Ian Coleman 网页工具(参考网页底部教程),预防恶意软件监控你的键盘、剪贴板以及其他电脑端攻击风险。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

伤心骑士口 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    37