区块链 工作证明

  • 工作证明

    由于所有事务都带有时间戳,因此我们需要在对等网络上实现分布式时间戳服务器。这需要一些额外的实现,这就是我现在将描述的工作量证明。现在,对于每个块,我们再添加一个称为Nonce的项,如下图所示-
    Nonce是一个数字,表示该块的哈希满足特定条件。该标准可能是所生成的哈希必须使其前导四位数字为零。
    因此,生成的哈希看起来像是000010101010xxx。通常,矿工以Nonce值0开头,并一直递增该值,直到生成的哈希满足指定条件为止。
    请注意,哈希生成是随机进行的,并且超出了您的控制范围-也就是说,您不能强制哈希函数生成特定的哈希。因此,可能需要进行多次迭代,直到生成具有四个前导零的所需哈希为止。在比特币系统中生成区块的预期时间为10分钟。一旦矿工成功地开采了该区块,他就将其释放到系统中,使其成为链中的最后一个区块。
    请注意,有多个矿工竞相生成合法区块。比特币系统通过向他授予某些比特币来奖励第一个成功的矿工。通常,具有更多计算能力的矿工可能是赢家。这可能会导致拥有强大处理能力的人员对整个系统进行攻击。在本教程结束时,我将描述这些攻击以及如何缓解这些攻击。