主页 > imtoken下载官网 > 区块链上的每个区块都有什么?这是一篇通俗易懂的干货文章

区块链上的每个区块都有什么?这是一篇通俗易懂的干货文章

imtoken下载官网 2023-01-18 20:34:04

----------

在对“什么是区块链”有了基本的了解之后,我们就可以开始本章的讨论了。

要盖房子,它的基本单元结构是每一块砖;而构成区块链的基本单元结构称为区块。每个块由块头和块体组成。如果把区块链比作一个有头有身的人,更像是一个大白:区块头存储结构化数据,大小为80字节;而块体使用神奇的树状结构来记录块。在此期间挖矿的所有交易信息都需要大量的空间。平均而言,假设一个区块有 400 笔交易,那么区块体可能比区块头大 1000 倍以上。

虽然块头比块体小,但块头始终是块头,大部分功能实际上都是由块头实现的。

为了更好的理解区块链的概念,我们可以把每个区块想象成一个小盒子,里面的交易信息是一个小便签;我们也可以把它想象成一个小黑板,每个区块小黑板分为区块头和区块体,用来登记重要信息。现在让我们看看每个块上都写了什么。

交易区块哈希值如何生成

在上图中,块头中括号中的数字表示每个数据的大小,加起来正好是 80 个字节。区块头包含的数据是:

1)版本

用于标识交易版本和引用的规则。比如Android8.1,或者iOS11.3,blocks也有自己的版本号。

2)上一个区块的哈希值

也叫“父块哈希值”交易区块哈希值如何生成,这个哈希值是通过比较前一个块的块头得到的数据进行哈希处理(SHA256算法),其含义是:每个新挖出的块都与前一个块相连为了;这样一来,新的区块挖出后,你就可以安心喝杯茶了,因为你很清楚,这个区块后面跟着一个可靠的区块,每个节点都验证过了。

交易区块哈希值如何生成

3)默克尔根

如上图,在区块的主体中​​,所有的交易信息首先以两个为一组进行散列,这种结构称为默克尔树,是一棵倒置的树。

我们简化问题,假设块体中有4个交易信息,分别是交易1、交易2、交易3、交易4。Merkle树首先对每一个交易信息进行Hash计算(如果你不这样做的话)不知道哈希,请阅读“什么是区块链?”),得到哈希1,哈希2、哈希3、哈希4。

二楼,就像班主任安排座位一样,分成两组,也就是说Hash 1和Hash 2的字符串排成一排,变成双长字符串,然后计算这个hash值字符串的,我们记为Hash(1&2);Hash 3和Hash 4同上处理得到Hash(3&4),然后向上计数,Hash(1&< @2),Hash(3&4)这两个字符串再次组合,然后进行hash,最终的hash值就是区块头的Merkle根。

对于比特币,真实情况是一个区块包含超过 4,000 笔交易。在更多情况下,让我们从一个案例中得出推论。简而言之,就是将两个分组依次合并、散列、计算,直到计算出最后一个散列值。

交易区块哈希值如何生成

Merkle 树可以快速检查交易数据的完整性,即数据是否被篡改。根据密码学中散列函数的特性,如果有人对数据做某事,计算出来的散列会完全不同。即使我在这 4000 笔交易中只移动了一个小数点,你也可以从 Merkle 树的根的哈希中看出问题。

4)时间戳(时间)

记录这个块的生成时间,精确到秒。每次新区块诞生时,都会被打上相应的时间戳。这样可以保证整个链上的区块都是按时间顺序排列的。

5)难度值(目标位)

出块难度目标。每产生2016个区块,数据块操作难度调整一次。例如,比特币区块链网络可以自动调整挖矿难度交易区块哈希值如何生成,允许矿工每 10 分钟挖一个区块。原本用了14天的时间,挖完2016个区块,不知道哪位大神突然搞到几台算力高的矿机。用了 7 天才完成,这意味着到预定的调整期时,挖矿难度将翻倍。 .

6)随机数

交易区块哈希值如何生成

挖矿相当于矿工做数学题,他们利用计算机或矿机的算力,经过大量计算(专业称为“哈希碰撞”)来尝试一个正确的区块哈希值;在很多情况下,我们也将挖矿称为会计权竞争。

那么,矿工怎么知道你是否正确地尝试了哈希值?随机数就是这个数学问题的解,挖矿过程就是在寻找这个随机数。假设一个新区块的随机数是23333,矿工们开始苦苦尝试各种随机数。 ,直到有幸运星成功尝试了一组数字,这组数字的哈希值为

e401a2f533e853713eea21b878 c1921c19fa9c8b887c1547c771ece46e13f766

而这个字符串就是随机数23333的哈希值!宾果游戏!

挖了一个新区块的节点/矿工向全网广播:“不要挖!这个区块是我承包的!”还有很长的路要走,其他矿工只能放弃这个区块的记账权,开始验证这个区块。新区块验证通过后,成功加入区块链。

交易区块哈希值如何生成

最后总结一下:

1)区块是区块链的基本组成部分。

2)每个区块由一个区块头和一个区块体组成,有一个小头和一个大体。

3)区块头包括:

4)区块体包括这10分钟内的所有交易信息,排列成默克尔树结构。