比特币的新铸造过程在某些方面类似于从地球中提取贵金属的过程。因此,这个过程被称为“比特币挖矿”。
正如比特币白皮书中所述:
不断增加固定数量的新币类似于金矿工人耗费资源将黄金加入流通。在我们的案例中,耗费的是CPU时间和电力。
比特币挖矿的简化概述如下:
重要的是,一个称为矿工的小节点群体竞争成为实际创建每个新区块的人。关于谁拥有什么的更新真相始于一个赢得创建新区块权利的矿工。赢得创建新区块的权利是通过被称为“工作证明”的竞赛决定的。
什么是工作证明,为什么它是必要的?
工作证明(PoW)挖矿是一种证明网络参与者在游戏中有所投入(skin in the game)的方式。它通过迫使参与者证明他们已经完成了某些消耗能源(工作)的任意计算。消耗能源的要求很重要,因为它使得恶意行为者参与变得极其昂贵。换句话说,它确保攻击比特币是一个赔钱的(且成本非常高的)前景,使得这种攻击极不可能发生。
从博弈论的角度来看,PoW挖矿提供了几个优势:
抵抗Sybil攻击:PoW挖矿由于每个身份挖矿的高成本,使得Sybil攻击(一个实体创建许多虚假身份来影响网络)变得不可行。
比特币挖矿是如何工作的?
该过程在**比特币白皮书**中被总结为:
1. 新交易向所有节点广播。
2. 每个节点将新交易收集到一个区块中。
3. 每个节点致力于为其区块寻找一个困难的工作证明。
4. 当一个节点找到工作证明时,它将区块广播给所有节点。
5. 如果区块中的所有交易都是有效的且未被消费,节点才接受该区块。
6. 节点通过在链中创建下一个区块来表示对区块的接受,使用已接受区块的哈希作为前一个哈希。
让我们更详细地分解这个过程。
首先,矿工是提议更新账本的人,而只有成功完成工作证明(PoW)的矿工才被允许添加新区块。这被编码到比特币协议中。
矿工可以自由选择从节点广播到网络的潜在交易池中的有效交易。这些交易被收集到“内存池”中。理性和诚实的矿工基于附加的费用选择内存池中的交易,优化高费用的交易。这导致了费用市场的产生,有助于确保有限的区块空间被公平和高效地使用。
首个完成PoW的矿工,将他提议的新区块广播给更广泛的节点网络,然后这些节点检查以确保区块遵循协议的规则。这里的关键规则是(1)区块中的所有交易都是有效的(即没有双重支付),以及(2)新区块适当地引用了前一个区块,并作为链中的下一个编号(即新区块构成了最长链中的最新区块)。如果是这样,节点将其发送给其他节点,完成同样的过程。通过这种方式,新区块在网络中传播,直到广泛被接受为“真相”。
然而,经常会发生这样的情况:超过一个矿工几乎同时完成PoW并同时将她的新区块广播到网络。此外,由于网络延迟和地理分隔,节点可能会在稍微不同的时间接收到新提议的区块。
重要的是,一个矿工新提议的区块可能与另一个区块略有不同!这是因为,正如前面提到的,矿工是选择包括在区块中的交易的人——尽管他们倾向于优化盈利性,但位置和其他因素引入了变化。当两个矿工发送出不同的新区块时,竞争版本的“真相”开始在网络中传播。网络最终通过选择增长速度更快的链来收敛于“正确”的真相版本。
让我们分解最后一部分。假设有两个竞争的链。假设75%的矿工选择了版本A(因为这是他们首先看到的版本)并开始其下一个区块的PoW,建立在版本A之上。另外25%的矿工选择了版本B(同样,因为那是他们首先遇到的版本)并开始在那个版本之上进行同样的过程。统计上,正在版本A上工作的矿工很可能会首先完成工作证明,将新版本广播到网络。由于节点总是选择最长的链,版本A将很快在网络中占据主导地位。实际上,版本B增长得更快的概率随着每一个额外的区块的添加而指数级减小,以至于在添加了六个区块之后,它几乎不可能成为现实。因此,对于大多数参与者来说,已经在六个区块中确认的交易被认为是铁板钉钉的。那么,在比特币中,交易的“最终性”就是六个区块,或大约1小时。
需要注意的是,没有成为最长链的一部分的区块(在我们上面的例子中是版本B)被称为孤块。据估计,这样的区块每天产生约1到3次。包含在孤块中的交易不会丢失。那是因为,如果它们还没有被包含在最终成为最长链的版本中,它们将被添加到最长链的下一个区块中。
您现在可以使用 Gomining 的服务立即开始挖矿。
什么是比特币的哈希算法?
比特币使用一种被称为安全哈希算法2(SHA2)的军用级加密算法。比特币矿工通过不断运行哈希算法来寻找一个随机数,一旦找到这个数,他们就会获得比特币(BTC)作为奖励。这个过程类似于买彩票,买的彩票越多,中奖机会就越大。通过向哈希算法投入更多的计算能力,矿工实际上就是在购买更多的“彩票”。
比特币挖矿中的难度调整是什么,为什么需要它?
工作量证明算法的挖矿难度每2,016个区块自动调整一次,大约每两周一次。调整的目标是保持新区块的挖掘时间恒定在10分钟一个区块。
难度调整会考虑到被用于哈希算法的全部计算能力或“哈希能力”总量。随着计算能力的增加,难度也会提升,使得对所有矿工而言,挖矿变得更加困难。如果计算能力减少,难度就会降低,挖矿变得更容易。
需要注意的是,难度调整系统使得比特币挖矿与贵金属的开采有很大的不同。例如,如果黄金价格上涨,会吸引更多的矿工进入市场。更多的黄金矿工的加入最终会导致生产出更多的黄金。根据供求法则,这将最终降低黄金的市场价格。然而,在比特币的情况下,产生的比特币数量(铸造)是由比特币协议预先决定的。这意味着它不会受到矿工数量和算力的影响。因此,无论多少挖掘能力被用于算法,产生的比特币数量都不会受到影响。