为什么区块链是不可篡改的

真是很秃ran · · 581 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

区块链的数据结构是由包含事务信息的块按远近顺序排列的。块按远近顺序在这个链中链接,每个块都指向前面的块。

区块链通常被视为一个垂直堆栈,第一个块是堆栈底部的第一个块,然后将每个块放在前一个块的顶部。使用堆栈将块依次堆叠的概念可视化之后,我们可以使用一些术语,如“高度”来表示块与第一个块之间的距离;和“top”或“top”表示新添加的块。

每个块头生成一个SHA256加密散列来生成散列值。使用这个散列值,可以标识区块链中相应的块。同时,每个块可以通过其块头的“父块哈希值”字段引用前一个块(父块)。更多区块链知识

也就是说,每个块头包含其父块散列值。这样,通过将每个块链接到相应父块的散列序列,就创建了一个返回到第一个块(创建块)的链。

虽然每个块只有一个父块,但它可以临时有多个子块。每个子块具有与其父块相同的块,并且在“父块哈希值”字段中具有相同的(父块)哈希值。在一个块中出现多个子块的情况称为“块链叉”。

区块链分叉只是暂时的,并且只在多个不同的块几乎同时被不同的矿工发现时才会发生。最后,只有一个子块成为区块链的一部分,解决了“区块链fork”的问题。虽然一个块可能有多个子块,但是每个块只有一个父块,因为一个块只有一个“父块散列值”字段可以指向它惟一的父块。

由于块头包含“父块哈希值”字段,所以当前块的哈希值也会受到字段的影响。如果父块的标识改变了,子块的标识也会改变。

当父块中有任何更改时,父块的哈希值也会更改。这将迫使子块的“父块哈希值”字段发生更改,从而导致子块的哈希值发生更改。子块的哈希值的改变将迫使大块的“父块哈希值”字段发生变化,从而改变大块的哈希值等等。

一旦一个块有许多代,这个瀑布效应将确保这个块不会被改变,除非强制重新计算该块中所有后续的块。正是这种重新计算需要大量的计算,所以长区块链的存在可以使区块链的历史无法改变,这也是比特币安全的一个关键特征。

你可以把区块链想象成地质构造中的一个地质层,或者是冰川核心的一个样本。沉积前表层可能随季节变化,甚至被风吹走。但在更深的地方,地质结构变得更加稳定。在几百英尺深的地方,你会看到保存了数百万年但仍然具有历史意义的岩层。

在区块链中,由于区块链分支导致的重新计算,可能会修改最新的块。最近的六块地在表土里只有几英寸深。但是,在超过6个块之后,块在区块链中的位置越深,更改它的可能性就越小。100个街区之后,区块链足够稳定,可以支付Coinbase交易(包括新挖的比特币交易)。经过数千个街区(一个月)后的区块链将成为一个确定的历史,永远不会改变。


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:真是很秃ran

查看原文:为什么区块链是不可篡改的

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

581 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传