比特币区块链 - 验证过程

Bitcoin Blockchain - Verification process

如标题所述,基本上我的问题是关于区块链验证的。我知道什么是区块链并且基本上了解挖矿是如何工作的,除了曾经很简单的事情。

假设我们有 2 个人,Bob 和 Adam。

Blockchain:

    |1|-|2|-|3|-{4}   - Bob Chain
    |1|-|2|-|3|-{4}   - Adam Chain

假设 Bob 和 Adam 都找到了一个新块,但是直到 某人 找到下一个块后才会对其进行验证。所以我的问题是,如果 Adam 找到块 |5|,会发生什么情况?第一的。 Bob 会因为找到区块而获得奖励吗?或者这意味着如果 Adam 找到了一个区块,他必须找到下一个区块,这在没有庞大的计算资源网络的情况下非常困难,以验证他之前的区块 |4|。并获得 12.5 个比特币区块 4 的奖励,因为节点将只接受最长的区块链?我希望我清楚地说明了图片。我试图在不同的视频和资料中找到答案,但不知何故这方面被搁置了。如果我的假设是正确的,那就意味着如果没有庞大的网络,一个人怎么能从挖矿中赚到钱呢?

首先,在比特币中,当有人创建一个块时,他会将其广播到网络的其余部分。正如你所说,如果有两个人同时创建区块,他们将广播它。因此,您将同时获得两个块。虽然你保存了两个块,但你会尝试挖掘其中一个。一段时间后,两个分支中的一个会更长,因此您将删除第二个。

  • 区块链的矿工会创建一些块,一段时间后分支会变长。

在区块链中,当一个块上面有 100 个块(我不知道具体有多少)时,它就被认为是好的。所以,奖励是在 100 个区块之后,而不是之前。

A​​dam 或 Bob 中的谁获得奖励取决于谁的区块最终保留为 'Best chain' 的一部分。这反过来部分取决于共识规则,部分取决于事情是如何发生的。解释如下

  • Adam 和 Bob 声称他们通过几乎同时向对等方广播的方式首先找到了区块。
  • 让我们假设一个名为 'ITWala' 的节点看到了这两个高度相同的块。假设 Adam 的区块首先到达 ITWala 的节点。所以这会导致在区块链术语中被称为 'forking' 的东西,并且很正常地发生。

**Chain status on ITWala's node leading to forking **

 Block1 --> Block 2 --> Block 3 --> Block 4 (Adam's Block)
                                |
                                |--- Block 4   (Bob's Block)

可能会发生以下情况之一:
案例 1 - 为了简单起见,假设 Bob 是唯一一个对区块 5 提出要求的人。现在 'ITWala' 收到区块 5。他试图通过尝试使链更​​长安装在 Adam 的 Block 4 创建的叉子的一端。它不适合,因为前一个块的哈希值不匹配。
结果 Adam 区块末尾的分叉被丢弃。与 Bob 的区块的分叉成为活动链,因此 Bob 成为 4 和 5 奖励的赢家。

案例二: 区块 5 由 'ITWala' 或与 ITWala 节点上的副本同步的 ITWala 的某个对等节点创建。
结果:在这种情况下,ITWala 将使用 Adam 的区块激活最先到达的最佳链,使他成为区块 4 的获胜者。区块 5 授予 ITWala

可以有更多的组合。然而,这里的要点是,留在最佳链中的区块赢得了奖项。