Bitcoin Mining Difficulty - What is it And How Does it Work?

Updated on: May 2nd, 2020
This content has been Fact-Checked.
Bitcoin Mining Difficulty - What is it And How Does it Work?

在我们开始理解比特币挖掘难度意味着什么之前,我们需要知道挖掘是如何工作的。 我们之前已经详细介绍了这个话题,所以我们只是在进入不同的困难细微差别之前给你一个小概述。 接下来,我们将研究如何计算挖掘难度以及如何改变以适应网络的需求。

采矿是如何工作的? 挖掘 1 比特币需要多长时间?

比特币的网络有几个称为 “矿工” 的专门节点,他们使用专门的设备来解决密码难题。 如果他们成功,那么他们将有机会成功地向 BTC 区块链添加块。 这是它的工作原理:

矿工拿起在内存池中等待的交易并散列它们。

它们在散列前面添加一个随机的十六进制值,并对整个值进行哈希。

这个散列需要小于一个特定的值,即所谓的 “困难”。

什么决定了比特币挖掘难度? 为什么 BTC 难度会增加?

#1 保持网络完整性

比特币挖掘难度水平根据协议内挖掘的易用性而增加或减少。 请记住,比特币需要有一个一致的 10 分钟的阻止时间。 换句话说,新的 BTC 可以每 10 分钟注入循环电源。 要确保此时间不会改变比特币协议:

当矿工更容易开采时,网络难度会增加。

当矿工更难开采时,减少网络难度。

比特币网络有一个通用的块难度。 所有有效的块都必须在目标下面有一个散列。 采矿池还具有特定于池的份额难度,设置了股份的下限。

#2 与哈希率的关系

判断工作证明网络运行状况的关键指标之一是哈希率。 简单地说,哈希率显示了矿工在网络中的强大程度。 比特币网络哈希率越高,整体安全性和速度就越高。 但是,这些网络需要控制它们的哈希率,以保持一致的块生产。 这就是为什么当哈希率变高时,比特币难度最终会变得更高,使矿工更难以在网络中轻松开采。

反之亦然。

如果比特币的散列率降低,网络难度也会降低。 哈希率可能会降低,原因如下:

比特币目前有一个很高的难度,这就是为什么矿工在系统中有一个艰难的时间挖掘。

BTC 的价格下跌,这就是为什么很多矿工退出采矿。

为了了解两者之间的相关性,我们来看看它们的图形。 首先,我们有哈希率。

之后,我们有比特币难度图表:

正如你所看到的,两者之间有着非常密切的相关性。 3 月 26 日左右,网络难度下降了 16%,从 16.55 万亿减少到 13.9 万亿。 这是 2013 年初以来最大的网络难度崩溃。 要了解为什么这次会发生这种情况,请看看哈希率在比特币难度下降之前是如何下降的。 这种下跌的原因是比特币的价格崩溃,这迫使许多矿工退出操作。

比特币如何计算难度?

比特币的网络难度每 2016 年区块都会发生变化。 网络用于计算难度的公式如下所示:

难度 = 难度 _1_目标/当前_目标

在上述公式中:

目标是 256 位数字。 根据比特币的协议,目标是一种自定义的浮点类型,精确度有限。 比特币客户大致难度基于这一事实。 此值也称为 bdiff。

难度 _1_target 可能会有所不同,具体取决于您选择如何测量难度。 传统上,它代表一个散列,其中前导 32 位为零,其余为一位。 事实上,这个值也被称为池难度或 pdiff。

每个块都在他们的块中存储一个包装的比特币难度表示,称为 “Bits”。 这个目标通常显示为 0x1b0404cb(以小连接顺序存储:cb 04 04 1b)。

块通过预先确定的公式计算目标值。 例如, 使用上面给出的包装目标,即 0x1b0404cb。 十六进制目标是:

4 亿美元 * 2 亿美元 * (8 亿美元 * (2 亿美元)) = 2 亿美元

现在让我们计算一下 bdiff 和 pdiff。

可能的最高目标(难度 _1_target)定义为 0x1d00ffff,或以十六进制形式:

一亿四千五百万五千五百万五百万五百万五百万五百万五百万五百万五百万五百万五百万

现在我们知道了这个值,我们可以用它来计算我们的 bdiff,使用难度 = 难度 _1_target /当前_目标公式

现在,正如我们在上一节中所定义的那样,当前的目标是 0x1b0404cb 或 0x0000000000000000000000000000000000000000000000000000 亿美元。

所以,要计算当前的难度:

0 亿多亿多亿多亿多亿美元/

一亿四千五百万五百万五百万五百万亿

=

因此,差额的比例是一千三百七十七点四二零零九点八八百五十八点二百五十三点二零零八点二零

现在,让我们计算一下 pdiff。 采矿池倾向于使用非截断目标,它将难度 _1____________FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

如果是这种情况,那么对于相同的当前目标,我们的 pdiff 将是:

最后一次发展最后一次发展最后一次发展最后一次发展最后一次

一亿四千五百万五百万五百万五百万亿

=

以下是从比特币 wiki 中获取的程序代码,它依赖于日志来使难度计算更容易:

#include 人体流

#include cmath

内联浮动快速日志(浮动瓦尔)

{

整数 * 常规发展 _ PTR = 重新解释 _ 投入 * (和瓦尔);

整数 x = * 扩展平台;

常规日志 2 = ((x 23) 和 255)-128;

x 和 = ~ (255 23);

x + = 127 23;

* 扩展平台 = x;

瓦尔 = ((-1.0f/3) * 瓦尔 + 2) * 瓦尔-2.0f/3;

返回 ((平均数 + 对数 2) * 0.69314718 英寸);

}

浮点难度(无符号整数位)

{

静态双重最大体 = 快速日志 (0x00ffff), 缩放 = 快速日志 (256);

返回 Exp(最大体-快速日志(位和 0x00ffff)+ 缩放 *(0x1d-((位和 0xf000000)24)));

}

整型主 ()

{

标准:: 发病困难 (0x1b0404cb) 标准:: 结束;

返回 0;

}

你如何设置采矿难度?

矿工使用专门的 ASIC 硬件开采比特币。 这些机器速度非常快,每一秒钟生产四哈希。 如果一个系统仔细检查其中的每一个,看看它们是否满足所有必要的条件,这将是极为不切实际的。 这对于采矿池来说是指数级的。 他们不能每秒检查比特币矿工产生的所有哈希值。 这就是为什么采矿池使用称为 “分享时间” 的概念。

所以,让我们想象一下,你的比特币挖掘池已经设置了一个 5 秒的共享时间。 这意味着,平均而言,您的采矿池将要求矿工每 5 秒向他们提交一份份。

这究竟是如何完成的?

您的比特币采矿池将为每个矿工设置一个名为 “分享难度” 的值。 矿工的份额难度与他们的个人哈希率成正比。 因此,矿工的哈希率越高,他们的份额难度越高。 这个想法是,矿工将使用他们的设备来产生吨哈希。 当他们找到满足目标共享难度的散列时,他们将将散列发送到池。

矿工如何得到奖励?

池中的矿工根据 “每股付费”(PPS)获得奖励。 在这个系统中,矿工获得他们提交的股份奖励。 股票的价值完全取决于它是多么难以发现股票。

让我们举一个例子来看看这是如何工作的:

假设你是一个单独哈希率为 50 TH/s 的矿工。

您已加入的采矿池已将您的份额难度设置为 1,000,000。

当你获得超过 100 万股份的那一刻,你就会得到游泳池的回报。

池可能会改变您的难度,以确保您没有太快地提交您的份额。

现在,如果你购买一些新设备,并将你的哈希率提高到 150 Th/s,游泳池将你的难度增加到 3,000,000。 您将按照之前提交的相同速率提交股份。 但是,您将获得的奖励是您之前所提交的股份的 3 倍。

池为更快的硬件建议更高难度的原因是为了降低矿工系统和池的网络负载。 在为下一个工作单元做准备时,它还可以减少挖掘硬件的重启延迟。 同时,游泳池必须小心,不要将难度设置得太高,这将导致大量过时的股份。

注:分享目标 = 1/分享难度

难度在中本共识中的重要性

要了解比特币生态系统的关键困难,您需要了解中本共识是如何运作的。 对于没有中央化实体的广域网而言,共识协议是维持任何形式治理的唯一途径。 像 Rraft 这样的传统共识算法不适合维护广域加密协议。 这就是为什么比特币的创造者中本聪想出了中本共识。 中本共识的核心原则是,要参与这个制度,就必须付出代价。 在工作证明(POW)的情况下,即比特币的共识,矿工用 “工作” 付出代价。 工作,在这种情况下,是一个矿工必须花费大量的计算能量来挖掘一个比特币。 这就是困难的地方。 困难是使比特币挖掘难度的指标,再加上,这是中本共识利用来解决双重支出问题的原因。

什么是双重支出?

双重支出是为什么所有创建分散式加密货币的尝试在比特币之前惨遭失败的原因。 简而言之,这是一个缺陷,可以允许一个比特币在同一时间多次使用。 我们在处理实物现金时从未遇到过此问题。 毕竟,如果你购买的东西是一个 10 美元的纸币,你不能同时购买其他东西与同一纸币,对不对?

然而,数字令牌具有可以轻松复制的数字文件,导致不可避免的双重支出。 你可以想象,双重开支可能会对生态系统的经济造成几个破坏性影响:

首先,它增加了生态系统内硬币的总供应量,从而导致供需方程失控。

第二,如果任何人,任何地方都可以不受限制地使用同一枚硬币,这将降低人民对该货币神圣不可侵犯性的信心。

比特币要求所有交易都包含在区块链中,没有失败。 这确保网络中的任何人都可以追踪每一个比特币的来源。 如此高的透明度确保没有人能够在没有整个网络注意到的情况下加倍开支。 但是,让我们想想一些更恶魔般的东西。 假设,有人决定通过分叉和尝试加倍花费所有比特币来劫持区块链。

那会发生什么?

那么,事实证明,由于网络困难,攻击者需要接管链条的资源和金钱将是指数式的。 因此,它们违背制度的利益,在经济上根本没有价值。 这就是网络困难为中本共识提供了维护网络安全性和完整性所需的火力。

结论-比特币采矿困难

我们希望你在这篇文章中找到了很多价值。 如果你有一些疑问,然后随时与我们联系。

Ameer Rosic
#SerialEntrepreneur, Investor, #Digitalmarketing Adviser and Cofounder of @Blockgks a #blockchain innovation hub

Like what you read? Give us one like or share it to your friends and get +16

0
Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today

Already have an account? Sign In