区块链 – 工作证明

由于所有交易都是有时间戳的,因此我们需要在p2p网络上实现分布式时间戳服务器。这需要一些额外的实现,这就是我现在将要描述的工作证明。现在,我们向每个块添加一个名为Nonce的项,如下图所示

工作证明

Nonce是使区块的哈希值满足一定条件的一个数字。例如,这个条件可能是,生成的哈希值前面4位必须为零。

因此,生成的哈希值看起来会像000010101010xxx。通常,矿工在计算Nonce值时,会从0开始,并不断增加,直到生成的哈希值满足指定条件。

注意,哈希生成是随机进行的,并且超出了你的控制范围 — 也就是说,你不能强制哈希函数生成特定的哈希值。

因此,可能需要多次迭代,直到生成满足条件的哈希值。在比特币系统中生成一个区块的预期时间为10分钟。一旦矿工成功地生成了Nonce值,即成功地开采了这个区块,他就会在系统中释放这个区块,使其加入链中,成为最顶端的一个区块。

注意,有多个矿工在竞争生成合法的区块。比特币系统通过给第一个成功的矿工特定的比特币来奖励他。

一般来说,计算能力更强的矿工是早期的赢家。这可能会导致拥有巨大处理能力的人攻击整个系统。本教程后续内容中,我们将讨论这些攻击以及如何减轻它的影响。



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载