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

2019-01-04 13:13 栏目:经验之谈 来源: 查看()

你有没有想过区块链挖掘过程如何运作,或者你的交易如何被确认并添加到区块链中?好的,我是一样的。由于我找不到任何关于这篇过程文章的明确的逐步解释,我决定深入研究它并编写我自己的指南。以下是区块链交易从钱包到区块链的七个步骤。

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

第1步

用户从其钱包应用程序注销交易,并尝试将一些加密货币或令牌发送给其他人。

第2步

该交易由钱包应用程序广播,现在正在等待矿工在相应的区块链上接收。只要没有开采,它就会留在“未经证实的交易池”中。此池是等待在网络上处理的事务的集合。这些未经证实的事务通常不会在庞大的池中收集,但更常见的是在本地池的小细分中。

第3步

网络上的矿工(有时称为节点,但不完全相同!)从这些池中选择交易并将其形成“块”。除了一些元数据,块基本上是一个事务集合(此时,它仍然是一个未经证实的事务)。每个矿工都建立了自己的区块,但是多个矿工可以选择相同的交易来包含在他们的区块中。

示例:两名矿工,矿工A和矿工B.矿工A和矿工B都可以决定在其区块中包含交易X.该块具有最大的数据大小。在比特币区块链中,块的最大大小最多为1 MB数据。但在向其块添加事务之前,小型企业需要根据区块链历史检查事务是否符合执行条件。如果发件人的钱包余额具有基于现有区块链历史的足够资金,则该交易被认为是有效的并且可以添加到该块中。矿工通常优先考虑高交易费用的交易,因为它给了他们更高的回报。

第4步

矿工通过选择交易并将其添加到其块来创建交易块。要将此事务块添加到区块链(以便所有其他节点和矿工注册进行交易),首先需要对该块进行签名。此签名是通过解决每个事务块特有的非常复杂的数学问题而创建的。每个块都有不同的数学问题,这意味着每个矿工将处理他们构建的块特有的不同问题,但所有这些问题同样难以解决。为了解决这个数学问题,需要大量的计算能力(因此需要大量的功率)。这是一个称为挖掘的过程。如果您想了解更多有关它的工作原理,请继续阅读下面的内容,否则请跳至第5步。

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

挖掘又名哈希(工作量证明算法)

当尝试将块添加到区块链时,每个矿工面临的数学问题是在其块中找到数据的哈希输出(也称为签名),从一定量的连续零开始。这听起来很复杂吗?但这并不难。让我试着用一个简单的方法向你解释。

在继续之前,解决哈希函数很重要。别担心,我不会触及太多的技术细节。哈希函数只是一个难以解决的数学问题,但答案很容易验证。

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

现在将块中的数据视为散列输入(一串数据)。当对此输入进行哈希处理时,它会提供哈希输出(32位字符串)。比特币区块链的一个规则是输出字符串需要以连续数量的零开始,以便有资格作为块签名。这是每个矿工在尝试向区块链添加区块时所寻找的东西;以一定量零开始的输出字符串。但是如果块的数据字符串没有散列到以零数字开头的输出字符串怎么办?好吧,这就是为什么矿工们反复更改其块中的一些数据,称为nonce。由于随机数将始终改变,散列函数的输入数据也将改变,从而导致不同的散列输出。最终,矿工想要找到一个输入字符串(一串块数据和一个字符串),它是一个合格的输出字符串(以零号开头)。以下示例使用七个零,但零的数量实际上取决于区块链的块难度。如果您尚未准备好,请不要点击它。

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

这就是矿工们需要找到合格签名的方法,这就是为什么解决这个数学问题需要如此大量的计算能力。猜测这么多不同的nones需要花费大量的时间和计算能力。如果你做得很好,那就继续第5步。

注意:此过程实际上并未定义为数学问题,而是定义为确定性问题。——计算机正在对该号码执行预定操作以查看是否需要输出。

第5步

矿工首先为他的街区找到合格的签名(解决方案)并将其广播给所有其他矿工。

第6步

其他矿工现在验证解决方案对应于发送方块的问题(如果散列输入实际上导致签名)。如果有效,其他矿工将确认解决方案并同意该块可以添加到区块链中。这是“工作量证明”定义的来源。找到解决方案的矿工将其“工作负载证明”(也称为解决方案)发送给其他矿工,然后他们将验证解决方案是否合法。如果是这样,其他矿工将同意并就区块链达成“共识”。您现在可以将块添加到区块链,并将它们广播到网络上的所有其他节点及其签名。只要块内的事务正确地对应于该时间点的当前钱包余额(事务历史),其他节点将接受该块并将其保存到其事务数据中。

第7步

如果大多数矿工达成共识,该区块将被添加到区块链中。每次在此块的顶部添加另一个块时,它将被视为其下方的另一个“确认”。例如,如果我的事务包含在块502中并且区块链是507块长,则意味着我的事务具有5个确认(507-502)。这是Etherscan在向您展示交易详情时所指的内容。您对交易的确认越多,攻击者就越难以改变它。当新区块被添加到区块链时,所有矿工将不得不在步骤3中重新开始以形成新的交易区块。矿工们不能继续(好吧,他们可以,但没关系)采矿也解决了他们正在研究的块问题,原因有两个。

1.它可能包含已添加到区块链的最后一个块确认中的事务,因此这些事务中的一些现在可能无效,从而使整个块无效。
2.每个块需要添加一个哈希输出,以将区块链的最后一个块添加到其元数据中。

这就是它成为区块链的原因。如果矿工继续挖掘他们正在处理的区块,其他矿工注意到哈希输出与区块链上新添加的区块的输出不对应,因此该区块将被拒绝。

来源:Huizhi.com
多区块链信息:www.qukuaiwang.com.cn/news

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发