Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

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

伤心骑士口
415 0 0
Don′t trust, verify!当我们设置钱包时,最关键的一步就是生成助记词环节。大家研究过助记词是如何生成的吗?4 I1 J# `: y% {

  @! I0 s& D9 G3 Q8 {/ e7 s/ {/ d助记词是由一串随机数生成,我们称为“熵”。而随机数通常是由软件钱包的伪随机数生成器(PRNG)或硬件钱包的真随机数生成器(TRNG)生成。随机数的随机性就是保证我们的助记词(私钥)无法被暴力破解的关键之处。
( H) ^7 M5 k5 }) z5 h% M
! O' ~, R# ^3 E8 J7 G# u真随机数生成器(TRNG)的执行代码一般是由安全芯片厂商提供且不对外公开,也就是说,用户生成真随机数后无法验证,需要信任厂商。
0 U9 d" Q  u9 y* q% Z1 ]+ F2 B- l% \  U# ^9 q' ]
很多用户不愿意信任安全芯片厂商,因此,一些硬件钱包允许用户用投掷骰子的结果作为随机熵值生成助记词,如 Cobo 金库和 ColdCard 硬件钱包。: l# x4 r5 Z  y# `" s' G6 q

& o1 e0 `, e' M) SCobo 金库团队始终坚持“Don't trust, verify”的产品理念,并一直用实际行动去实现它,比如开源操作系统代码和安全芯片固件代码。2 u* F; N6 h6 X( q- ?) S0 v

- [8 X' o% n8 k验证代码无疑是最直接的验证方法,但有一定的技术门槛。那么,对于没有技术背景的用户,我们可以用著名的 Ian Coleman 网页工具来做验证。# B, U6 F) c) D9 U, }" }, }

2 X$ |# \7 o* a3 G6 zTips:做验证前需要升级金库固件到V1.2.1或以上版本。
* c5 [, s2 ]) |  P8 E" I: m2 |$ p% Y6 Y4 _! ~8 Z/ D" \* Z
( E# U. S4 j5 E$ H6 |% u
验证步骤
/ F9 k: w$ C2 H- `+ B7 f/ u4 J2 A3 ]0 j
举个例子:我们投掷50次骰子,获得以下随机数1 `: p, s5 K* f! w4 H9 W+ s8 s

( S: e/ ]: J0 V( G51236422654236551235532545533355551153256611442361
: E6 ^3 m& G7 r  `! |. c( U$ |( X6 o
- k$ ^4 |, l. j6 R8 r7 g我们首先将50位随机数输入到金库,生成24位助记词。: {4 _7 }7 L& w, m# P
, H% N. \7 M8 f7 h! P8 s

( u2 N, @" C0 B# {2 b. _boost nephew sea noise apology three grocery alter season gym leaf token defense today vacuum purse gate swear want road opera fine flag twice" j1 D* L3 r) E: j( i. r2 E

9 u/ g2 ]* ^  G3 R! ~注:投掷50次的随机性相当于128位随机数。投掷小于50次的结果随机性则太弱。为确保安全,掌柜的建议大家投掷满100次。
. k- i7 |8 f" f/ H8 P4 C( n- X
: _4 o: k0 h" m) p然后,我们打开 Ian Coleman 网页工具,勾选“Show entropy details”。
* {% G* n4 O: ]! H' f' t设置骰子规格、助记词位数参数,输入上面的50位骰子结果,我们可以得到相同的24位助记词。验证完成!
0 ~3 c5 T- {, R/ L" x
0 d# O+ d: ]& b建议大家验证时,离线使用 Ian Coleman 网页工具(参考网页底部教程),预防恶意软件监控你的键盘、剪贴板以及其他电脑端攻击风险。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

伤心骑士口 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    37