最近柬埔寨一个杀猪盘团伙12万个比特币被美国政府没收的事传遍了整个网络。很多人读到这个消息的第一反应就是“比特币还安全吗?”甚至认为“比特币完了”。
我好几位朋友问了我这个问题,文章下面的留言中也有读者提到了这个问题。
关于这个问题我觉得吴说的文章《柬埔寨杀猪盘大佬的12万个比特币:如何被美国政府没收?》(全文见文后参考链接)还是解释得比较清楚的。
如果把文章的内容提炼一下大体可以总结为:
他存放比特币的钱包私钥在生成的时候就是有明显漏洞的,这个漏洞的根源是随机数的随机性不强。亦或者钱包持有者在链下留下了一些关于私钥的信息被美国政府掌握。
如果是持有者自己泄露了信息那问题就是持有者本身而和私钥的安全性无关。
如果是私钥本身的安全性不足,那就是产生私钥的钱包软件存在问题:它的随机数随机性不够-------这一点是值得我们关注的。
理论上,现在的计算系统所产生的随机数都不是真正的随机数,而是伪随机数。只是随着科技的进步,人们发明了很多方法让这些数尽可能的接近真正的随机。
如果密钥的产生所使用的随机数实在是太“伪”了,这就会给攻击者留下明显的漏洞,猜出密钥是什么,从而盗取钱包中的币。
我以前在一家区块链公司工作的时候,公司的工程师有一次好玩使用特殊工具生成了一大堆包含吉祥数字的以太坊钱包地址,然后送给了好多同事。
像这样的钱包它的密钥就不是用接近真实随机数的“随机数”生成的,所以它的密钥就很不安全,很容易被攻破。
尽管如此,还是有好些同事真的往里面存一些以太坊,用它来转账。他们当然知道这些钱包不安全,但还是用它来转账。这么做纯粹就是图个乐,尤其是向圈外人炫耀。
还可以用一个更通俗的例子来说明私钥的随机性有多么重要。
我们都申请过电子邮箱。在申请邮箱时,我们都要求自己设定一个密码,通常很多邮箱都要求密码至少8位,并且要是大小写字母、特殊符号和数字的组合。
如果按照这个方法来设置密码,在一般情况下,位数越多,越不容易被攻破。
但有人就是不遵守这个规则,他偏偏把所有的位数都设为一个字母或者一个数字或者一个特殊字符,而且还无意中透露出自己设定密码的这个习惯。
在这种情况下,攻击者想要攻破他的邮箱就易如反掌了。
如果读者中有较早进入这个生态的用户应该有这样的记忆:
早期的钱包在生成种子词(密钥)时会要求用户拿着鼠标在屏幕上随机的滚动。这么做的目的就是通过用户的随机行为增加密钥的随机性。
现在很多钱包已经不再这么要求了,因为已经有了更好的体验和更好的取随机数的方法。
所以一般来说,如果使用的是大牌、老资格的钱包品牌,它们所生成的私钥还是比较安全的,普通用户也不需要太过于担心。
实际上对于技术派的玩家来说,甚至可以自己用物理方法生成随机性强的密钥,这就更可以放心了。
总之,这个案例仅仅只是个案,它反映的问题更多的不是比特币机制本身的安全问题,而是人为操作的问题或者钱包软件的问题。
总体上来说,比特币、以太坊乃至一般严格基于密码学生成的钱包仍然是安全的。
参考链接:
https://mp.weixin.qq.com/s/rdLsYDPfi0P1bVEtIdOoDQ
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。