区块链每个区块之间的关联

区块被从后向前有序地链接在这个链条里,每个区块都指向前一个区块。区块链经常被视为一个垂直的栈,第一个区块作为栈底的首区块,随后每个区块都被放置在其他区块之上。用栈来形象化表示区块依次堆叠这一概念后,我们便可以使用一些术语,例如:“高度”来表示区块与首区块之间的距离;以及“顶部”“顶端”来表示最新添加的区块。
具体流程
对每个区块头进行SHA256加密哈希,可生成一个哈希值。通过这个哈希值,可以识别出区块链中的对应区块。同时,每一个区块都可以通过其区块头“父区块哈希值”字段引用前一区块(父区块)。也就是说,每个区块头都包含它的父区块哈希值。这样把每个区块链接到各自父区块的哈希值序列就创建了一条一直可以追溯到第一个区块(创始区块)的链条。

虽然每个区块只有一个父区块,但可以暂时拥有多个子区块。每个子区块都将同一区块作为父区块(当然在“父区块哈希值“字段中具有相同的哈希值)一个区块出现多个子区块的情况被称为”区块链分叉”。然而区块链分叉知识暂时状态,只有当多个不同区块几乎同时被不同的矿工发现时才会发生(稍后再谈相关技术细节)。最终,只有一个子区块会成为区块链的一部分,同时解决了“区块链分叉”的问题。尽管一个区块链可能会有不止一个子区块,但一定的是只有一个父区块(就像一个父亲可能有很多孩子,但是每个孩子只有一个父亲#请不要用亲生父亲和养父怼我谢谢#)

由于区块头里面包含“父区块哈希值”字段,所以当前区块的哈希值也受该(即父区块哈希值)的影响。如果父区块的身份标识发生变化,子区块的身份标识也会发生变化(你可以理解是两个值相加,然而事实上还有时间戳这种东西)当父区块发生了改变,父区块哈希值的变化也迫使子区块的“父区块哈希值”发生变化,从而导致子区块的哈希值发生了变化,以此类推。一旦一个区块有了很多后代之后,这种瀑布效应是相当可怕的,牵一发而动全身。正是因为这样的重新计算需要耗费巨大的计算量,所以一个长区块链(最起码是六个)的存在可以让区块链的历史不会被改变,越长的链越值得信任(这是一条信任链),这也是比特币安全的一个关键。

你可以把区块链想象成地质构造中的地质层或者是冰川岩芯样品。表层可能会随着季节而变化,甚至在沉积之前就被风吹走了。但是越往深处,地质层就变得越稳定。到了几百英尺深的地方,你看到的将是保存了数百万年但依然保持历史原状的岩层。在区块链里,最近的几个区块可能会由于区块链分叉所引发的重新计算而被修改。最新的六个区块就像几英寸深的表土层。但是,超过这六块后,区块在区块链中的位置越深,被改变的可能性就越小。在100个区块以后,区块链已经足够稳定,这时Coinbase交易(包含新挖出的比特币的交易)可以被支付。几千个区块(一个月)后的区块链将变成确定的历史,永远不会改变。

猜你喜欢

转载自blog.csdn.net/weixin_40209500/article/details/81385547