为什么解决密码难题是区块链的关键

Why solving the cryto puzzle is key in blockchain

谁能详细解释一下:

why solving a crypto puzzle by blockchain nodes is key in blockchain systems? 

What factor can make a node solve the puzzle earlier than others.

How is it important for security in blockchain system?

这些是一些很好的问题,可以解决许多当代区块链的基本性质。

正在解决的“难题”是随机猜测一个数字,该数字创建一个符合区块链协议的哈希结果。深入研究这一点,哈希算法是一个 one-way 函数,其中生成的哈希很容易从输入中获得,但除了猜测获得可以实现给定哈希的输入之外,这是不可能的。例如,在撰写本文时,比特币区块链的协议要求有效的结果哈希包含 19 个前导零。当一个人解决这个难题时,他们在猜测一个额外的输入(称为“随机数”),当与块的所有其他信息(交易、先前的块引用等)结合时,从协议的哈希中产生一个输出哈希符合要求的算法。通过完成这个谜题,我们能够完成区块并将其添加到区块链中。我们使用块中的信息来维护网络上的所有权分类账。

在长期 run/on 平均值中,解决速度的决定因素是网络参与者在给定时间内能够提出的猜测数量。这主要是由一个人的硬件决定的,这就造成了目前矿机市场的狂热状态。如果我每秒能够进行 10 次猜测,而你每秒只能进行 1 次猜测,那么我通常会是我们两人中第一个找到符合协议要求的随机数的人。当然有时候你会因为你的猜测而幸运并击败我,但平均而言我会成为第一名的次数更多。这里有一个小问题是,这个问题与共识机制特别相关,例如工作量证明(比特币和以太坊目前都在使用它),在这种机制中,许多矿工相互竞争以首先找到随机数,并因赢得这场比赛而获得奖励。然而,在权益证明等其他一些共识机制中,它不是一场竞赛,更多的是轮到一个人解决一个随机数,该随机数将由其他网络参与者验证。这里没有网络参与者之间的竞争,因此大大减少了对非常强大的硬件的需求。

拼图的解决将有问题的方块组合在一起(如问题 1 的答案中所述)。区块链中的块具有对前一个块的引用,因此被“链接”在一起。解决这个难题对于安全性很重要,因为一旦解决了难题,我们就有了一个随机数,我们可以通过检查生成的哈希值是否符合协议的要求。回想一下,哈希函数是 one-way 函数。解决 nonce 的人通过随机猜测 nonce 的值来获得有效的哈希值来完成艰苦的工作。我们现在可以将 nonce 和块内容插入到哈希算法中,并轻松获得结果哈希。这很重要,有助于为区块链提供安全性,因为我们现在可以知道是否有人返回更改前一个区块的数据。这使我们想到区块链是“不可变的”。如果有人回到过去更改块的数据,我们不仅能够看到已解决的随机数与更改的块内容不会产生相同的哈希值,而且它还会反映在所有顺序块中更改的那个是因为块数据中包含的对前一个块的引用将不同,因此所有这些块的结果哈希也将不同。

希望这些回复对您有所帮助!