当前位置: 首页 > 教程 > 区块链 >

块哈希如何在区块链中工作?

精华
小牛编辑
185浏览
2023-03-14

区块链是以数字方式存储数据的概念。这些数据以块为单位。这些块链接在一起并使数据不可变。当数据块与其他块链接时,其数据永远不会再次更改。它可以公开提供给任何想要再次看到它的人,它以添加到区块链的那个序列显示。没有人可以在区块链上更改该信息。

在上一节中,我们已经学习了如何构建块以及加密哈希如何与整个过程相关联。在这里,您将学习区块链如何将所有这些概念结合使用,以保持完整区块链的完整性。

想象一下如下图所示的一堆交易数据。
交易数据

在上面的图片中,可以看到该块按时间顺序组装。第一个块跟随第二个块,然后是第三个块,然后是第四个块,可以根据需要继续它。在这里,有一个块编号字段,数据字段,随机数字段,哈希值字段和前一个字段。前一个字段对应于前一个块的哈希值字段。

我们知道区块链中的每个块都以加密方式绑定到下一个块。在上面的示例中,块1中的前一个字段为零,因为块1没有先前的哈希值,因此其值为零。在第二个块中,会发现前一个字段中有一个哈希值,它引用了前一个块哈希值。这个过程一直持续到最后一个块。

现在想象一下,如果任何块中的数据都被改变了。假设在块2中已经改变,块2中的数据现在是不同的,这意味着该块也获得了新的签名。与此新数据集对应的签名不再链接到其他块。它只是中断了第2个块,因为哈希不再有效,并且它也会使一直到链末尾的每个块都无效。这向区块链的其他用户表明块2中的某些数据已经被改变,并且因为区块链应该是不可变的,它们通过转回区块链的前一条记录来拒绝这种改变,所有区块仍被链接在一起。这是区块链的主要优点。

现在,如果试图修复它,可以做到的唯一方法就是找出一个可以在上一课中解释过的随机数。所以只需要一个块然后尝试。如果它没有给出有效的散列,那么尝试使用两个,三个,四个,如果它们都不起作用,那么就简单地挖掘它。当挖掘一个块时,系统会发现这是一个有效的哈希值。它有四个前导零,我们说这是重要的。但正如将注意到的,当尝试对第二个块进行散列时,此散列不会有四个前导零。因此它仍然是一个无效的块。所以也必须挖掘这个区块。并且你必须在每个块一直到链的前面这样做才能解决这里发生的事情。

理解Hash中四个前导零的重要性

现在我们了解拥有四个前导零的重要性。这四个前导零与难度级别的东西联系在一起。难度级别是绑定并构建到区块链网络中的,它决定了为块获取等效加密哈希的难度。在这种情况下,该难度级别要求我们的哈希值小于目标中的哈希值。

出于这个特定目的,需要一个至少有四个前导零的目标。例如,如果散列目标是0000a1b2c3d4e5f6,则小于或等于此数量的任何散列都是有效的块散列。许多哈希值都满足这个要求,其中任何一个都是有效的。但是,找到这样的哈希是一项艰巨的任务。哈希目标越少,找到令人满意的哈希就越困难。

随着新计算机被添加到比特币网络的更多加密散列中,这些难度级别随着时间的推移而不断增加。因此,更多的散列能力意味着难度水平需要上升。此难度级别每两周调整一次,以确保实际竞争尝试解决这些加密问题的计算机大约需要10分钟来挖掘新块。

注意:每10分钟一个块=每小时6个块,每天6 x 24个块,以及两周内6 x 24 x 14 = 2016块。

例如:如果要找到小于或等于0FFFF的哈希值,则有65,536个选择。但是,如果要找到小于或等于000FF的哈希值,则只有256个选择。较低的目标数意味着更少的选择。通常,我们在哈希中需要更多的前导零,要找到令人满意的哈希要困难得多。