什么是加密货币挖矿?

 2023-09-02 15:42:58发布 2023-09-03 11:50:58更新

本文特指工作量证明(POW)类型区块链项目的区块挖矿奖励。

加密货币挖矿是指通过用计算机解决复杂的数学问题,从而添加并验证进入区块链的新交易并获得奖励。这个过程需要大量的计算能力和电力消耗,因此被称为挖矿,类似于黄金矿工开采黄金的过程。

这一过程确保了基于工作量证明(PoW)共识机制的比特币等加密货币的安全性和去中心化。

挖矿是验证用户之间的交易并新增至区块链公共帐本的过程,因此,挖矿是让比特币无需中央机构介入即可运作的重要因素。

挖矿作业还负责将新代币引入现有流通量。但是,加密货币挖矿遵循一组写死程式码规则,该规则管理挖矿过程并防止任何人任意创建新代币。这些规则内建在加密货币协定基础中,并由包含数千个节点的完整网路执行。

为了创建新的加密货币单位,矿工使用算力来解决复杂的加密货币难题。

第一个解决难题的矿工有权利将交易区块新增至区块链,并推播至网路上。

加密货币挖矿的原理

进行新的区块链交易时,交易会发送到称为“内存池”的矿池。矿工的工作是验证待处理交易的有效性,并将交易组织成区块。

你可以将一个区块看成是区块链帐本上的一页,其中记录了一些交易(与其他资料一起)。即挖矿节点负责从内存池中收集未确认的交易,并将其组建成一个候选区块。

在此之后,矿工会尝试将候选区块转换为有效、已确认的区块。要做到这一点,矿工需使用大量的计算资源来解决复杂的数学难题。但是,每成功开采一个区块,矿工都会收到新铸加密货币和交易手续费组成的区块奖励。

步骤1:杂凑交易

挖矿区块的第一步是从内存池中获取待处理的交易,并透过杂凑功能将其逐一提交。每次透过杂凑功能提交一段资料时,将有一个固定大小的输出,称为杂凑。

在挖矿中,每个交易的杂凑由一串数字和字母作为识别码组成。交易杂凑代表交易内包含的所有资讯。

除了处理杂凑和单独列出每笔交易外,矿工还会新增一笔自订交易用以发送自己的区块奖励。这笔交易称为“币基交易”,它能建立全新的代币。大多数情况下,币基交易是新区块中第一笔交易记录,随后是所有待验证的交易。

步骤2:建立杂凑树

在对每一笔交易进行杂凑处理后,随后便会将杂凑组织成杂凑树,又称为Merkletree。杂凑树透过将交易杂凑成对,然后再进行杂凑处理来形成。

然后,新的杂凑输出组织成交易对,再进行杂凑处理,不断重复此一过程,直至建立单个杂凑。最后一个杂凑也称为根杂凑(或Merkleroot),基本上是表示用于生成它的所有先前杂凑。

挖矿

挖矿-杂凑树

步骤3:找一个有效的区块头(区块杂凑)

区块头作为每个单独区块的识别码,表示每个区块都有一个唯一的杂凑。建立新区块时,矿工会将之前区块的杂凑与候选区块的根杂凑相结合,生成一个新的区块杂凑,同时需要新增一个名为随机数(nounce)的任意数字。

因此,当尝试验证他们的候选区块时,矿工需要结合根杂凑、之前的区块杂凑以及随机数(nonce),并透过杂凑功能全部提交。他们的目标是重覆该步骤直到建立有效的杂凑。

根杂凑和之前区块的杂凑不能变更,因此矿工需要多次变更随机数值,直至找到有效的杂凑。为了被认为有效,输出(区块杂凑)必须小于由协定确立的特定目标值。

步骤4:推播挖矿的区块

正如我们刚才所看到的,矿工需要使用不同的随机数值一遍遍杂凑区块头。他们会重复此一工作,直至找到有效的区块杂凑。发现杂凑的矿工随后会将其推播至在网路上的区块。所有其他节点将检查区块及杂凑是否有效,如果有效,则将新区块新增至区块链副本。

此时,候选区块变成了已确认区块,所有矿工将继续进行下一个区块挖矿。所有不能及时找到有效杂凑的矿工将丢弃候选区块,挖矿竞赛重新开始。

如果同时挖矿两个区块,该怎么办?

有时会发生两个矿工同时推播一个有效区块的情况,而网路会出现两个竞争区块。然后,矿工们根据最先收到的区块挖矿下一个区块。这将导致网路暂时分裂为两个不同版本的区块链。

这些区块之间的竞争将继续,直至挖矿到下一个区块,并位于任何一个竞争区块之上。

挖矿一个新区块时,在此之前出现的区块便被视为赢家。被放弃的区块称为孤儿区块或陈腐区块,导致选择此区块的所有矿工都将返回有机会获胜的区块链挖矿。

加密货币挖矿的类型

加密货币挖矿有许多方法。随着新的硬体和共识演算法的出现,设备和流程也发生了变化。通常,矿工使用专门的计算单元来解决复杂的加密方程式。让我们一起来看看最常见的挖矿运作方法。

CPU挖矿

中央处理器(CPU)挖矿会使用计算机的CPU来执行PoW模型所需的杂凑功能。在比特币发展早期,挖矿的成本和门槛都很低。挖矿的难度可以由常规CPU来处理,因此,任何人都可以尝试挖矿BTC和其他加密货币。

然而,随着越来越多的人开始挖矿BTC,网路的算力增加,能够盈利的挖矿变得更加困难。最重要的是,具有更强算力的专门挖矿硬体兴起,最终使得CPU挖矿几乎成为不可能。如今,CPU挖矿不再是可行的选项,因为所有矿工都使用专门的硬体。

GPU挖矿

图形处理器(GPU)旨在并行处理各种应用程式。虽然GPU通常用于电玩游戏或图形成像,但也可用于挖矿。

比起流行的ASIC挖矿硬体,GPU相对便宜且更为灵活。一些BTC之外主流数位货币可以使用GPU挖矿,但效率取决于挖矿难度和演算法。

ASIC挖矿

特殊应用积体电路(ASIC)旨在用于单一特定用途。在加密货币中,它指的是为挖矿而开发的专用硬体。ASIC以挖矿效率高而闻名,但同时成本也较高。由于ASIC矿工处于挖矿技术的最先端,单位成本远远高于CPU或GPU。

此外,ASIC技术的不断进步,很快便使得旧的ASIC模型无利可图,意味着需要经常替换。即使不包括电力成本,这也使ASIC挖矿成为最昂贵的挖矿方式之一。

矿池

当区块奖励授予第一个成功开挖的矿工后,找到正确杂凑的概率微乎其微。只拥有一小部分挖矿能力的矿工自己发现下一个区块的机会非常渺小。矿池通常是这一问题的解决方案。

矿池是一组矿工,集中个别资源(算力)以增加赢得区块奖励的机会。当矿池成功找到区块时,矿工会根据贡献的工作量将奖励平均分配给矿池里的每个人。

在硬体和电力成本方面,矿池可以使个别矿工受益,但矿池在挖矿的主导地位引发了潜在51%攻击对于网路的担忧。

推荐阅读