需要帮助?

区块链基础 - 难度

我们经常会看到或听到挖矿难度这个概念,也清楚挖矿难度会影响到挖矿收益,但它究竟是如何影响到挖矿收益的呢?究竟什么是挖矿难度?以及其是如何在Proof of Work机制中发挥作用的呢?请阅读本文了解什么是挖矿难度。

什么是加密货币的挖矿难度?

为了理解什么是难度,您首先需要理解Proof of Work机制的工作原理及其解决的问题,我们已在该文章中进行了解释。

Proof of Work机制问题解决了双花的问题,即解决了个人或实体将一个比特币重复花费两次的恶意企图。要实现双花,必须控制至少51%的网络算力。

为了防止单一个人或实体控制51%的网络算力,Proof of Work机制允许无限数量的矿工(节点)加入到区块链网络中,从而使其去中心化。但是,当许多矿工加入或离开网络,那么会发生什么呢?

让我们做个假设,加入网络中有100个相同的矿工在进行比特币挖矿,每个矿机的算力速度都是10 TH/s或1000 TH/s,在统计学上,这个算力量将可每10分钟算出一个区块,难度为1,您可以这样算出来,是因为比特币网络的区块时间为10分钟。

如果这时有另外一批新的100个矿工加入网络参与挖矿,此时算力总量增加到了2000 TH/s,算出区块的概率翻倍,这将导致区块时间减半,剩下只有5分钟。但这是不对的,因为区块时间应该是10分钟。

如果我们将网络难度值增加到2,则算出区块正确hash值的难度就会增加。因此,区块时间又回到了10分钟左右。

区块链网络自动调整难度。举个例子,比特币的难度是每2016个区块或每2周调整一次。另一方面,以太坊的难度则是在每个区块上调整一次,大约是15秒。

Deposit and Withdraw EUR for Free

究竟什么是挖矿难度?

综上所述,挖矿难度通过提高下一个区块的猜测难度来控制区块的平均时间。

让我们看下一下案例:

Time to solve the block: 0.245 sec

在DATA区域中输入NiceHash,选择Difficulty 1,然后按MINE按钮。您的电脑将猜测这个nonce,直到hash输出以4个0开头的值。通过寻找到正确的nonce,应该需要几秒钟的时间来解决问题。

如果您将难度等级修改为2,电脑将继续猜测nonce值,直至输出以6个0开头的hash值,此时解决该数学问题所需要的时间应该就长一些了。

最后,如果您将难度等级修改为3,电脑将继续猜测nonce值,直至输出以6个0开头的hash值,这所需要的时间跟算力都是最多的。

此时,已经很难再去计算有更多0开头的hash输出值了,因此,在这种情况下,在单位时间内猜测出正确答案所需要的时间和算力也就更多了。

笔者
Marko Tarman
Marko先生是NiceHash的挖矿硬件专家以及内容创作者,他最早于2012年第一批 ASIC矿机发布之前便开始挖矿,经历了显卡挖BTC、LTC再到VTC,甚至是DOGE等币种。Marko的挖矿座右铭:在挖矿生涯中碰到的99个问题,这些问题全部都是分线器(riser)的问题”