以“天河二号”持续计算每秒3.39亿亿次的运算速度,需要多久可以破解比特币?
喜欢请点赞,把好的答案分享给更多人。
关注毒蛇博士,定期为您送上科技金融的毒蛇辣评。
比特币不是不可被“破解”的,但天河二号真的破解不了,不过超级计算机可以用来做更多对国家社会有益的事情,没必要用来挖矿。看了一下已有的答案,其实大家都知道这个结论了,不过对于背后的原因好像并不太理解。
比特币怎么“破解”?“破解”比特币不能像电视剧里的黑客那样,利用漏洞进入到某个系统里面,篡改资料,因为没有这么一个中央系统让你去破解。比特币是去中心化的,资料存放在千千万万个计算机里,并没有一个可以被破解的系统。
可能有的读者知道挖矿,挖矿可以挖出来比特币。那能不能用超级计算机来把比特币全挖光?也不可以。因为比特币的供应速度是固定的,不能大力出奇迹。在比特币诞生之初,大约每十分钟产生50个比特币,这一数字每4年减半,目前比特币的增长速度是每10分钟12.5个比特币,到2140年,比特币的数量达到峰值2100万个就不再增长,目前大概已经被挖出1600万个比特币。背后的原因请参照我另外一个回答:为什么不用超级计算机“神威·太湖之光”,把比特币全挖掉?
破解比特币只有两个方式,一个是篡改公共账本,另一个是破解它的身份认证系统。
篡改公共账本可行么?这个问题我也在另一个相关的问题——为什么黑客不直接修改自己的比特币余额——讨论过,简单的讲就是想要篡改公共账本,首先你的计算能力必须要和其他矿工的计算能力总和相当。我没有具体研究过所有矿工的计算能力加在一起有多大,但是根据经济学均衡的观念,我们可以估算出现阶段所有矿工每小时投入的电费和设备的成本大约在一百二十万美元左右。根据这个估算,我们可以感受到全网的算力到底有多惊人。另外一点是,挖矿用的矿机是专门设计用来挖矿的,而超级计算机要用作解决各种各样的科学问题,在挖矿的效率上,要远远低于矿机。所以仅仅一台超级计算机不太可能篡改公共账本,因为其他矿工的计算能力本来就很高,而且超级计算机效率并不高。退一万步来说,哪怕你用很多台超级计算机连成矿池,同时用于篡改比特币的公共账本,比特币的开源社区也可以进行硬分叉,把账本还原成出错之前的样子。一个类似的例子我在《为什么不用超级计算机“神威·太湖之光”,把比特币全挖掉?》的回答中也有讨论,感兴趣的读者可以翻一翻。
所谓“破解”比特币还有另外一个方式,是通过破解身份验证问题,将他人的比特币据为己有。破解了比特币的身份认证系统,你就可以假装是另外一个用户,把他的比特币转到自己的账上。身份认证系统是什么呢?这里涉及非对称加密技术,是一个比较复杂的数学问题。我尝试用一个比喻来解释。你到银行取钱的时候,需要给出密码,来证明你是账户的持有人。银行会通过查对你的账号和密码是否吻合来验证你的身份。所以账号和密码可以是完全没有关系的,你给账号设置什么密码都行。但是在比特币的世界,没有银行,比特币是去中心化的,你的密码只有你一个人知道,那怎么验证呢?这个时候数学家想出了一个办法,他们要求账号是密码的一个特定的变化,这样,我就可以秀出我的密码,让大家看看经过这个特定变化,密码是不是变成账号,如果是,就能说明我就是本人。但是这种方式必然会带来另外一个问题。万一黑客从账号猜出密码了怎么办?这就是我之前说的破解身份验证。从数学上可以证明,在现有的计算能力内,哪怕是超级计算机,破解身份验证的可能性都非常小,所以我们暂时不用担心账户密码被猜出。但是,未来要是量子计算机飞速发展,可就不好说咯。
回读者问:
既然比特币那么安全,为什么还常常看到比特币被盗的新闻?
答:如果你细心看报道的话,会发现几乎所有比特币被盗事件都是交易所被盗。交易所被盗一般分为两种情况。一种是交易所监守自盗,其中最著名的例子是Mt.Gox交易所比特币被盗事件。业内普遍认为,是交易所内部人员窃取了客户的比特币,并指责外部人员利用交易所的漏洞窃取了比特币。另一种是交易所存储比特币的账户和密码被盗,造成用户的比特币丢失,比如说Bitstamp交易所。这两种情况都很难说是比特币本身的安全问题。就好比你把银行卡账号和密码交给你朋友,谁知道你朋友不小心泄露了你的密码,你的钱不翼而飞了,又或者你的朋友自己把你的账户掏空,逃之夭夭。这些都很难赖得上银行不是吗?简单地说,只要你把比特币放在自己账户上,保存好你的密码,上述事情就跟你无关。另外一个重要的事件我在《为什么不用超级计算机“神威·太湖之光”,把比特币全挖掉?》一文中有提到,感兴趣的读者可以去翻翻。