比特币挖矿难度是一种区块链网络计算能力积累程度,它决定矿工在哈希计算能力以及时间方面为他们的区块找到正确的哈希签名的难易程度(交易区块需要验证正确的哈希并将其添加到区块中 区块链)。在比特币区块链上,矿工试图通过对随机数进行散列计算来找到正确的哈希。让我们简要地放大一下这个过程。
比特币挖矿(又称哈希散列运算)
只有当网络中具有满足某些要求的签名(哈希值)时,交易的一部分才会被网络的其余部分接受。签名必须以一定数量从零开始的数字组成)。为了找到该签名,矿工们正花费计算能力(哈希能力)对随机数执行一组运算,直到他们找到一个导致输出数字符合要求的数字为止。查找仅以一个零开头的输出要比查找以五个连续的零开头的输出要容易得多(这种情况很少见,因此找到一个导致该输出的数字要花费更多的时间)。
正确的签名(哈希值)-亦称为挖矿难度
签名必须以连续的零开头,这决定了矿工找到它的难度(平均多少哈希能力或时间)。这就是挖矿的难度。开头所需要的零越多,找到正确签名的难度就越大(=更高的挖矿难度)。但是什么决定了比特币挖矿难度呢?
比特币挖矿难度每两周根据生产效率自动在网络上进行调整。当更多的矿工加入网络进行比特币挖矿时,网络总的散列计算能力增加,因此可以假设矿工在网络中将更快地找到正确的签名,这意味着他们将更快地向区块链添加区块。举例:
假设所有的矿工都具有相同的计算能力(哈希率或算力)。平均而言,矿工需要1个小时才能找到符合条件的哈希值。一名矿工每小时发现1个合格的哈希值,但是十名矿工每小时发现10个合格的哈希值。 1个矿工的区块生产效率为每小时1个块,但10个矿工的块生产率为每小时10个块,这要快得多!
每两周调整一次比特币区块链的挖掘难度,以使网络上的总哈希能力平均每10分钟产生1个区块。如果很多矿工加入了比特币区块链,并且累积的哈希能力提高了,那么区块的生产率可能会从每10分钟1个区块增加到每9分钟1个区块。一段时间后,这也将触发挖掘难度的上升,因此,即使具有这种额外的散列计算能力,区块的生产率仍需要保持每10分钟1区块的稳定速度以控制难度。反之亦然,当矿工停止在区块链上挖掘并且累计哈希率降低时,挖掘难度也将降低。最大的问题是:
但是为什么每十分钟创建一个区块?
您可能不会立即意识到这一点,但这确实是一个很好的问题。
但是,为什么挖矿难度要一直增加?这需要更多的电力来处理相同数量的交易。为什么不降低挖矿难度并加快区块的生产速度呢?这也意味着比特币交易的处理要快得多。
‘
很长时间以来,人们无法完全理解这个问题,但是一段时间后,Reddit上的某个人终于想出了答案。中本聪(比特币的发明者)自己决定,区块的生产速率应保持每10分钟1个区块的平均平均速度,因为:区块链估计需要10分钟才能将最新的区块传播到全球所有节点。为了使区块链保持正确同步。如果以更快的速度生产区块,则地球另一端的某些节点可能无法足够快地追上最新交易数据,这可能导致节点不再正确对齐,从而导致“区块断裂”,这是区块链必须尽量避免以保持安全的基本措施。确实是一个相当简单的答案,但这是有道理的。
区块难度
因此,总结一下;区块难度基于网络的总哈希能力,每两周进行调整,以保持每10分钟1区块的稳定区块生产率。这使网络有时间在全球范围内同步和更新区块链的分布式帐本,对于维护分布式账本的安全性至关重要(未加密的区块会降低网络的安全性,因为即使在验证之后它们也会变得无效)。
越来越多的矿工加入网络,就越会花费更多的累积计算能力来查找合格正确的哈希签名,并且如果难度不改变,则区块将更快地被添加到区块链中。因此,当散列能力增加时,难度增加,而当散列能力下降时,难度减校正如您在下面看到的那样,当网络积累的哈希率(算力)越高,区块难度越高。
如下所示,区块100(回溯到2009年)仅需要以八个连续的零开始的数字签名,而如今的一个区块(块542865)需要至少18个连续的从零开始的数字签名。零的数量反映了难度的级别。查找具有这么多连续零的输出需要更多的时间或更多的哈希计算能力,而今天它要高得多,因为在比特币区块链上花费了更多的哈希能力(更多的矿工加入)。
2018年比特币区块链上的累积哈希计算能力比2009年的水平高出许多倍。小小的注解:下图显示直到2018年3月,比特币的挖矿难度一直在增加,但自2018年10月的熊市以来,矿工由于比特币价格快速下跌,其运营成本开始超过挖矿利润而被迫停止挖矿,矿矿场也被迫停止开采。
自诞生以来,比特币的挖矿难度就已经大大增加了,因为从那时起,越来越多的矿工(散列计算能力)加入了该网络。
关于扩容-如果我们增加比特币的区块块大小会怎么样?
是的,这是一个广泛讨论的话题。如果区块的大小增加,无论难度如何,都会在一个区块中容纳更多的交易,这意味着在给定的时间范围内将处理更多的交易。尽管这听起来像是一种可行解决方案,但实际上并非如此。有许多反对意见反对增加区块的大小,原因之一是,节点之间的传播时间越长,叔伯率(uncle rate网络延迟导致孤块率增加的现象)越高。基本上,这是可扩展性与安全性之间的权衡,并且它只是临时性的修复,而代价是牺牲网络完整性。
本文来自:彩云区块链,原文链接:比特币挖矿和区块时间的秘密:为什么区块时间是十分钟?