主页 > imtoken钱包官方苹果 > 区块链矿工如何分七个步骤处理挖矿作业并进行交易

区块链矿工如何分七个步骤处理挖矿作业并进行交易

imtoken钱包官方苹果 2024-01-26 05:12:25

你有没有想过区块链的挖掘过程是如何工作的,或者你的交易是如何被确认并添加到区块链中的?好吧,我也是。因为我找不到任何明确的分步解释......

你有没有想过区块链的挖掘过程是如何工作的,或者你的交易是如何被确认并添加到区块链中的?好吧,我也是。由于找不到任何解释该过程的清晰分步文章,因此我决定深入研究它并编写自己的指南。以下是区块链交易如何通过七个步骤从您的钱包处理到区块链。

第 1 步 用户从他们的钱包应用程序中注销交易,试图从他们那里将某个硬币或代币发送给其他人。

步骤 2 交易由钱包应用程序广播,现在正在等待矿工在相应的区块链上接收。只要它没有被开采,它就会在“未确认交易池”中徘徊。该池是网络上待处理事务的集合。这些未经确认的交易通常不会收集在一个巨大的池中,而是更多地收集在小的分段本地池中。第 3 步 网络上的矿工(有时称为节点,但并不完全相同!)从这些池中选择交易并将它们形成“块”。一个块基本上是交易的集合(此时,仍然是未确认的交易),除了一些元数据。每个矿工构建自己的区块,但多个矿工可以选择相同的交易包含在他们的区块中。示例:两个矿工,矿工 A 和矿工 B。矿工 A 和矿工 B 都可以决定在他们的区块中包含交易 X。块具有最大数据大小。在比特币区块链中,一个块的最大大小是最大 1MB 的数据。但在将交易添加到区块之前,小企业需要根据区块链历史检查交易是否符合执行条件。如果根据现有的区块链历史,发送方的钱包余额有足够的资金,则该交易被认为是有效的,可以被添加到区块中。矿工通常会优先考虑设置高交易费用的交易,因为这会给他们带来更高的回报。第 4 步矿工通过选择交易并将其添加到其块中来创建交易块。要将这个交易块添加到区块链(以便所有其他节点和矿工注册交易)区块链矿工,首先需要对该块进行签名。该签名是通过解决每个交易块独有的非常复杂的数学问题而创建的。每个区块都有不同的数学问题,这意味着每个矿工都在处理他们构建的区块所特有的不同问题,但所有这些问题都同样难以解决。解决这个数学问题需要大量的计算能力(因此需要大量的电力)。这是一个称为挖矿的过程。如果您想了解有关其工作原理的更多信息,请继续阅读下文,否则请跳至第 5 步。这意味着每个矿工都在处理他们构建的区块所特有的不同问题,但所有这些问题都同样难以解决。解决这个数学问题需要大量的计算能力(因此需要大量的电力)。这是一个称为挖矿的过程。如果您想了解有关其工作原理的更多信息,请继续阅读下文,否则请跳至第 5 步。这意味着每个矿工都在处理他们构建的区块所特有的不同问题,但所有这些问题都同样难以解决。解决这个数学问题需要大量的计算能力(因此需要大量的电力)。这是一个称为挖矿的过程。如果您想了解有关其工作原理的更多信息,请继续阅读下文,否则请跳至第 5 步。

Mining aka Hash (Proof-of-Work Algorithm) 当试图向区块链添加一个块时,每个矿工面临的数学问题是找到其块中数据的哈希输出(也称为签名),它表示为以一定的数量连续从零开始。这听起来很复杂吗?但实际上并没有那么难。让我试着用简单的方式向你解释一下。

在我们进一步讨论之前,重要的是要了解散列函数是什么。不用担心,我不会涉及太多技术细节。哈希函数只是一个难以解决的数学问题,但答案很容易验证。

哈希函数接受输入的数字和字母字符串(字面意思是随机字母、数字和/或任何字符串的符号),并将其转换为新的 32 位随机字母和数字字符串。这个 32 位字符串是哈希输出。如果输入字符串中的任何数字或字母发生变化,哈希输出也会随机变化。但是,相同的输入字符串将始终提供相同的输出字符串。

现在将块内的数据视为哈希输入(一串数据)。在对这个输入进行哈希处理时,它会提供哈希输出(一个 32 位字符串)。比特币区块链的一条规则是输出字符串需要以连续的零开头,才能成为区块签名。这是每个矿工在尝试向区块链添加区块时所寻找的;以一定数量的零开头的输出字符串。但是,如果块的数据字符串没有散列到以多个零开头的输出字符串中怎么办?嗯,这就是为什么矿工反复更改他们区块内的一部分数据区块链矿工,称为随机数。由于随机数一直在变化,因此散列函数的输入数据也会发生变化,从而导致不同的散列输出。最终,矿工想要找到一个输入字符串(一串区块数据和字符串),该字符串散列到一个合格的输出字符串(从多个零开始)。下面的例子使用了七个零,但零的数量实际上取决于区块链的区块难度。如果您还没有准备好,请不要点击它。

这就是矿工需要找到符合条件的签名的方式,这就是为什么解决这个数学问题需要如此多的计算能力。猜测这么多不同的随机数需要大量的时间和计算能力。如果你做得很好,现在让我们继续第 5 步。

7zfwEoGwcbccAWE1wNAgjMQulSMylaj611AXu8tn.png

注意:这个过程实际上并没有被定义为一个数学问题,而是一个确定性的问题——计算机正在对数字执行一个预定的操作,看看输出是否是它想要的。步骤 5 矿工首先为他们的区块找到一个合格的签名(解决方案),将此签名广播给所有其他矿工。

第 6 步 其他矿工现在验证解决方案是否与发送者的块的问题相对应(如果散列输入实际上导致了该签名)。如果可行,其他矿工将确认解决方案并同意该区块可以添加到区块链中。这就是“工作证明”的定义的来源。找到解决方案的矿工将他的“工作证明”(又称解决方案)发送给其他矿工,然后他们将验证该解决方案是否合法。如果是,那么其他矿工将同意并在区块链上达成“共识”。现在可以将块添加到区块链并广播到网络上的所有其他节点及其签名。只要区块内的交易与当时的钱包余额(交易历史)正确对应,

步骤 7 如果大多数矿工达成共识,则将该区块添加到区块链中。每次在该块的顶部添加另一个块时,将被视为对其下方块的另一个“确认”。例如,如果我的交易包含在区块 502 中,并且区块链有 507 个区块长,这意味着我的交易有 5 个确认(507-502)。这也是 Etherscan 向您展示的交易详情所指的内容你的交易的确认越多,攻击者就越难改变它。当一个新的区块被添加到区块链中时,所有矿工都必须从第 3 步重新开始,形成一个新的交易区块。矿工可以' t 继续(好吧,他们可以,但这无关紧要) 挖矿也解决了他们正在处理的区块,原因有两个。

1.它可能包含由添加到区块链的最后一个区块确认的交易,因此其中一些交易现在可能无效,从而导致整个区块无效。

2.每个区块都需要将添加到区块链最后一个区块的哈希输出添加到其元数据中。

wGLVlLPWRTgC0NSjzA6vNhdYWTS8HABMK8WnElUm.png

这就是为什么它是区块链。如果矿工继续挖掘他们已经在处理的区块,其他矿工会注意到哈希输出与区块链上最近添加的区块的输出不对应,并将拒绝该区块。

O9aMeEcnoMmafvl3hNYDqfzL3QBikzgvezwkms7j.jpeg