加密货币挖矿是一个验证区块链交易的过程,也是创建加密货币新币的过程。矿工需要大量计算资源,这也保障了区块链网络的安全。诚实成功的矿工能够赚取新创建的加密货币和交易手续费奖励。那么加密货币挖矿的工作原理是什么?步骤是什么?
一、加密货币挖矿的工作原理
新的区块链交易达成后,会被发送到矿池中,我们称之为内存池。矿工的工作是验证这些待处理交易的有效性,并将其整合成区块。您可以把区块看作区块链账本的页面,其中记录了若干交易(以及其他数据)。
具体来说,挖矿节点负责从内存池中收集未经确认的交易,并整合成候选区块。随后,矿工尝试将该候选区块转化为有效确认的区块。但他们需要能够解答复杂的数学问题。这需要大量计算资源,但每个成功挖出的区块都会给矿工发放一个区块奖励,包括新创建的加密货币和交易手续费。
二、挖矿的步骤
第1步-哈希运算交易
要想挖取区块,第1步需从内存池中通过哈希函数逐个操作待处理交易并提交。我们每次通过哈希函数提交一份数据,就会生成一个固定长度的输出,称为哈希。在挖矿过程中,每笔交易的哈希值由一串数字和字母组成,作为标识符使用。交易哈希值代表该交易中包含的所有信息。
除了对每笔交易进行哈希处理和单列外,矿工还添加了自定义交易,可向自己发送区块奖励。这笔交易称为Coinbase交易,能够创建新币。多数情况下,Coinbase交易是第一个记录在新区块中的交易,随后是它们想要验证的待处理交易。
第2步-创建默克尔树
每笔交易经过哈希处理后,这些哈希整合成一种称作默克尔树的结构。默克尔树也称作哈希树,通过将交易哈希整合成对,然后对其进行哈希处理。将新的哈希输出整合成对,再次进行哈希处理,整个过程不断重复,直到创建一个单一哈希。最后一个哈希也称作根哈希(或默克尔根),基本代表以前所有用于生成根哈希的哈希。
第3步-找到有效区块头(区块哈希值)
区块头作为每个独立区块的标识符,代表每个区块拥有专属哈希值。创建新区块时,矿工将前一个区块的哈希与候选区块的根哈希结合,生成新的区块哈希。除这两个元素外,他们还需要添加一个称作nonce的随机数值。
因此,当矿工尝试验证他们的候选区块时,需要将根哈希、以前的区块哈希及随机数值结合,并通过哈希函数提交。其目标是为了创建一个被认为有效的哈希。
根哈希与前一个区块的哈希不能更改,因此矿工需要对随机数值进行多次更改,直到找到有效哈希。
输出(区块哈希值)必须小于协议确定的某个目标值,才能被认为是有效的。在比特币挖矿中,区块哈希值的前几位必须是零。这就是我们所称的挖矿难度。
第4步-传播挖出的区块
如我们所见,矿工需要使用不同的随机数值反复对区块头进行哈希处理。他们不断重复这项工作,直到找到有效区块哈希值。找到的矿工就会将他的区块传播到网络。所有其他节点将检查该区块及其哈希值是否有效,如有效,则将新区块添加到区块链副本中。
在这一点上,候选区块会变成已确认区块,所有矿工转而去挖下一个区块。无法及时找到有效哈希的矿工会丢弃他们的候选区块,然后继续投入挖矿。
三、总结
加密货币挖矿是比特币和其他PoW区块链的重要力量,也是保持网络安全和新币稳定发行的重要因素。挖矿有一定利弊,最大的益处是可以从区块奖励中获得潜在收益。然而,挖矿利润受到电力成本和市价等多重因素影响。挖矿并不保证一定能够获利,在加密货币挖矿之前,应该自己做好调研(DYOR)并评估所有潜在风险。