售前客服二维码
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!
从2009年1月比特币诞生到2020年11月,难度增加了250倍,但只降低了53倍。
刚开始了解比特币挖掘的时候,我觉得很简单,就像坐在家里做自己想做的事情,而我的电脑会一边工作一边赚钱。
但也不尽然。事实证明,有很多原因使得上述情况完全不可能出现。
但要了解原因,首先要了解挖掘的整个概念及其在密码货币中的意义。
然而,为了添加一个块,矿工必须解决一个“加密难题”,或者用更专业的术语来说,他们必须获得一个有效的块哈希。
Hash函数我就不多说了,简单来说,Hash就是获取块的所有信息,然后进行处理,直到返回一个随机的64位十六进制数的字母和数字,与前面的内容无关。
如果更改块上的任何数据,随机数会有很大不同,但如果没有任何更改,它将始终返回相同的内容。
但是如何知道Hash值是否有效呢?这就是难度目标的由来。目标描述了一个阈值,该值必须小于目标才能使哈希有效。
你可能会问,如果不能更改交易信息,怎么得到不同的Hash值?创建哈希时,块中还有另一个要考虑的因素。可以修改。这叫做现时。
资料来源:哈立德萨拉赫
矿工们一直在努力寻找这个数字,直到输出哈希值小于目标值。因为哈希值是随机的,目标越低,就越难找到有效的哈希值。就像掷骰子一样,少于3的数比少于4的数更难掷出。
那么你如何确定目标的价值呢?这个问题的答案就是我们今天要讨论的话题:挖掘的难度。
区块链的全部意义在于在网络中的多个个体之间建立共识,也就是说,就一个真理达成一致。他们是怎么做到的?他们采取网络中最长的有效链,这取决于投入多少工作(计算哈希值所需的时间),并接受它作为构建的主链。
有了这个难度,你就可以保证网络的安全,因为可以防止诈骗。如果添加块很容易,有人可能会发送欺诈交易,然后向网络发送垃圾邮件,以创建他们自己最长的链。但是由于挖掘的难度,为了防止垃圾邮件,添加块的过程比较慢,平均需要10分钟才能挖掘出一个块。
这里的困难在于,攻击者可以通过寻找提高计算能力的方法来轻松绕过这一困难。幸运的是,我们提前想到了一个让系统难以控制的方法。
推导新难度公式
从反函数中可以看出,如果超过2周,分数会小于1,新的难度会降低。如果超过2周,分数大于1,新难度增加。
如果难度降低,目标值将增加,从而更容易找到有效的哈希,反之亦然。最大目标值为1,说明难度也与目标值成反比。
难度和目标的关系
为防止突然变化,一次调整难度的增减不应超过4次。
但回到我们如何实现目标的问题上,我们需要探索影响挖掘地块所需时间的不同因素。
有两件事可能会影响这次:
计算能力
在比特币的早期,你可能已经能够成功地使用个人电脑进行挖掘,就像我以前认为人们会做的那样。然而,矿工们很快被迫升级。
因为挖掘本质上是一种竞争,人们竞相先找到Hash值,获得回报。拥有更强大的计算机的人,会同时做出更多的计算结果,所以获胜的几率会更高。
当初的升级只是简单的从CPU到显卡的转换,但近几年升级规模大了很多。现在所谓的ASIC(专用集成电路)——专门为采矿设计的器件——是参加比赛的最低要求。
但是即使
此,你也不太可能赚到任何东西。目前,你可能需要40年才可以开采一个区块。如果你想赚钱,你可能必须加入一个矿池——矿工们联合起来增加他们获胜的可能性。考虑到所有这些进步和计算机不断变得越来越快的事实,为了跟上它们并保持10分钟的平均速度,挖矿难度必须补偿这一点。
等等,但我们并不是每两周就有更快的电脑,对吧?虽然计算机的不断改进是需要调整机制的主要原因,但该系统也对网络中的个体数量进行了补偿。
矿工越多,找到一个有效Hash值所花的时间就越少,因为在相同的时间内会进行更多的计算结果。因此,当有更多矿工在场时,困难增加,当矿工更少时,困难减少。
所以回到我们一开始的地方--在今天这个时代,用你的PC挖比特币几乎是不可能的,原因是由于设备升级和网络规模增大所做的补偿,导致挖矿难度不断增加。你的PC根本没有计算能力再跟上其他人的脚步,所以你能够成功挖出一个区块的几率非常非常低。
即使系统的设计是为了降低难度,但很少会这样做。更快、更强大的设备不断被开发出来,同时越来越多的人加入了比特币网络。事实上,自2009年1月比特币诞生到2020年11月,已经有250次难度增加,只有53次难度降低。
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!