Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

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

伤心骑士口
398 0 0
Don′t trust, verify!当我们设置钱包时,最关键的一步就是生成助记词环节。大家研究过助记词是如何生成的吗?
% T' M; M# I5 J- ?* y' I  X. R
6 u( u3 n: ?0 H& k7 G) \/ W助记词是由一串随机数生成,我们称为“熵”。而随机数通常是由软件钱包的伪随机数生成器(PRNG)或硬件钱包的真随机数生成器(TRNG)生成。随机数的随机性就是保证我们的助记词(私钥)无法被暴力破解的关键之处。
7 s5 i3 }7 y- @3 l$ E, S- T3 ?2 ^1 E1 L
真随机数生成器(TRNG)的执行代码一般是由安全芯片厂商提供且不对外公开,也就是说,用户生成真随机数后无法验证,需要信任厂商。
1 c0 [& `0 Y- z( E4 p0 d" ?8 ~; z/ h* u2 x
很多用户不愿意信任安全芯片厂商,因此,一些硬件钱包允许用户用投掷骰子的结果作为随机熵值生成助记词,如 Cobo 金库和 ColdCard 硬件钱包。1 Q! r8 ~0 x% t

4 r) V5 X- \% r0 _Cobo 金库团队始终坚持“Don't trust, verify”的产品理念,并一直用实际行动去实现它,比如开源操作系统代码和安全芯片固件代码。9 T  J3 Z' o6 e. O0 [1 @

* L7 ^# u  t- m4 ^" l8 R0 B验证代码无疑是最直接的验证方法,但有一定的技术门槛。那么,对于没有技术背景的用户,我们可以用著名的 Ian Coleman 网页工具来做验证。
# \" y1 `1 O) F) w
2 X9 d7 R% Q% G( _8 x& I* W' h: yTips:做验证前需要升级金库固件到V1.2.1或以上版本。
  r. f; V; j7 [
6 T8 ~  p# \4 n
: r# D$ m0 u& a8 V" N/ F5 E验证步骤
( Z+ r: C, g: V& k, s: w" D8 ^8 [, i: ?' y
举个例子:我们投掷50次骰子,获得以下随机数9 @) M6 G2 J) u2 y+ n& i

2 E2 j/ T0 y/ e) u1 ?' a9 F51236422654236551235532545533355551153256611442361
: y  {- D4 A/ k7 f9 K' E
/ d/ V- J$ r) w  v  o( v我们首先将50位随机数输入到金库,生成24位助记词。
2 M+ e; R# G: U0 S' T+ C. y, b" d4 a2 d) M

. D( {1 x3 N( }8 H  ]boost nephew sea noise apology three grocery alter season gym leaf token defense today vacuum purse gate swear want road opera fine flag twice
, Y4 k3 h8 x# j- b9 W3 w2 C
% Q% J# ]8 y6 O' S; E* T) r注:投掷50次的随机性相当于128位随机数。投掷小于50次的结果随机性则太弱。为确保安全,掌柜的建议大家投掷满100次。
* t9 M" |( G3 f
* X; N+ R; ^; p/ A) q, T  q/ K然后,我们打开 Ian Coleman 网页工具,勾选“Show entropy details”。
7 Q. q  m! b: K" |设置骰子规格、助记词位数参数,输入上面的50位骰子结果,我们可以得到相同的24位助记词。验证完成!
* K+ s2 l& T: W5 L# c) v1 ~6 R% |% ~
建议大家验证时,离线使用 Ian Coleman 网页工具(参考网页底部教程),预防恶意软件监控你的键盘、剪贴板以及其他电脑端攻击风险。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

伤心骑士口 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    37