当前位置:首页 » 区块链精品文章 » 正文

9.4 忘了保险箱密码:私钥丢失

2481 人参与  2018年08月22日 23:25  分类 : 区块链精品文章  评论

在日常生活中,能够标识我们身份的那就是身份证了,每个人都有自己的身份证号,我们在银行办了卡如果忘记了密码可以凭身份证去银行重设;我们要去办理住房 公积金也是要凭身份证;要买机票火车票等也是要凭身份证。如果身份证丢失了那可就麻烦了,身份证就是我们在这个国家的唯一标识(当然也还有其他证明比如护 照、驾驶证,这里暂且不表)。那么,在区块链应用的世界里,唯一标识一个用户的身份的是什么呢?答案就是私钥。在这里,每个用户都拥有一对密钥:公钥和私钥。

image.png

如图所示,用户在办身份证的时候,系统会首先生成一个私钥,然后根据私钥生成公钥,这俩是一对,然后再对公钥进行一些 编码处理得到一个钱包地址,几乎所有的区块链应用都是这样一个身份管理过程,只是具体使用的算法不同而已。可以看出,私钥是多么重要,掌握了私钥就什么都 掌握了,可以进行转账和任何区块链应用支持的其他操作。

那么,既然私钥如此重要,如果不小心遗忘了该怎么办?凭身份证去哪重设?不好意思,如果私钥丢失了,那就是真的丢 失了,没有任何人能够帮你恢复,假如你的某个钱包地址下有大量的数字资产,那可就心塞了。就目前来说,比如比特币系统中,就有很多被遗忘了私钥的地址,其 总额加起来价值数十亿美元,可是一点办法都没有。那就不能破解这个密钥吗,既然公钥是公开的,那可以想个办法推导出私钥,大不了慢慢去试。就目前世界范围 内广泛使用的公开密钥算法,比如RSA(基于大素数分解困难度的算法)、ECC(椭圆曲线密码)等,还都没有被破解的先例,如果是去慢慢地试(暴力破 解),那在数学概率上是很低的,基本上相当于从唐朝开始试,试到现在也看不见希望的那种。

现在的很多钱包软件,为了追求使用的便捷性,发明了很多钥匙串技术,比如HD(Hierarchical Deterministic Wallets,分层确定性钱包),使用一个私钥生成更多的私钥,从而使用一把私钥就可以管理自己众多的地址,那可就更不得了了,如果这把私钥丢了,那就 是丢了整个钥匙串。

image.png

如图所示,方便是方便,不用记住那么多的私钥了,但是方便的反面就是潜在的危险。当然了,这个问题也并非无解,还是可以有一些其他的安全措施的,比如制造 一个硬件钱包,跟U盘一样往电脑或者手机上一插,通过指纹识别然后启用私钥进行操作;或者通过一段自己能记住的话语来生成私钥,这样能相对有效地防止遗 忘。还有一种做法,那就是使用多重签名,这个技术要运用到智能合约,比如Alice创建了一份资产合约,其中有价值1000的数字货币,此时Alice在 合约中做了一个规则,当要一下子提出所有的资金时,必须要他本人和Bob同时签名(多重签名技术)才行,如果只有一个人签名,则每天只能提取10元,此时 如果Alice忘记了自己的私钥,则可以通过Bob慢慢转出这笔钱。

来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=62

区块链是什么  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>

网站分类

标签列表

最近发表

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

本站资源大部分来自互联网,版权归原作者所有!