比特币从09年诞生直径,现已过去12年了,从一文不值到现在的近4万美金一枚,总市值7500多亿美金。现已完全生长为一个庞然大物,那么,比特币现在安全性终究怎样,持有比特币会被其他人偷走吗?

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的37次方」倍,整整37个0。在比一个地球的沙子数量还要多「10的37次方」倍的比特币私钥集里,一个一个地试,破解出某个地址对应的私钥,几乎比难如登天还难。

所以,即使黑客有超级计算机,都无法暴力破解比特币私钥。

这便是为什么很多人说,“比特币榜首次经过技术手段,确保了个人的私有财产神圣不可侵犯”。

04假如比超级计算机还要凶猛?

尽管未来的科技怎么开展谁都无法准确猜测,但假如有一天,人类发明了比超级计算机、量子计算机还要凶猛的计算机,比特币私钥不就不安全了吗?

科普 | 比特币的安全性到底有多高?

确实,很多人想知道量子计算机究竟对比特币的安全性有没有要挟,假如有要挟,比特币有哪些措施能够应对。

鉴于这个问题不是三言两语能解说清楚,后面咱们会独自开一篇文章,探讨这个问题,敬请期待。

05结语

当然,安全问题不仅仅牵涉到技术问题,也牵涉到私钥的保存,钱包授权等问题。假如是由于自己私钥保存不妥,或是电脑中了病毒,或是使用的钱包软件有漏洞或是有后门,导致私钥被黑客窃走,那钱包里的比特币安全性就无从谈起了。

但是,由于自己的失误导致私钥被盗,这锅不能让比特币背,不是吗?

视野开拓

我猜想,两岁的女儿最不能够理解的也许就是爸爸总是出现一段时间就神秘地不见了,希望以后能够向她解释明白。-《转型中的地方政府》

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注