随机数
区块链中的随机数是什么?
Nonce(字面意思——在某种情况下)是一种在以太坊区块链和其他智能合约平台上对交易进行排序和隔离的方法。通常,它在密码学中用作不重复的数字以确保通信安全。
以太坊钱包可以将多个交易从一个账户广播到主网,彼此之间没有太多延迟。因此,需要有一种机制来确定首先处理哪个事务。否则,可能会因与账户余额转账相关的交易冲突而导致故障。
例如,如果广播交易的 nonce 值为 2,则必须先处理该交易,然后再处理 nonce 值为 3 的交易。以太坊主网的设计方式是无法包含更高 nonce 值的交易在任何区块中,直到它们之前的区块被清除并在链上结算。
然而,这个过程可能会出现问题,因为如果具有较低随机数值的交易被卡住(由于气体量),则随后收到的具有较高随机数值的所有交易也将被卡住。
以太坊网络上的交易取消和交易加速过程也以“nonce”为基础。例如,如果用户希望取消交易,他可以将交易发送到自己的钱包,并使用与他试图取消的交易相同的随机数。不过,这并不总是有保证,因为如果随机数相同,任何交易都可能会被随机批准。
如果交易被卡住且未获得批准,用户可以提高 Gas 价格并使用相同的随机数发送相同的交易。由于随机数相同,而费用已增加,因此该交易被验证的可能性更高。有些钱包自动实现了这两种功能。