一文读懂 BTC 挖矿难度调整

当我第一次了解比特币挖矿的时候,我认为它很简单,就像坐在家里,做着我想做的事情,而我的电脑会投入工作,在我睡觉的时候赚钱。

但不完全是。事实证明,还有很多原因使得上述情况完全不可能发生。

但为了理解其中的原因,我们首先必须理解挖矿的整个概念,以及它在加密货币方面的意义。

挖矿是什么?

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

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

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

如果你改变了区块上的任何数据,随机数将会有很大的不同,但如果什么都没有改变,它将总是返回相同的内容。

但是如何知道Hash值是否有效呢?这就是难度目标的由来。目标描述一个阈值,并且要使Hash有效,该值必须小于目标。

你可能会问,如果不能更改交易信息,如何获得不同的Hash值呢?在创建Hash时,区块中还有另一个因素要考虑进去——你可以修改它,它被称为nonce。 

美股区块链板块盘前多数下跌,嘉楠科技跌3.5%:行情显示,美股区块链板块盘前多数下跌,嘉楠科技跌3.5%,Square跌2.32%,Marathon Patent跌2.26%,Paypal跌1.58%,Coinbase跌1.57%。[2021/10/6 20:09:14]

资料来源:Khaled Salah

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

那么你如何确定目标的价值呢?这个问题的答案就是我们今天要讨论的话题:挖矿难度。

什么是挖矿难度?

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

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

LTC突破73美元关口 日内涨幅为2.24%:火币全球站数据显示,LTC短线上涨,突破73美元关口,现报73.03美元,日内涨幅达到2.24%,行情波动较大,请做好风险控制。[2020/11/17 21:04:43]

有了这个难度,就可以确保网络的安全性,因为它可以防止欺诈。如果添加区块很容易,那么有人可能会发送欺诈性交易,然后向网络发送垃圾邮件,以创建他们自己的最长链。然而,由于挖矿困难,为了防止垃圾信息,添加块的过程变慢,平均需要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次难度降低。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链杂谈

DOT数字人民币硬件钱包中的“国产芯”

近日,数字人民币已经进行了第二次公开测试。目前我国的央行数字货币不断推进,甚至走在了全球前列,而数字人民币作为法定货币,又是国家金融基础设施,其在金融安全、国家安全方面肯定不容忽视。  也正是因此,业内普遍认为数字人民币会在顶层设计、标准制定、功能研发等工作上尽可能地采用国内标准体系,比如国密算法、国企参与等等。

SHIB觅新|Polimec:Polkadot生态系统中的筹款机制

《觅新》是金色财经推出的一档区块链项目观察类项目,覆盖行业各领域项目发展情况,具体设计到项目概况、技术进展、募资情况等,力图为您呈现热门新潮的项目合辑。 Polkadot解决了比特币、以太坊等较旧的区块链面临的许多问题,正成为新型加密经济的基础。但是,Polkadot的成功取决于强大、健康、活泼的生态系统。

比特币交易晚间必读5篇 | 比特币和商业周期

1.金色荐读 | 比特币和商业周期 本期金色硬核从另一个独特角度来认识比特币,即比特币如何防止经济周期,实现可持续的经济增长。长久以来,人们被灌输认为,经济周期是市场经济的固有现象,但真的这样吗?如果不是的话,那么是什么导致的经济周期?又如何防止呢?本文或许能提供部分答案。以下为正文。

ADA数字人民币究竟会颠覆谁?

2020年以来,数字人民币的发行明显加速了,央行先后在深圳、苏州、雄安和冬奥会进行了一系列封闭测试。 2020年10月23日,中国人民银行网站发布了《中华人民共和国中国人民银行法(修订草案征求意见稿)》(以下称《征求意见稿》),向社会公开征求意见。 《征求意见稿》规定人民币包括实物形式和数字形式,为发行数字货币提供法律依据。

[0:15ms0-0:545ms