以太坊网络的 Nonce 有什么用?

Nonce 是 Number once 的缩写,在密码学中 Nonce 是一个只被使用一次的任意或非重复的随机数值。在各类验证协议的通信应用中确保验证信息不被重复使用以对抗重放攻击 ( Replay Attack ) 。

在以太坊网络中每一笔交易都有 nonce,代表的是地址发送的交易数量,nonce 能够帮助所有的交易按顺序排列,为的是防止 double-spends ( 双花 ) 。

Nonce 使用的规则:

  1. 按顺序交易,nonce 为 1 的交易只能发生在 nonce 为 0 的交易后面,不能在 nonce 为 0 的交易前面被矿工确认。

  2. nonce 是连续的,不能跳过。nonce 为 3 的交易只能发生在 nonce 为 2 的交易后面,如果 nonce 为 2 的交易不成功,nonce 为 3 的交易永远不会成功。

  3. 如果两笔交易 nonce 相同,其中一笔交易成功后,另外一笔交易就会失败。

假设你手机上的 imToken1.0 和 imToken2.0 拥有同一个钱包地址,在你使用 imToken2.0 发送一笔低矿工费的交易并且未确认的时候,又用 imToken1.0 发送了一笔高矿工费的交易。那么低矿工费的那笔交易会失败(Dropped & Replaced),高矿工费的那笔交易会成功。

3 Likes

涨姿势了

1 Like

围观一下

1 Like

不错。简洁明了

1 Like

努力学习

顶 多谢分享

学习