Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

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

伤心骑士口
588 0 0
Don′t trust, verify!当我们设置钱包时,最关键的一步就是生成助记词环节。大家研究过助记词是如何生成的吗?
) r4 }' P1 {  z9 Z. {4 u1 D5 B. t
助记词是由一串随机数生成,我们称为“熵”。而随机数通常是由软件钱包的伪随机数生成器(PRNG)或硬件钱包的真随机数生成器(TRNG)生成。随机数的随机性就是保证我们的助记词(私钥)无法被暴力破解的关键之处。% t2 z; C) ]6 m8 n8 n+ s/ X
: L0 W# O7 d3 y( P* d
真随机数生成器(TRNG)的执行代码一般是由安全芯片厂商提供且不对外公开,也就是说,用户生成真随机数后无法验证,需要信任厂商。
9 U2 |& P7 j4 X8 o: E& m& t
) o, s! v: f& j很多用户不愿意信任安全芯片厂商,因此,一些硬件钱包允许用户用投掷骰子的结果作为随机熵值生成助记词,如 Cobo 金库和 ColdCard 硬件钱包。. C3 A: T$ q, \
" I4 g0 W6 ~( E+ C. a# I# s
Cobo 金库团队始终坚持“Don't trust, verify”的产品理念,并一直用实际行动去实现它,比如开源操作系统代码和安全芯片固件代码。
& u" ]% K0 G( k, s
6 h0 S5 j6 Y( x6 F验证代码无疑是最直接的验证方法,但有一定的技术门槛。那么,对于没有技术背景的用户,我们可以用著名的 Ian Coleman 网页工具来做验证。
7 m) K( q6 }) y$ J* I5 E) F* U
0 @; m' i- k' G  g) T/ nTips:做验证前需要升级金库固件到V1.2.1或以上版本。( x" v% B- b/ F! S& w

) p" Y5 G  H) f4 g  P
  L& ~, P8 W7 Z! |0 I  Q/ W验证步骤8 L2 u/ j3 L/ q6 I; q8 @: \, U, b# d

( ^, }) L6 j- A, e" t举个例子:我们投掷50次骰子,获得以下随机数- ^6 i. E4 Y, P6 _0 Y4 c- v

' V% B: L: `; B; w* W. @1 {( A8 c51236422654236551235532545533355551153256611442361
' {- _4 {% [; E
  Z6 d  i: `, f1 {" C# `7 Q我们首先将50位随机数输入到金库,生成24位助记词。
' E6 r- ]+ n: M$ j; I* D
0 R/ n( S$ |- |  ^% X
+ S, Y0 a5 B! z/ Q+ E; A  u" E1 Kboost nephew sea noise apology three grocery alter season gym leaf token defense today vacuum purse gate swear want road opera fine flag twice
/ R/ d# ~: h9 \* ^0 e5 X5 M$ q3 b! v+ }. a4 b
注:投掷50次的随机性相当于128位随机数。投掷小于50次的结果随机性则太弱。为确保安全,掌柜的建议大家投掷满100次。! E7 i! l: v" [& Z7 o9 n' \% \

5 `* \8 ?+ Q4 ]% J) z然后,我们打开 Ian Coleman 网页工具,勾选“Show entropy details”。! S. K: w8 E5 @- Y; e' `
设置骰子规格、助记词位数参数,输入上面的50位骰子结果,我们可以得到相同的24位助记词。验证完成!2 M" x/ f4 \7 ]1 g
) i( }) B4 L1 `& s' ?2 I7 L/ [
建议大家验证时,离线使用 Ian Coleman 网页工具(参考网页底部教程),预防恶意软件监控你的键盘、剪贴板以及其他电脑端攻击风险。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

伤心骑士口 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    37