区块链 - 牵一发而动全身的链式结构

前言

我们已经深度剖析了工作量证明和梅克尔树这两个典型的哈希应用,这次我们讨论哈希的第三个应用,也是数字货币的核心内容,区块链的链式结构。

在这里插入图片描述

请大家关注gitcoins抖音频道。我们将会分享有趣的、高质量的、加密货币相关的视频。
在这里插入图片描述

区块的结构

大家都知道区块链是一个链式结构,这个链式结构将一个一个的区块串起来,构成了区块链。我们将其中一个区块放大观察,解剖麻雀,你会发现每一个区块里有一个卡通人,这个卡通人的身体是一个三角形,也就是我们之前讨的论梅克尔树。今天我们剖析区块的头部结构,看看每个区块是如何链接起来的?头部主要包括以下信息:

Merkle Root
Previous Block Hash
Difficulty Target
Nonce

在这里插入图片描述

区块如何链接的

是什么样的信息就能把所有的区块链接起来,形成这个区块链。每个区块的头部信息包含一个哈希值,这个是前一个区块的头信息的哈希值,通过这个哈希值我们可以找到它的前一个区块也叫直接领导区块。也就是每个区块它不知道自己在整个区块链全局中的位置,只知道它的前一个区块在哪。
在这里插入图片描述

反向链接

区块链就像公司的组织结构一样,我们只关注我们的直接领导或一线领导是谁,我们从不关心二线和三线领导是谁,因为是一线领导给你布置工作,决定你的升职加薪。二线领导那是一线领导关心的事情,因为一线领导要充分了解二线领导的性格、爱好、干事风格等,因为二线领导决定了一线领导能否上升。这样随着公司层级的不断上升,公司规模的不断扩大,形成了公司领导的关系链条,也就是公司的组织架构。在计算中,只关心直接领导和一线领导的数据结构叫做反向链接(back-linked list)。
在这里插入图片描述

在区块链中,每个区块的头部中记录了他的直接领导是谁,在这个区块中显示它的直接领导的哈希值是这样的,也就是说,谁的头部信息哈希后是这个值,谁就是我的直接领导。这样区块和他的直接领导产生了链接关系。同样,直接领导的头部也记录着二线领导的哈希值,谁的头部信息哈希后是这个值,,谁就是直接领导要找的二线领导。区块链的世界是如此的美好,所有的区块都是环环相扣。
在这里插入图片描述

扫描二维码关注公众号,回复: 15057187 查看本文章

分叉

区块链和我们的发展一样,很多人都跟着同一个直接领导,有的业务没有做起来,不是风口,不符合市场规律,那这个人也没得到发展和重用,有的人干对了事情,队伍壮大的快,得到的奖励就多。这个过程在区块链中叫做分叉(fork)。
在这里插入图片描述

如果区块中交易被篡改后

如果黑客进入全节点,将一个区块中的交易数据篡改,协议按照规则就会逐步发现问题。 首先,按照梅克尔树的验证规则, 会导致树根的哈希值改变,树根发生变化, 也就是区块头的内容与之前不一样, 那么区块头的哈希值也和之前不一样了。
在这里插入图片描述

也就是直接领导头部哈希值变了, 由于下属区块的信息不变, 下属再也没办法找到直接领导, 这样会导致,出现区块链撕裂和断开现象。
在这里插入图片描述

当全节点再次加载时,后面的链条不再认为是有效的数据,直接被删除了。

在这里插入图片描述

另外,当树根的哈希值改变时,整个工作量证明变得无效了,因为之前的视频也说过头部中的NONCE是根据之前的树根的哈希值等信息,在全网挖矿难度(diffculty)的要求下,计算出来的。如果树根的哈希值发生变化,那么头部中信息(直接领导、时间戳、树根哈希值)与NONCE再一次哈希得到值,通常是不能满足挖矿难度的要求的。也就是这个区块是一个无效区块,被全节点删除。
在这里插入图片描述

到这里大家可以明白,区块链的有严格的安全验证机制,小小的改动就会引起牵一发而动全身的变化,很快被察觉到。

结束语

区块链中哈希的应用无所不在,我们已经深度剖析了如何证明工作量、梅克尔树如何检测防篡改以及区块链牵一发而动全身的链式结构。哈希是打开加密货币的第一把钥匙,为了学习加密货币奠定良好基础,Gitcoins抖音频道为大家持续输出加密数字货币相关的技术原理,通过直观形象的视频和大家共同讨论数字货币的内核,请大家点赞关注。我们下期讨论对称加密和非对称加密的机制。

猜你喜欢

转载自blog.csdn.net/gitcoins/article/details/125938048