「比特币」比特币挖矿和区块时间的秘密:为什么区块时间是十分钟?


比特币挖矿难度是一种区块链网络计算能力积累程度 , 它决定矿工在哈希计算能力以及时间方面为他们的区块找到正确的哈希签名的难易程度(交易区块需要验证正确的哈希并将其添加到区块中 — 区块链) 。 在比特币区块链上 , 矿工试图通过对随机数进行散列计算来找到正确的哈希 。 让我们简要地放大一下这个过程 。
「比特币」比特币挖矿和区块时间的秘密:为什么区块时间是十分钟?
本文插图
比特币挖矿(又称哈希散列运算)
【「比特币」比特币挖矿和区块时间的秘密:为什么区块时间是十分钟?】只有当网络中具有满足某些要求的签名(哈希值)时 , 交易的一部分才会被网络的其余部分接受 。 签名必须以一定数量从零开始的数字组成) 。 为了找到该签名 , 矿工们正花费计算能力(哈希能力)对随机数执行一组运算 , 直到他们找到一个导致输出数字符合要求的数字为止 。 查找仅以一个零开头的输出要比查找以五个连续的零开头的输出要容易得多(这种情况很少见 , 因此找到一个导致该输出的数字要花费更多的时间) 。
正确的签名(哈希值)-亦称为挖矿难度
签名必须以连续的零开头 , 这决定了矿工找到它的难度(平均多少哈希能力或时间) 。 这就是挖矿的难度 。 开头所需要的零越多 , 找到正确签名的难度就越大(=更高的挖矿难度) 。 但是什么决定了比特币挖矿难度呢?
比特币挖矿难度每两周根据生产效率自动在网络上进行调整 。 当更多的矿工加入网络进行比特币挖矿时 , 网络总的散列计算能力增加 , 因此可以假设矿工在网络中将更快地找到正确的签名 , 这意味着他们将更快地向区块链添加区块 。 举例:
假设所有的矿工都具有相同的计算能力(哈希率或算力) 。 平均而言 , 矿工需要1个小时才能找到符合条件的哈希值 。 一名矿工每小时发现1个合格的哈希值 , 但是十名矿工每小时发现10个合格的哈希值 。1个矿工的区块生产效率为每小时1个块 , 但10个矿工的块生产率为每小时10个块 , 这要快得多!
每两周调整一次比特币区块链的挖掘难度 , 以使网络上的总哈希能力平均每10分钟产生1个区块 。 如果很多矿工加入了比特币区块链 , 并且累积的哈希能力提高了 , 那么区块的生产率可能会从每10分钟1个区块增加到每9分钟1个区块 。 一段时间后 , 这也将触发挖掘难度的上升 , 因此 , 即使具有这种额外的散列计算能力 , 区块的生产率仍需要保持每10分钟1区块的稳定速度以控制难度 。 反之亦然 , 当矿工停止在区块链上挖掘并且累计哈希率降低时 , 挖掘难度也将降低 。 最大的问题是:
但是为什么每十分钟创建一个区块?
您可能不会立即意识到这一点 , 但这确实是一个很好的问题 。
但是 , 为什么挖矿难度要一直增加?这需要更多的电力来处理相同数量的交易 。 为什么不降低挖矿难度并加快区块的生产速度呢?这也意味着比特币交易的处理要快得多 。
「比特币」比特币挖矿和区块时间的秘密:为什么区块时间是十分钟?
本文插图

很长时间以来 , 人们无法完全理解这个问题 , 但是一段时间后 , Reddit上的某个人终于想出了答案 。 中本聪(比特币的发明者)自己决定 , 区块的生产速率应保持每10分钟1个区块的平均平均速度 , 因为:区块链估计需要10分钟才能将最新的区块传播到全球所有节点 。 为了使区块链保持正确同步 。 如果以更快的速度生产区块 , 则地球另一端的某些节点可能无法足够快地追上最新交易数据 , 这可能导致节点不再正确对齐 , 从而导致“区块断裂” , 这是区块链必须尽量避免以保持安全的基本措施 。 确实是一个相当简单的答案 , 但这是有道理的 。
区块难度
因此 , 总结一下;区块难度基于网络的总哈希能力 , 每两周进行调整 , 以保持每10分钟1区块的稳定区块生产率 。 这使网络有时间在全球范围内同步和更新区块链的分布式帐本 , 对于维护分布式账本的安全性至关重要(未加密的区块会降低网络的安全性 , 因为即使在验证之后它们也会变得无效) 。


推荐阅读