挖矿如何在区块链中进行加密交易?

有没有想过挖矿在区块链中是如何工作的,或者交易如何确认并添加到区块链中?我也是但是由于我没有对此过程进行清晰易懂的分步说明,因此我决定自己编写。因此,我们向您介绍有关如何在区块链上处理交易的主题的研究结果。

仅需七个步骤:

  • 步骤1:打算向他人发送一定量的加密货币或令牌的用户,在其钱包应用程序中确认交易。
  • 步骤2:然后,交易由钱包应用程序传输到相应区块链的网络。在那儿,她掉进了“未经确认的交易矿池”,在那里她会一直待着,直到一些矿工将她捡起来。这样的矿池是待处理的未确认交易的集合。大多数情况下,未经确认的交易不是收集在一个巨型矿池中,而是收集在分开的小型局部矿池中。
  • 步骤3:位于网络上的矿工(有时称为节点或节点,但这与矿工并不完全相同),从矿池中选择事务并从中收集新的“块”。实际上,一个块是一组事务(此时仍存在未确认的事务),外加其他元数据。每个矿工收集自己的交易区块。相同的交易可以由不同的矿工添加到其区块中。
  • 示例:考虑两个矿工,矿工A和矿工B。这两个矿工都可能决定在其区块中包含一些交易X。每个区块链在最大块大小上都有其自己的限制。在比特币区块链中,最大块大小为1兆字节(MB)的数据。在将交易添加到区块之前,矿工需要根据区块链中的交易历史检查交易是否满足执行要求。如果根据现有的区块链交易历史,发件人的钱包余额中包含足够的资金,则该交易被视为有效,可以添加到区块中。如果比特币所有者希望加快其交易的处理速度,他可以为挖矿提供更高的奖励。在这种情况下,通常,与其他交易相比,矿工将为该交易分配更高的优先级,因为它有可能为挖矿过程获得更高的报酬。
  • 步骤4:通过选择交易并将其添加到其区块中,矿工由此创建了一个交易区块。为了随后将一个区块添加到区块链(这意味着区块链中的所有节点都将在此区块中注册交易),该区块首先需要一个签名,也称为“工作证明”(例如,证明)。 -工作或工作量)。该签名是通过解决非常复杂的数学问题创建的,该数学问题对于每个事务块都是唯一的。不同的块对应于不同的数学问题,因此每个矿工将针对自己的问题制定解决方案,这对他形成的块是唯一的。同样,所有任务也难以解决。在解决这样的数学问题时,消耗了大的计算能力(因此,消耗了大量的电力)。您可以将其与在计算器上执行计算进行比较,只有在这种情况下,所有事情都要复杂得多,并且要在个人计算机上完成。此过程称为挖矿。如果您想更详细地了解在此过程中必须解决哪些数学问题(实际上并不那么困难),请继续阅读。否则,如果您需要资料“更轻松”,请直接转到“步骤5”。

挖矿,也称为哈希(工作量证明共识算法)。

每个矿工在尝试向区块链中添加一个块时必须解决的数学问题是找到该块中数据的哈希和(也称为数字签名)。此外,签名应以一定数量的连续零开始。看起来很困难,对吧?实际上,一切并没有那么复杂。让我尝试以一种简化的方式来解释这一点。

在继续之前,了解什么是哈希函数很重要。简而言之,哈希函数是一个很难解决的数学问题,但是答案很容易验证。

哈希函数采用由数字和字母组成的输入字符串(从字面意义上讲,任何字符串都是由随机字母,数字和/或字符组成的字符串),并将其转换为由随机字母和数字组成的新的32个字符的字符串。此32个字符的字符串是哈希和。如果输入行中的任何数字或字母发生变化,则哈希值也将随机变化。但是,同一行输入将始终在输出上具有相同的哈希值。

现在考虑到块内的数据是哈希输入(同一数据行)。使用哈希函数处理此输入数据的结果是,我们获得了哈希和(32个字符的字符串)。

比特币区块链规则规定,只能将签名(哈希量)以一定数量的零开头的那些区块添加到区块链中。但是,对于输入中的不同数据行,生成的输出行始终是随机的。但是,如果散列函数处理后的块的数据线从一定数量的连续零开始没有在输出中给出签名(散列总和),该怎么办?因此,这就是矿工必须重复更改其区块中称为“ nons”(英文现时)的数据的原因。每次矿工更改非数字时,都需要对块数据的布局进行轻微更改。并且,当块内的数据结构(即其输入数据)发生变化时,其签名(或其输出数据)也会发生变化。因此,每当一个区块的非数值变化时,该区块就会收到一个新的随机签名。

矿工重复这种改变鼻子的过程无数次,直到最后他们偶然偶然偶然发现满足块签名要求的输出线(刚开始时为零)。

以下是说明此过程的示例。该示例使用七个零,但零的数量实际上取决于区块链中区块的复杂性。块的复杂性是一个更高级的主题,因此我建议您在另一篇文章中熟悉它。

比特币交易的块签名要求

这样,矿工就必须为其块寻找合适的签名,这也是为什么要花费大量计算能力来解决此数学问题的原因。试图遍历许多非数字以猜测正确的数字将花费大量时间和强大的计算能力。

还应该记住,随着区块链中哈希能力(矿工数量)的增长,数学问题的复杂性也将增加,这将导致解决区块所需的平均电力成本增加。如果您读到这一点,您就是很棒的家伙让我们继续并转到步骤5。

注意:实际上,此过程并没有定义为数学问题,而是确定性的-计算机对数字执行预定义的运算以找出结果是否恰好是所需要的。

  • 步骤5:矿工,第一个找到满足其区块要求的签名的人,将该区块及其签名广播给所有其他矿工。
  • 步骤6:现在,其他矿工通过获取广播块的数据字符串并对其进行哈希处理来检查签名的合法性,以检查结果的哈希值是否导致所包含的签名具有正确的零个数字(请记住,是的-很难决定,但是易于检查)。如果签名有效,则所有其他矿工将确认其真实性并同意可以将该区块添加到区块链中(也就是说,他们将达成共识,换句话说-每个人都将彼此同意-这是术语共识算法的来源)。因此,术语“工作证明”。签名正是完成工作(计算能力已用尽)所需的“证明”。现在,该块可以添加到区块链中并发送到网络中的所有其他节点。如果可以根据区块链中记录的历史记录执行所有交易,则这些交易者将接受该区块并将其保存,并将交易添加到其数据中。
  • 步骤7:在将块添加到链中之后,将在其之后添加的所有其他块将被视为该块的“确认”。例如,如果我的交易包含在块502中,而区块链的长度为507个块,则这意味着我的交易有5个确认(507-502)。这称为确认,因为每次在您之后添加新区块时,区块链都会再次就交易的整个历史达成共识,包括您的交易和区块。您也可以说,目前,区块链已确认您的交易5次。当向您显示交易的详细信息时,Etherscan也依赖于此。您的交易得到的确认越多(换句话说,您的区块链越深),攻击者将更难以替换它。在将新区块添加到区块链之后,所有矿工都需要从“步骤3”重新开始,并形成一个新的交易区块。矿工无法继续(实际上,他们可以,但是,这超出了本文所讨论的主题的范围),换句话说,是要解决相同的区块,以解决问题,因为两个原因,他们正在工作的同一区块:
  1. 首先:它可以包含已被添加到区块链中的最后一个区块所确认的交易(请记住,不同的矿工可以在他们决定的区块中选择/包括相同的交易)。这些交易中的任何一项(如果再次开始)都可能无效,因为发件人的钱包余额中可能已经没有足够的资金。
  2. 第二:每个区块必须在其元数据中添加添加到区块链的最后一个区块的哈希量(签名)。这就是使区块链(区块链)成为区块链的原因。如果一个矿工突然继续开采他已经在处理的同一块,其他矿工将注意到其哈希值与添加到区块链的最后一个块中的哈希值不匹配,因此该块将被拒绝。

资讯来源:由0x资讯编译自MINING-加密货币。版权归作者Mining-加密货币.ru所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢