难倒矿工的哈希谜题是什么?特征是什么?

文章出处:高维空间 责任编辑:一币刀 发布时间:2019-06-10

 这个哈希谜题实际上是矿工在挖矿过程中必须回答的难题。只要解决了这个问题,才能可以获得比特币奖励和所有挖矿的费用。在矿工组装的一个块的哈希值之后,需要找到一个随机数,并将该块的随机数和哈希值代入哈希函数以获得结果。对于SHA-256函数,其输出具有256位,这是对应于2到256次幂的值。这些值形成总目标集合。现在要求矿工找到一个随机数,使得在随机数与现有块哈希值组合之后,输出哈希值在目标集的非常小的区域内。总集合中百分表的大小决定了区块计算的难度。百分比越小,难度越高。找到这个随机数大致是2到67次幂的运算。这是普通计算机无法承受的工作难度。对于这个谜题,它不是随便设计的。它有三个特征:难以计算,成本可参数化,易于验证。

  难以计算

  哈希谜题第一个特这就是难以计算,比特币的奖励非常诱人,所以要付出代价。一个巨大的代价,需要耗费大量的成本,是计算机通过使用大量的计算力来计算随机数。在2014年底,生成块平均值10 ^ 20倍哈希,这意味着答对的概率是1/10 ^ 20。此计算量已经是普通计算机无法承载的计算量。所以后来生产各种矿机,专门针对挖矿。矿机的等级增加了,竞争力更强,导致挖矿生态系统消耗大量能源。

  成本可以参数化

  随着时间的推移,肯定会有更多人进入挖矿行业。越来越多的矿工,希望这个挖矿的难度和成本可以相应提高。也就是说,过程中间需要一个参数来调整。因此在比特币网络中设计如下:在生成每个2016块之后,所有节点将自动重新计算挖矿的难度值,以便后续区块生成的时间间隔始终保持在大约10分钟。在这种情况下,生成2016块需要两周时间,因此该参数将在两周内自动调整一次。实际上,调整此参数并不困难。只需计算整个网络的当前计算能力,就可以找到这个参数。

  重新调整的目的是什么?为什么我们要保持10分钟的间隔不变?原因很简单。如果区块生成的间隔太小,则放在一个块中的交易将更少,并且效率将降低。当然,这10分钟并不是绝对的。例如,以太坊和EOS的出块时间比比特币短得多,效率比比特币高好几倍。

  易于验证

  哈希谜题第三个重要特性是验证节点是否正确计算了随机数。假设一个节点需要尝试10 ^ 20次来找到满足这个哈希计算的临时随机数,并且这个找到的临时随机数必须作为区块的一部分发布。这样,任何其他节点都可以通过单次计算轻松验证其是否准确。区块链的世界最初是去中心化。这些关键数据必须透明,因此应该发布以避免争议。这样做有一个好处,比特币不需要中央机构来证明矿工已正确完成工作。任何节点或矿工都可以快速验证其他矿工找到的区块是否满足工作量证明的要求。

 


联系请扫码
活动会务
免费学习群
商务合作
13215946687