一文了解比特币挖矿困难程度调整

时间:2021-08-06 06:48编辑:未知

困难程度与目的的关系

为了预防忽然的变化,困难程度的增加或降低不可以在一次调整中超越4倍。

但回到大家怎么样想出目的的问题上,大家需要探索影响挖掘区块所需时间的不同原因。

推导出新困难程度的公式

正如你可以从反比函数中看到的,假如花费的时间超越2周,分数将小于1,新困难程度将会降低。假如花的时间超越2周,分数就会大于1,新的困难程度就会增加。

假如困难程度减少,目的值就会增加,从而更容易找到有效的散列,反之亦然。最大目的值为1,这样来看困难程度也与目的值成反比。

资料出处:Khaled Salah

矿工们一直在为了这个数字努力,直到输出的Hash值小于目的值。由于Hash值是随机的,所以目的越低,就越难找到一个有效的Hash值。就像掷骰子一样,掷一个小于3的数字比掷一个小于4的数字更难。

那样你怎么样确定目的的价值呢?这个问题的答案就是大家今天要讨论的话题:挖矿困难程度。

这是不言自明的,但挖矿的困难程度只是指为区块找到一个有效的Hash值有多么困难和耗时。一个更好的问题应该是,为何挖矿刚开始就需要有困难程度?

区块链的全部意义在于在互联网中的多个个体之间打造共识,也就是说在一个真理上达成一致。它们是怎么样做到这一点的呢?它们取互联网中最长的有效链,这取决于向它投入了多少工作(计算Hash值所花费的时间),并同意它作为构建的主链。

有了这个困难程度,就可以确保互联网的安全性,由于它可以预防欺诈。假如添加区块比较容易,那样有人可能会发送欺诈性买卖,然后向互联网发送垃圾邮件,以创建他们我们的最长链。然而,因为挖矿困难,为了预防垃圾信息,添加块的过程变慢,平均需要10分钟来挖掘一个块。

这里的棘手之处在于,攻击者可以通过探寻增加计算能力的办法轻松绕过这一困难。幸运的是,大家提前想好了,想出了一种办法让系统控制困难。

按期调整困难程度,以确保一直平均需要10分钟来挖掘一个区块。在每添加2021个区块后,系统会查询创建这部分2021个区块所花的时间。正常状况下,需要2周左右,或20210分钟。假如超越两周,困难程度就会减少,假如不到两周,困难程度就会增加。困难程度可以如下确定。

互联网中个体的数目

有两件事可能会干扰这期间:

计算能力

在BTC的早期,你可能已经可以成功地进行挖矿,就像我过去觉得的大家所做的那样——用他们的个人电脑。然而,矿工非常快被迫升级。

因为挖矿本质上是一场竞赛,大家竞相第一找到Hash值并获得奖励,那些拥有更强大计算机的人将可以在同一时间内做出更多计算结果,因此获胜的机会也会更高。

升级刚开始只不过容易的从CPU到显卡的转换,但近年来,升级的幅度要大得多,目前所谓的ASIC--一种专门为挖矿而设计的器件--已经是可以参与角逐所需的最低限度。

但即使这样,你也不太可能赚到任何东西。现在,你可能需要40年才可以开采一个区块。假如你想挣钱,你可能需要加入一个矿池——矿工们联合起来增加他们获胜的可能性。

考虑到所有这部分进步和计算机不断变得愈加快的事实,为了跟上它们并维持10分钟的平均速度,挖矿困难程度需要补偿这一点。

等等,但大家并非每两周就有更快的电脑,对吧?虽然计算机的不断改进是需要调整机制的重要原因,但该系统也对互联网中的个体数目进行了补偿。

矿工越多,找到一个有效Hash值所花的时间就越少,由于在相同的时间内会进行更多的计算结果。因此,当有更多矿工在场时,困难增加,当矿工更少时,困难降低。

所以回到大家刚开始的地方--在今天这个年代,用你的PC挖BTC几乎是不可能的,缘由是因为设施升级和互联网规模增大所做的补偿,致使挖矿困难程度不断增加。你的PC根本没计算能力再跟上别的人的脚步,所以你可以成功挖出一个区块的几率很很低。

即便系统的设计是为了减少困难程度,但极少会如此做。更快、更强大的设施不断被开发出来,同时愈加多的人加入了BTC互联网。事实上,自2009年1月BTC诞生到2021年11月,已经有250次困难程度增加,只有53次困难程度减少。

当我首次知道BTC挖矿的时候,我觉得它非常简单,就像坐在家,做着我想做的事情,而我的电脑会投入工作,在我睡觉的时候挣钱。

但不完全是。事实证明,还有不少缘由使得上述状况完全不可能发生。

但为了理解其中是什么原因,大家第一需要理解挖矿的整个定义,与它在数字货币方面的意义。

从本质上讲,挖矿就是创建新的区块,用买卖记录填充它们,并将它们添加到区块链中,让每一个人都能看到,并就特定的货币是怎么用的这件事达成一致。

然而,为了添加一个区块,矿工需要解决一个“加密谜题”,或者用更专业的术语来讲,他们需要得到一个有效的块Hash。

我不会讲太多的Hash函数有关的常识,但容易地说,Hash是拿到区块的所有信息,然后把它处置,直到它返回一个与此前内容没任何关系的随机的字母和数字64位十六进制数。

假如你改变了区块上的任何数据,随机数将会有非常大的不同,但假如什么都没改变,它将一直返回相同的内容。

但怎么样知晓Hash值是不是有效呢?这就是困难程度目的的起源。目的描述一个阈值,并且要使Hash有效,该值需要小于目的。

你可能会问,假如不可以更改买卖信息,怎么样获得不一样的Hash值呢?在创建Hash时,区块中还有另一个原因要考虑进来——你可以修改它,它被叫做nonce。

此文出于传递更多信息之目的,并不意味着同意其看法或证实其描述。本网站所提供的信息,只供参考之用。

本文标签: BTC挖矿难度