还不懂区块链?你知道“人体蜈蚣”吗

你是不是觉得我在吹牛逼,区块链跟那部惊悚的恐怖片“人体蜈蚣”有什么关系?

说起来也没什么太大的关系,哈哈哈,就是链式结构的关系啦。

啥?你说你没看过“人体蜈蚣”?来!上图!


还不懂区块链?你知道“人体蜈蚣”吗


嗯?是不是觉得很刺激?不过这是怎么跟区块链有关呢?

还是让我们从区块链的单位“区块”先说起,请大家准备好,下面开始对区块链的结构进行解剖!


还不懂区块链?你知道“人体蜈蚣”吗


哇!虽然分出了区块头和区块体,但是一点都不可爱呢!好吧好吧,我再简化了一下:


还不懂区块链?你知道“人体蜈蚣”吗


哈哈哈哈,画工这么棒的吗?

在区块中,有两个比较重要的参数(嗯,我觉得比较重要),一个是前一个区块的哈希值,又称到父。还有一个是默克尔根。他们两都在储存在区块头里面。

啥?哈希是啥freestyle?


还不懂区块链?你知道“人体蜈蚣”吗


哈希并不是嘻哈。

哈希是一种将任意长度的消息压缩成固定长度的算法。你可以想想成你的工资。无论你这个月是勤勤恳恳的每天工作8小时,还是不要命的每天工作24小时,你的工资都是25张100元。

这种算法还有一个特点,就是输入只要有一位不同,输出就完全不同。还是拿工资举例。同样是每天工作8小时的两个月,这个月你在工作中抠了下脚,和没抠脚的那个月工资发放的方式就会完全不同。抠脚的月工资是发的25张100的人民币,没抠脚的月也是发的25张,有100美元,有100日元。不过值得庆幸的是总数都是2500,汇率什么的无所谓嘛。

以哈希算法SHA256为例,它无论算啥都是256位。让它分别加密"Hello, world!0","Hello, world!1"和"Hello, world!4250"。则

"Hello, world!0" 就变成了1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64

"Hello, world!1" 就变成了e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8

"Hello, world!4250" 就变成了0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9

咦?不是256位吗?上面的长度咋是64位呢?因为上面的是16进制!


还不懂区块链?你知道“人体蜈蚣”吗


哈希懂了,那默克尔根又是啥?其实就是对两两哈希进行哈希所形成的一棵树。还是拿工资举例,就是你一个月每天干8小时拿2500,你的领导只管你和隔壁老王,但是领导一个月每天干8小时也拿2500。可你的领导一个月干的活汇总了你和老王干的活的信息量。而你们单位的不管中层领导还是CEO,只要是领导就只管两个人,但人人都拿2500。好开心啊!一点贫富差距都没有呢!它的模样请看下图:


还不懂区块链?你知道“人体蜈蚣”吗


有了默克尔根,想要验证绿色的HK就只需要相关四个蓝色块,就可以凑出虚线框的哈希,而不需要把所有块都收集齐,从而大大减少计算量。

默克尔根的存在保证了如果想篡改一个区块的一笔交易,就要更改这个区块的默克尔根和该区块的哈希值。而该区块的下一个区块头包含了这个区块的哈希值,那下一个区块的哈希也会发生更改,该一笔交易就得篡改一条区块链。简而言之就是牵一发而动全身。

那么区块链就可以如下表示,是不是很有趣啊。

还不懂区块链?你知道“人体蜈蚣”吗


好的,今天先介绍到这里,有什么问题,尽管留言问我。

写这篇文章的时候,比特币市值为45000左右。炒币有风险,入市需谨慎。

PS:这部电影建议大家不要吃饭的时候看哦!


分享到:


相關文章: