主页 > imtoken苹果版下载 > 区块链技术挖掘的7个步骤

区块链技术挖掘的7个步骤

imtoken苹果版下载 2023-07-01 06:05:11

第 1 步:发起交易

用户进入钱包,执行交易操作,将加密货币或代币发送给另一个用户。

第二步:进入交易池

现在这个交易被钱包广播了,等待区块链上的矿工去捡。它将在“未确认交易池”中等待,直到被拾取。

所有等待处理的交易都将在未确认交易池中。未确认交易池不是网络上的一个巨大的池子,而是分散在矿工周围的许多小型缓存池。

btc矿池挖矿_btc挖矿流程_btc挖矿设置

第三步:确认要打包的交易

区块链网络上的矿工(有时称为节点)从未经确认的交易池中选择交易打包成数据块。一个数据块基本上是交易数据(此时仍然是未确认的交易),除了一些额外的元数据。每个矿工打包自己捡到的交易数据块,多个矿工可以选择打包相同的交易数据。例如,两个矿工,矿工 A 和矿工 B,都决定打包交易 X。

每个区块链对数据块都有最大限制。在比特币区块链上,这个最大值是 1MB。

在打包一笔交易之前,矿工需要根据区块链的历史数据,检查该笔交易是否符合打包条件。根据区块链历史数据记录btc挖矿流程,如果付款人的钱包有足够的余额,则认为该笔交易有效,可以打包上链。

如果比特币持有者想要加快交易进度,他可以选择支付更高的挖矿奖励。矿工通常会优先考虑这些支付更高挖矿奖励的交易。

btc矿池挖矿_btc挖矿设置_btc挖矿流程

第四步:计算签名块

矿工的工作是选择交易数据并将它们打包成块。要将这些块添加到区块链中(这意味着使区块链上的所有节点都接受该块的数据),首先需要对数据块进行签名(也称为“工作证明”)。这个签名是在解决一个非常复杂的数学问题后得到的,并且这个签名是唯一的。每个块要解决的数学问题的难度是相同的。要解决这个数学问题,需要大量的计算能力(因此也需要大量的电力)。这个过程称为挖矿。如果您想了解有关此主题的更多信息btc挖矿流程,请继续阅读,如果您只想简要概述,请跳​​至第五步。

挖矿是哈希(工作证明)

矿工在打包区块时需要解决的数学问题,其实是寻找一个以一定数量的零开头的哈希函数(即签名)的输出。这听起来很复杂吧?不过不难理解。

btc矿池挖矿_btc挖矿设置_btc挖矿流程

在开始之前,我们需要了解什么是哈希函数。哈希函数很难求解,但其结果很容易验证。

哈希函数的输入值可以是任意字符串,随机输出一串32位的字母和数字。如果输入有任何微小的变化,输出也会随机变化。但是,相同的输入字符串只会给出相同的输出。

矿工要打包的交易数据是一个字符串,如果经过哈希处理,会得到一个32位的输出值。比特币区块链有一条规则,即打包数据块的签名必须以一定数量的零开头。但是哈希计算的输出值对于它的每一个输入值都是随机的,那么如果输入字符串经过哈希处理后没有得到那么多以零开头的值怎么办?这就是为什么矿工需要不断地改变区块中一个叫做“nonce”的值。每次改变nonce的值,都会改变区块的数据,经过hash运算后得到的签名也会不同,即每改变一次nonce的值,就会得到一个全新的签名.

矿工反复改变nonce的值,直到得到满足要求的签名。

在下面的示例中,签名以 7 个零开头。但是需要多少个零取决于区块链上块的难度。出块难度的问题比较难。

btc挖矿设置_btc挖矿流程_btc矿池挖矿

这就是为什么矿工需要为他们打包的区块找到一个有效的签名,以及为什么需要如此多的计算能力来解决这个数学问题。试想一下,改变 nonce 值这么多次需要多少时间和计算能力。此外,随着越来越多的矿工加入区块链,哈希的难度会增加,导致电费增加。现在我们进入第五步。

注意:这个过程实际上并没有被定义为数学问题,而是一个确定性问题 - 计算机对一个数字执行预定操作,以查看输出是否合乎需要。

第 5 步:广播块

矿工找到一个合格的签名,他可以将他的区块和签名广播给所有其他矿工。

btc挖矿设置_btc矿池挖矿_btc挖矿流程

第 6 步:验证区块

其他矿工现在想要确认通过广播接收到的块签名的有效性,他们必须对块进行哈希处理以检查它是否输出以这么多零开头的签名。如果检查通过,其他矿工认为该区块有效并同意将其添加到区块链中(他们有一个共识,即所有矿工都相互同意,因此称为共识算法)。这也是“工作证明”的用武之地。签名是矿工工作的证明(所花费的计算能力),现在可以将数据块添加到区块链中并分发到网络上的所有其他节点。只要这个数据块中的所有交易数据与区块链上的历史数据一致,其他节点就会收到这个数据块并保存。

第 7 步

当一个数据块被添加到区块链时,区块链上的所有块都认为它是正确的。比如我的交易被包含在502区块中,而这条区块链现在到了507区块,这意味着我的交易数据已经被确认了5次(507-502)。它被认为是正确的,因为每次都有是链上的另一个区块,区块链会对所有的交易记录达成共识,包括你的交易和你的区块。可以说,到这个时候,你的交易已经被确认了5次。这也是Etherscan指的什么时候它显示交易详情。您的交易被确认的次数越多(即它嵌入区块链的深度越深),攻击者就越难更改它。

每次在区块链上添加新交易时,所有矿工都需要从第 3 步重新开始,打包一个新的交易数据块。