自 2009 年 1 月比特币诞生到 2020 年 11 月,已经有 250 次难度增加,只有 53 次难度降低。
作者:Samantha Ouyang
翻译 / 编辑:Sherrie
当我第一次了解比特币挖矿的时候,我认为它很简单,就像坐在家里,做着我想做的事情,而我的电脑会投入工作,在我睡觉的时候赚钱。
但不完全是。事实证明,还有很多原因使得上述情况完全不可能发生。
但为了理解其中的原因,我们首先必须理解挖矿的整个概念,以及它在加密货币方面的意义。
挖矿是什么?
从本质上讲,挖矿就是创建新的区块,用交易记录填充它们,并将它们添加到区块链中,让每个人都能看到,并就特定的货币是如何使用的这件事达成一致。
然而,为了添加一个区块,矿工必须解决一个「加密谜题」,或者用更专业的术语来说,他们必须得到一个有效的块 Hash。
我不会讲太多的 Hash 函数相关的知识,但简单地说,Hash 是拿到区块的所有信息,然后把它处理,直到它返回一个与此前内容没有任何关系的随机的字母和数字 64 位十六进制数。
如果你改变了区块上的任何数据,随机数将会有很大的不同,但如果什么都没有改变,它将总是返回相同的内容。
但是如何知道 Hash 值是否有效呢?这就是难度目标的由来。目标描述一个阈值,并且要使 Hash 有效,该值必须小于目标。
你可能会问,如果不能更改交易信息,如何获得不同的 Hash 值呢?在创建 Hash 时,区块中还有另一个因素要考虑进去——你可以修改它,它被称为 nonce。
资料来源:Khaled Salah
矿工们一直在为了这个数字努力,直到输出的 Hash 值小于目标值。因为 Hash 值是随机的,所以目标越低,就越难找到一个有效的 Hash 值。就像掷骰子一样,掷一个小于 3 的数字比掷一个小于 4 的数字更难。
那么你如何确定目标的价值呢?这个问题的答案就是我们今天要讨论的话题:挖矿难度。
什么是挖矿难度?
这是不言自明的,但是挖矿的难度仅仅是指为区块找到一个有效的 Hash 值有多么困难和耗时。一个更好的问题应该是,为什么挖矿一开始就需要有难度 ?
区块链的全部意义在于在网络中的多个个体之间建立共识,也就是说在一个真理上达成一致。它们是如何做到这一点的呢?它们取网络中最长的有效链,这取决于向它投入了多少工作(计算 Hash 值所花费的时间),并接受它作为构建的主链。
有了这个难度 ,就可以确保网络的安全性,因为它可以防止欺诈。如果添加区块很容易,那么有人可能会发送欺诈**易,然后向网络发送垃圾邮件,以创建他们自己的最长链。然而,由于挖矿困难,为了防止垃圾信息,添加块的过程变慢,平均需要 10 分钟来挖矿一个块。
这里的棘手之处在于,攻击者可以通过寻找增加算力的方法轻松绕过这一困难。幸运的是,我们提前想好了,想出了一种方法让系统控制困难。
挖矿难度如何确定?
定期调整难度,以确保总是平均需要 10 分钟来挖矿一个区块。在每添加 2016 个区块后,系统会查看创建这些 2016 个区块所花的时间。正常情况下,需要 2 周左右,或 20160 分钟。如果超过两周,难度就会降低,如果不到两周,难度就会增加。难度可以如下确定。
推导出新难度的公式
正如你可以从反比函数中看到的,如果花费的时间超过 2 周,分数将小于 1,新难度将会减少。如果花的时间超过 2 周,分数就会大于 1,新的难度就会增加。
如果难度降低,目标值就会增加,从而更容易找到有效的散列,反之亦然。**目标值为 1,由此可见难度也与目标值成反比。
难度与目标的关系
为了防止突然的变化,难度的增加或减少不能在一次调整中超过 4 倍。
但回到我们如何想出目标的问题上,我们需要探索影响挖矿区块所需时间的不同因素。
有两件事可能会影响这段时间:算力和网络中个体的数量。
算力
在比特币的早期,你可能已经能够成功地进行挖矿,就像我过去认为的人们所做的那样——用他们的个人电脑。然而,矿工很快被迫升级。
由于挖矿本质上是一场竞赛,人们竞相首先找到 Hash 值并获得奖励,那些拥有更强大计算机的人将能够在同一时间内做出更多计算结果,因此获胜的机会也会更高。
升级一开始只是简单的从 CPU 到显卡的转换,但近年来,升级的幅度要大得多,现在所谓的 ASIC(特定应用集成电路)–一种专门为挖矿而设计的器件–已经是能够参与竞争所需的**限度。
但即便如此,你也不太可能赚到任何东西。目前,你可能需要 40 年才可以挖矿一个区块。如果你想赚钱,你可能必须加入一个矿池——矿工们联合起来增加他们获胜的可能性。
考虑到所有这些进步和计算机不断变得越来越快的事实,为了跟上它们并保持 10 分钟的平均速度,挖矿难度必须补偿这一点。
网络的规模
等等,但我们并不是每两周就有更快的电脑,对吧?虽然计算机的不断改进是需要调整机制的主要原因,但该系统也对网络中的个体数量进行了补偿。
矿工越多,找到一个有效 Hash 值所花的时间就越少,因为在相同的时间内会进行更多的计算结果。因此,当有更多矿工在场时,困难增加,当矿工更少时,困难减少。
总结
所以回到我们一开始的地方–在今天这个时代,用你的 PC 挖比特币几乎是不可能的,原因是由于设备升级和网络规模增大所做的补偿,导致挖矿难度不断增加。你的 PC 根本没有算力再跟上其他人的脚步,所以你能够成功挖出一个区块的几率非常非常低。
即使系统的设计是为了降低难度,但很少会这样做。更快、更强大的设备不断被开发出来,同时越来越多的人加入了比特币网络。事实上,自 2009 年 1 月比特币诞生到 2020 年 11 月,已经有 250 次难度增加,只有 53 次难度降低。
文章标题:一文读懂比特币挖矿难度调整
文章链接:https://www.btchangqing.cn/178274.html
更新时间:2021年01月13日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。
意思是5年10年后来看就翻倍了。
都要准备矿难咯。。
说实话,区块链的实际应用太少
吹牛 然后出货 对吧
到时候哭的时候还在后面,国家不承认合法性哦!我是永远不会买的!
空就完了~
虚无飘渺的信息~
滚犊子吧,一个传销还搞的神神秘秘,看多少人倾家荡产!、
不错!