最近,比特币提升新纪录,一枚比特币使用价值近15万RMB。针对刚入圈的新人而言,你毫无疑问很关注比特币的安全隐患。
那麼,比特币安全性吗?也就是说,钱包里的比特币,非常容易被网络黑客盗走吗?
01公钥、公匙、详细地址
如同金融机构提款、网上银行转账必须键入密码一样,使用钱包里的比特币也必须密码,这一密码被称作“公钥”。
与“私钥”相匹配的是“公匙”,“公钥”如同你的银行帐户。每一个银行帐户都是有唯一的帐户序号,也就是银行卡卡号。在比特币互联网中,这一银行卡卡号便是“详细地址”。他人只需了解你的“银行卡卡号”(即详细地址),就可以让你转比特币了。
在金融机构,开户流程基本上是“设立银行帐户——给银行卡卡号——设定储蓄卡密码——银行开户取得成功”。但在区块链技术全球里,是先设定“密码”(公钥),再设立“银行帐户”(公匙),最终给“银行卡卡号”(详细地址)。
假如你道路上捡到了一张小纸条,上边只写着储蓄卡密码,但不写银行卡卡号,就算这一储蓄卡密码是确实,你也没法取走有关帐户里的钱。
但在区块链技术全球,你只需知道其他人的“储蓄卡密码”(公钥),就可以了解他人的“银行帐户”(公匙)和“银行卡卡号”(详细地址),可以取走里边的币。
怎么会如此呢?
这是由于在数字货币中,公钥根据数据加密转化成公匙,公钥变换一下文件格式转化成详细地址。换句话说,公钥可以推论出公匙,公钥可以推论出详细地址。
02反方向推论?有门!
即然“公钥可以推论出公匙,公钥可以推论出详细地址”,使用账号里的比特币又务必键入“密码(公钥)”,那网络黑客要盗取你钱包里的比特币,务必、也只需取得“公钥”就可以。
理论上,网络黑客有2种方式盗取你的公钥:
1、根据详细地址/公匙,反方向推论出公钥。
2、一个一个地去试私钥,也就是暴力破解密码。
第一种方式并不行得通,由于比特币选用的加密技术,“失之千里,差之千里!”。键入的內容,稍稍变化就算一丁点的物品,数据加密后輸出的效果和以前輸出的結果也是有天壤之別,并且这种結果沒有规律性可依。
因此,这类加密技术是“单边的”、“不可逆的”,网络黑客没法根据輸出(详细地址/公匙)推论出键入(公钥)。
03暴力破解密码比特币公钥有多么难?
即然第一种方式不行得通,那第二种方式怎样?在解答这个问题以前,大家先了解下公钥是怎么发生的。
假定你抛硬币,正脸朝上为1,背面朝上为0,持续抛256次,把每一次抛的效果记下来,再转化成十六进制数,便是一个比特币公钥。
What? 那么简单?那么骄纵?
没有错,比特币的公钥便是根据程序流程“抛256次钱币”,随机生成的。因此,比特币公钥的实质是256位二进制数。
每一次抛硬币,都是有正反面2面,因此抛256次,一共可以发生「2 x 2 x2 x 2……2 x 2x2」,即256个2乘积,也就是「2的256次方」种結果。因此,比特币的公钥数量,基础理论上面有「2的256次方」个。
注:公钥数量的具体值比上边的标准偏差稍低,由于有一小部分公钥不能用,但对数量危害几乎为零。
「2的256次方」是多少呢?它等于「10的77次方」。那「10的77次方」又是多少呢?
如果我们定居的这个地球,深海、岩层、地下的熔浆所有用碎石子来添充得话,全部地球上的碎石子总数大约是「10的30次方」。换句话说,一个和世界一样大,所有由碎石子构成的星体,必须使用「10的30次方」粒碎石子。
「10的77次方」比「10的30次方」大「10的47次方」倍,整整的47个0。在比一个地球上的碎石子总数还需要多「10的47次方」倍的比特币公钥集里,一个一个地试,破译出某一详细地址相匹配的公钥,真是比海底捞针还难。
因此,就算网络黑客有高性能计算机,都没法暴力破解密码比特币公钥。
这就是为啥很多人说,“比特币第一次根据方式方法,确保了自己的合法财产民族利益侵害”。
04假如比高性能计算机还需要强大?
尽管将来的高新科技怎样发展趋势谁都没法精准预测分析,但如果有一天,人们创造发明了比高性能计算机、量子计算机还需要强大的电子计算机,比特币公钥不就不安全了没有?
的确,很多人想要知道量子计算机究竟对比特币的安全系数是否有危害,如果有威胁,比特币有什么对策可以解决。
由于这个问题并不是三言两语能表述清晰,后边大家会独立开一篇文章,讨论这个问题,敬请关注。
05总结
自然,安全隐患不仅涉及到技术性问题,也涉及到公钥的存放问题。假如由于自身公钥储存不合理,或者计算机中了病毒感染,或者应用的钱包手机软件有系统漏洞或者有侧门,造成公钥被网络黑客窃走,那钱包里的比特币安全系数就无从说起了。
可是,由于自身的过失造成公钥失窃,这锅不可以让比特币背,不是吗?
因此,假如有些人拿比特币失窃事情来怀疑比特币的安全系数,你能怎么回答他呢?