Blockchain 是否总是可以为目标哈希找到nonce?

Blockchain 是否总是可以为目标哈希找到nonce?,blockchain,bitcoin,nonce,consensus,Blockchain,Bitcoin,Nonce,Consensus,我想知道在区块链中挖掘块时,是否总是可以为目标哈希找到一个nonce?因为nonce最大为32位,只能有2^32个不同的可能值。如果我们暂时没有得到目标哈希呢 现在,nonce只有1部分被修改以生成块散列。正如您所指出的,由于nonce只有32位,尽管现在很难生成有效的块散列。因此,矿工还可以修改coinbase事务(有时称为extranonce)、块版本、merkle树和块时间戳。另见 修改块的时间戳,下面是一个实践。但现在这还不够,因为如果块的时间戳不在一段时间内(约3小时),则不会接受该块

我想知道在区块链中挖掘块时,是否总是可以为目标哈希找到一个nonce?因为nonce最大为32位,只能有2^32个不同的可能值。如果我们暂时没有得到目标哈希呢

现在,nonce只有1部分被修改以生成块散列。正如您所指出的,由于nonce只有32位,尽管现在很难生成有效的块散列。因此,矿工还可以修改coinbase事务(有时称为extranonce)、块版本、merkle树和块时间戳。另见

  • 修改块的时间戳,下面是一个实践。但现在这还不够,因为如果块的时间戳不在一段时间内(约3小时),则不会接受该块,请参见

  • 添加/删除某些事务或更改事务的顺序,只要它们仍处于拓扑顺序(如果事务A使用事务B的一个输出,则B必须在事务列表中位于A之前)

  • 更改coinbase事务。coinbase txinput的prevout脚本是一个2到100字节的任意字节数组。此脚本将不会执行,因此您可以放置所需的任何数据。请注意,它必须以块高度正确推送的字节开始,请参阅

  • 所以基本上你可以说,通过以上所有的结合,总是有可能找到一个有效的nonce