比特币Nonce是什么意思

比特币Nonce解释

一个比特币现时是在比特币的使用任意数量的工作证明一致性算法。可以在块头中找到nonce作为4字节字段,并且看到其值由矿工调整,以便块的散列将小于或等于网络设置的当前目标散列值。

在比特币协议中,块头以80字节格式序列化,然后作为比特币工作证明算法的一部分进行散列,这使得这些序列化头的格式成为比特币共识规则的一部分。包含比特币随机数的块头的示例格式可以在下面找到。

字节 名称 描述
4 块版本号表示要遵循的一组共识规则。
32 上一个块头哈希 包括前一个块头哈希确保在不更改此块头的情况下也不能更改先前的块。
32 Merkle root hash 所述MERKLE根是从包括在该块中,这确保了无那些记录,可以在不修改报头被修改的所有交易的散列的。
4 时间 出块时间是矿工开始散列头部的时间。此时间必须大于前11个块的中值时间。网络上的完整节点将不接受根据其时钟将来超过两小时的标头块。
4 NBITS 目标阈值的编码版本。此块的标头散列必须小于或等于网络设置的目标散列值。
4 杜撰 矿工更改的任意数字,以便修改标头哈希并生成小于或等于网络设置的目标哈希值的哈希值。

 

比特币Nonce和工作证明

比特币区块链由匿名对等体的分布式网络维护,并且为了向区块链添加块,个人必须经历工作证明挖矿过程。这要求矿工(参与挖矿过程的个人)从块头中获取数据作为输入,然后通过加密货币去中心化算法重复运行它,对于比特币是安全去中心化算法256(SHA-256)。矿工将对输入数据的微小变化进行散列,对于挖矿过程,该变量将是随机数,直到标题块的散列导致散列值小于或等于网络设置的目标散列值。在挖矿过程中查找这样的哈希值被称为黄金随机数。

由于向区块链添加块需要投入大量工作,这意味着想要修改过去块的恶意行为者必须更加努力才能修改任何先前的块。这是因为,为了修改前一个块中包含的事务,恶意行为者必须修改之前的所有后续块。因此,修改先前块的成本随着添加到区块链的每个新块而增加,从而增加了工作证明过程的效果。

目标哈希值也表示所谓的网络难度。可以将此功能视为衡量在目标哈希下方查找哈希的难度。每2,016个块调整网络难度,这是基于找到前2,016个块所花费的时间长度。网络通过使用存储在每个块头中的时间戳来计算在生成最后2,016个块的第一个和最后一个之间经过的秒数。估计挖矿2,016大约需要两周时间,因此,如果在不到两周的时间内发现之前的2,016个区块,则网络难度会增加。相反,如果在超过两周内发现了之前的2,016个区块,则网络难度会降低。

提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢