随机数是指只能使用一次的数字或值。随机数通常用于身份验证协议和加密哈希函数。在区块链技术中,随机数是指在挖矿过程中用作计数器的伪随机数。
例如,比特币矿工需要尝试并猜测有效的随机数。执行多次尝试来计算满足某些要求的块哈希(即以一定数量的零开头)。当竞争开采新区块时,第一个找到产生有效区块哈希值的随机数的矿工将被授予将下一个区块添加到区块链中的权利 - 并因此获得奖励。
换句话说,挖矿过程包括矿工使用许多不同的随机数值执行无数的哈希函数,直到产生有效的输出。如果矿工的哈希输出低于预定阈值,则该块被认为是有效的并被添加到区块链中。如果输出无效,矿工会继续尝试不同的随机数值。当成功开采和验证新区块时,该过程将重新开始。
比特币内部——以及大多数工作量证明系统——随机数只是矿工用来迭代哈希计算输出的随机数。矿工采用试错方法,其中每次计算都采用新的随机数值。他们这样做是因为准确猜测有效随机数的概率接近于零。
哈希尝试的平均次数由协议自动调整,以确保平均每 10 个生成每个新块分钟。这个过程称为难度调整,决定了挖掘阈值(即块哈希需要以多少个零开始才能被视为有效)。挖掘新区块的难度与区块链系统的哈希能力(哈希率)有关。专用于网络的哈希能力越多,门槛就越高,这意味着成为有竞争力和成功的矿工需要更多的计算能力。相反,如果矿工决定停止挖矿,难度将会调整,阈值将会下降,因此挖矿所需的算力会减少,但协议将确保区块生成遵循 10 分钟的时间表,无论.