首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

钱包地址生成 区块链数据层

我们在使用imToken创建钱包时,系统会随机出现几个英文单词,简称为“助记词”,之前文章提到过(虚拟货币投资入门实操指南),千万不可以泄漏“助记词”,不然你的钱包里面的虚拟币可以被黑客随时提走,那这里面是什么原理呢。

助词计这种方式,我们称为大脑钱包。就像我们平时登录微信,QQ,转账汇款一样,我们并不需要记住太多的地址,我们只要知道我们脑海中的那个密码就好了,同样的如果我们能够通过一个口令就能生成一对公钥/私钥,并进而生成首款地址,那岂不是方便了很多,咱们再也不用记住那么长的一串地址了,只要时时刻刻记得自己平时常用的密码就好了。

但是,如果一个黑客猜到你的口今的话,他还是可以偷走你大脑钱包里的所有私钥。在电脑安全领域里,我们通常假定黑客知道你生成密钥的步骤,黑客不知道的只是你的的口令。所以黑客可以尝试使用不同的口令,生成地址,并在区块链中查看这些地加止上是否还存在未被使用的比特币,一且发现比特币,黑客就可以迅速把这些比持币转给自己。黑客可能永远都不知道(或者根本不关心)这些比特属于谁,这类攻击也不需要入侵任何设备,猜口今不针对任何人,所以也不会留下任何痕迹。

这种方法与尝试破解电子邮箱密码的方法不同:郎件题务器远对码试错有一定的次数或频率限制(被称为在线猜测),但是对于大脑钱包而言,黑客可以下载一堆未被使用的比待币的地址,然后用电脑程序去慢慢地试错,黑客都不需要知道大脑钱包的地址,这被称为离线猜测或者密码破解。相应地,设置口令的难度大大增加了,又要容易记住,又要不容易被猜中。可以使用自动程序生成一个80位的数字然后将其转换成口令。

imToken这样的钱包使用了一种简便的方法来生成一个可记忆的口令:从最常用的10000英语词汇中,随机选择6个词,从而生成大致80位长度的字节[6×loga(10000)大致等于80]。很多人发现这个方法比随机取字母容易记忆,因为这种方法生成的口令通常是下面这样子的:

worn till alloy focusing okay reducing

earth dutch fake tired dol occasions

在实际操作中,我们可以让程序生成密钥的速度变慢(为程序加入一个延迟),这样,黑客通过试错法来破解私钥就需要花费很长的时间,这就是所谓的密钥延展( key stretching)。比如.为了使密钥生成变慢,我们可以让程序把本来很容易计算的哈希函数SHA-256算上2^20次,这样一来就把黑客的工作量增加了2^20倍。当然,如果太慢的话,用户在使用比特币的时候,也会i计算得很慢,这也很麻。

如果你彻底忘记了大脑钱包的口令,钱包里的比特币就永远取不出来了

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180507G1LYY000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券