量子计算机的威胁?区块链告诉你:不存在的

区块链自诞生以来,其不可篡改性、去中心化的特点,让大家对它的前景充满了想象力。但是,也有一部分人提出了自己的质疑:区块链中使用的密码学相关技术是否安全?量子计算机普及之后,又会对它有怎样的影响?

今天这篇文章就来为大家揭开区块链技术的核心:哈希函数,以及它究竟有多安全。

01 什么是哈希函数

在“狂轰乱炸”了一年以后,相信大家都知道了什么是比特币,什么是区块链,也对区块链中的核心之一“哈希函数”有所听闻。

哈希函数是区块链的核心技术之一,正因为哈希函数的不可逆性,保证了区块链的安全。

哈希函数和很多其他的学术概念一样,说简单一两句话也能懂,说难了跟“无字天书”没啥区别。今天不跟大家走“知乎风”了,咱们接地气地来看一看,哈希函数究竟是什么。

一句话来总结,哈希函数的特点就是:失之毫厘,差之千里!

凡是函数,基本都可以写成以下这种形式:

f(x) = y

其中,x是输入,y是输出。哈希函数也不例外。

哈希函数的输入可以是任意信息或文件,但输出是固定的256位比特串。请一定牢记这一句定义,记住了这话,就抓住了哈希函数的精髓。

下面,举一个哈希函数的例子,语句I am HammerWang的哈希值:

hash("I am HammerWang") = 11000111000001010000001011111101110111011110001100011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

然后,我们只把其中的H换成小写的h:

hash("I am hammerWang") = 100100110101110110110011101010100110100010001000010110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

通过对比,大家可以看到,即使输入改变了一个字母的大小写,输出结果也相差很大。

那么,如果我们知道了哈希函数的输出/结果,要倒推输出,可以怎么做呢?

答案就是,除了猜,没有更好的办法!

注:“猜”的意思是,随机猜测输入,然后检测输出结果是否与已知的结果相符。所以,很容易就可以推算出,如果要猜出哈希函数的正确结果,我们大概平均要猜测2^256次(2的256次方)。

这里补充一下哈希函数在区块链中主要在哪些关键处被使用:

签名 :保证个人账户安全;

区块头哈希值: 保证了整个区块链系统的不可篡改性;

从以上两点,我们可以看出,无论从整个系统还是用户自身的角度出发,哈希函数都是至关重要的一个函数。一旦这个函数被攻克,那么整个区块链的安全岌岌可危。

很多人或许会很关心区块链的安全性究竟如何,但又很难想象2^256(2的256次方)到底是怎样一个量级?下面,我们就介绍本文最令人激动的部分:2^256到底有多大?

 02 

2^256

有多大?

曾经看到这样一个故事:

有两个原始部落的酋长,他们就想说我们怎么找到一个很大的数字。于是,他们每个人说一个数字,看谁说的数字大。第一个酋长想了一会儿,说了一个数字”3”,第二个酋长想了半天,说你赢了!

如果让那个酋长想象1万亿有多大,他可能得会选择死亡。不过,这依然可能比我们想象2^256有多大,要容易得多。

为了更方便大家想象,我们先把2^256拆解成(2^32)^8, 也就是:

2^32 *

2^32 * 2^32 * 2^32 * 2^32 * 2^32 * 2^32 * 2^32 

这样做的好处就是,2^32大概是一个我们可以想象的数字:

2^32≈40亿

这样我们就进一步可以把问题想象成:40亿连乘8次。

这是一个多大的数字呢?下面,我们将依次讲解每一个40亿:

1. 第一个40亿

大家都知道,现在深度学习之所以采用GPU,是因为GPU可以飞快地进行大量的并行计算。

所以,如果我们采用GPU来破解哈希值的输入,一个性能很好的GPU每秒大概可以算出接近10亿个哈希值。假设我们的电脑每秒都需要计算40亿次的话,大概需要“塞进去”4个(理想情况下)这样的GPU,这样的话:每台电脑的计算速度大概就是40亿次/秒。

2. 第二个40亿

现在,我们已经有了一台每秒可以计算40亿次的电脑。那么接下来,想象一下有40亿台装有这样GPU的电脑。

到这里大家可能要“懵逼”了,40亿台电脑又是什么鬼?完全想象不出啊。

虽然Google没有透露自己的集群数量,不过估计说,大概几百万台。现实生活中,绝大部分Google的电脑,性能都没有我们上面提到的“40亿次/秒”的电脑强。不过,我们姑且就算谷歌有这么强的实力吧,那么截至第二个40亿,差不多就相当于我们有:1000个这样“打了鸡血”的谷歌,我们暂时就把这个算力称为“千谷歌”吧。

3. 第三个40亿

2018年,全世界人口大约74亿,所以第三个40亿很简单,截至第三个40亿,我们就假设:全世界有一半多的人,每人人手一个“千谷歌”。

4. 第四个40亿

想必到这儿,有些人已经猜到了“第四个40亿”是什么——让我们想象有40亿个这样的地球。

作为参考,银河系大约有1000~4000亿颗恒星,所以截至第四个40亿,就相当于:银河系1%-4%的恒星会有一个地球,每一个地球上都有一半多的人人手一个“千谷歌”。

5. 第五个40亿

接着,想象有40亿个这样的银河系。这大概是“2^160次/秒”的算力了。让我们再给它一个称呼吧:亿万星系超级计算机。

6. 第六个40亿和第七个40亿

第六和第七个40亿,咱们就不在每秒的运算次数上继续扩展了。第六个40亿等于40亿秒:40亿秒 ≈126.8年。而126.8年的40亿倍,就是:5070亿年。

到了这里,5070亿年,这又是个难以想象的数字。那么我再给出一个参考数字:宇宙的年龄≈138.2亿年,所以5070亿年,约等于宇宙年龄的37倍。

到现在,我们就有了一个很酷炫的总结,即使我们有:

满载GPU电脑组成的千谷歌(1千个谷歌),并且地球上超过一半的人人手一个这样的千谷歌,银河系4%的恒星中都有一个这样的地球(40亿个地球),满负荷不断地猜上37倍的宇宙年龄的时间。

我们依然只有40亿分之一的概率(第八个40亿),可以猜到正确的输入值。

顺便提一句,目前比特币的哈希算力,把所有的矿工全部加在一起,每秒大概能猜测并检验500亿亿个哈希值。

这是个很大的数字吧。那么我要告诉你,这大概只相当于上面提到的“千谷歌”的1/3。

现实生活中,矿工们当然不会这么傻,使用这么贵的GPU来计算哈希值,而是用一种专门为计算哈希值而生的芯片ASIC来计算,它牺牲了其他的功能,别的都不会,就会计算哈希值,算力大概是GPU的1000倍。

 03 课后题

为了让大家更加深刻地理解“2^256”的大小,大家可以自行百度量子计算机的算力大小,仿照上面的计算过程,计算出:如果我们全部使用量子计算机,要想破解哈希值的话,大概是一个怎样的难度?

如果你依然觉得量子计算机会对区块链造成威胁的话,没关系,通过算法调整,我们可以把256位改成512位啊!

#硬盘挖矿# #硬盘狗社区#

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352

推荐阅读更多精彩内容