区块链块 区块链中的“块”是什么?

什么是区块链中的“块”?

众所周知,

比特币是基于区块链的。但是,这是什么区块链?更准确地说,区块链的各个组成部分是什么?

区块链块

区块链是一个数据块。每个块都可以视为分类帐之一。单个块由几个组件组成。它们可以大致分为块头(block head)和块体(block body)。

块头

块头包括六个部分:

·软件版本号

·上一个块的哈希值

·Merkle树的根哈希值

·自1970-01-01世界标准时间以来的时间(以秒为单位)

·当前困难的目标

·特殊场合

软件的版本号

在大多数情况下,软件版本号并不重要。但是,具有特定版本号的挖掘程序可以指示其支持的协议。

上一个区块的哈希值

上一个块的哈希值也可以说是一个块链。由于前一个区块的哈希值包含在新区块的哈希值中,因此区块链的各个区块都建立在彼此之上。没有这个组件,每个块之间将没有连接。

默克尔树的根哈希值

该区块中包含的所有交易都可以汇总为哈希值。这是Merkle树的根哈希。

自1970-01-01 T00:00 UTC以来的秒数

块本身中的时间戳。从1970年1月1日起,时间以秒为单位。

当前困难的目标

表示新散列值必须多小才可以声明有效性。换句话说,每个哈希值都有一个位大小。目标位越低,找到匹配的哈希值就越难。

区块链块_区块链 数字票据_circle 区块链

特殊场合

特定情况是通过工作证明添加的变量。这样,矿工就可以猜测有效的哈希值,该哈希值小于目标值。

这六个组成部分构成了主体。区块头在比特币中起着重要作用,因为它将所有区块连接在一起。您可以将其视为卡车的驾驶舱。这些是卡车通过网络进行控制时所携带的重要文件。

方块

可以将积木视为卡车的装载空间。它包含所有已确认的交易。

当挖掘程序构造一个块时,它将验证交易。换句话说,他主要检查发件人是否有足够的钱。他可以轻松地从区块链中读取此信息。如果发送方要发送10个比特币,他将查看过去的数据块,以查看发送方是否已接收10个比特币。

中的交易

block不仅在列表中,而且在所谓的Merkle树中。

什么是Merkle树?

默克尔树的名字来自数学家拉尔夫(Ralph)

默克尔。许多信息可以用哈希值表示。为此,首先将哈希值分配给数据本身。然后散列被分发并再次合并。最后,默克尔树被合并为哈希值。最后一个哈希值也称为根哈希值,它是树的根。它以相对较短的字符串表示其“叶子”(单个事务)和“分支”(叶子的哈希值)的所有信息。

只要您知道所有分支和叶节点,创建根哈希都是非常简单和快速的。它就像一个哈希函数:在一个方向上清晰,快速地工作,而在另一个方向上则不可能分解。如果根哈希值已知但事务未知,则不可能猜测该事务。

因此,仅使用根哈希是不够的,必须保存块的其余部分。因此,通过重新哈希包含在块中的信息,矿工可以随时验证根哈希值。只要哈希值函数相同,对于给定的数据输入,矿工将始终获得相同的哈希值。这非常方便,因为它们只能检查它们是否与哈希值处于同一级别。

挖掘:搜索特殊的哈希值

在这种情况下,更容易理解工作量证明的挖掘。在挖掘期间,将逐步更改块头以获得特殊的哈希值。标头由五个常数和一个变量组成。常量是软件的版本号,上一个块的哈希值,默克尔树的根哈希值,时间戳和搜索哈希值的目标大小(以字节为单位)

变量是随机数。随机数是由1提议的数字。然后,矿工分配数据的哈希值,并检查数据的哈希值是否低于搜索目标值。如果哈希值大于目标值,则矿工将重复该过程;否则,将重复该过程。因此,它将随机数增加1,并将再次检查哈希值。它重复此过程,直到找到低于目标值的哈希值或从另一个低于目标值的网络工作者处获取另一个块。然后获取这个新块并将其用作下一个块的基础(使用新的哈希值作为“上一个块的哈希值”)。

挖掘是一个超重复过程,其目标是找到一个特殊的哈希值。找到哈希值后,游戏将重新启动。找到特定哈希值的可能性取决于难度。平均而言,比特币每十分钟会发现一个新区块。困难在不断变化,因此该平均值保持不变。

此过程的特殊之处在于,特殊的哈希值只能通过猜测来找到。该速率消耗计算能力和能量。查看特殊哈希值足以看出它是特殊的,因为它以0开头。

以下是比特币区块链中哈希值的示例:

0000000094 bfa4edb1245c347e42452e4418e9fe5a1d24e335b16

哈希值表:区块链的俄罗斯套娃

可以将块简化为娃的想象。最小的洋娃娃是一笔未定价的交易。下一个信封是此事务的哈希值形式。之后,将两个哈希值事务哈希在一起。因此,哈希值将越来越多地被合并。最后,只剩下一个哈希值,即根哈希值或最大的娃。

区块链块

标签:, ,