📜  区块链区块哈希

📅  最后修改于: 2020-12-18 03:05:43             🧑  作者: Mango

区块链区块哈希

在本节中,我们将学习SHA-256如何应用于在区块链中构建区块。我们将在比特币区块链的背景下进行讨论,并了解这与矿工的角色有何联系。未成年人实际上正在构建区块,并将这些区块添加到区块链中以构建比特币区块链将是什么。

在下图中,您可以看到此块由块号,数据字段,与其关联的加密哈希和Nonce组成。

在上图中,生成的哈希看起来像是00001acbm010gfh1010xxx。我想指出的是,此哈希具有四个前导零。四个前导零表示该块是否有效。出于实际目的,您将看到此哈希对应于随机数,而块号对应于可用数据。由于哈希具有四个前导零,因此它是一个有效块。

如果我们在data部分进行任何更改,它将提供完全不同的哈希,如下图所示。

如果新生成的哈希没有四个前导零,那么它将不是有效的块。为了使该块有效,我们将使用称为nonce的字段来实现。

Nonce代表在密码通信中使用过的数字,以便该块的哈希满足特定条件。可以生成此标准的哈希值,该哈希值的前四位必须为零。因此,生成的哈希看起来像00001acbm010gfh1010xxx

随机数基本上是一个随机数,它指出如何实际使此特定块为您提供有效的哈希。您可以通过手动更改随机数来做到这一点。通常,矿工的Nonce值从1开始,并一直递增该值,直到生成的哈希满足指定条件为止。因此,可能需要进行多次迭代,直到生成具有四个前导零的所需散列为止。在比特币系统中生成区块的预期时间为10分钟。一旦矿工成功开采了该区块,他就将其释放到系统中,并使其成为链中的最后一个区块。

在安德斯·布朗沃思(Anders Brownworth)哈希程序中,当我们单击如图所示的“我的”按钮时,它将给出有效的块。该块具有唯一的随机数,其散列在开头以四个零开头。