Nur zu Bildungszwecken; stellt keine Anlageberatung oder Anlageempfehlung dar. Anlagen können zu Verlusten führen.
Direkte Antwort
Eine Nonce ist ein Wert, dessen Bedeutung aus einem bestimmten Protokoll-Namensraum stammt. Sie ist nicht immer eine Zufallszahl oder ein universell „einmal verwendeter“ Wert. Bei Ethereum ordnet und validiert die State-Nonce eines extern kontrollierten Kontos die Transaktionen dieses Absenders. Ein Contract kann getrennte Anwendungs-Nonces für Permits oder signierte Intents im Storage führen. ERC-4337-Smart-Accounts können eine strukturierte UserOperation-Nonce mit parallelen Key- und Sequence-Lanes verwenden. Bei Bitcoins Proof of Work ist die Blockheader-Nonce ein begrenztes Suchfeld für Hash-Kandidaten.
Diese Werte sind nicht austauschbar. Eine Ethereum-Account-Nonce schützt keine beliebige Typed-Data-Signatur, wenn die Anwendung nicht ihren eigenen Domain- und Replay-Wert prüft. Eine PoW-Header-Nonce ordnet keine Account-Transaktionen. Derselbe Zahlenwert bei anderen Absendern, Contracts, Chains oder Lanes beschreibt anderen Zustand.
Funktionsweise
- Bestimmen Sie vor dem Lesen den Namensraum: EOA-Transaktion, Contract-Account-State, Anwendungs-Storage, ERC-4337-
UserOperationoder benannter PoW-Blockheader. Legen Sie Chain-ID, Fork, Version, Account oder Owner, verifizierenden Contract und Domain, EntryPoint beziehungsweise Headerformat fest. - Lesen Sie autoritativen Zustand an einem ausdrücklichen Block-Tag. Trennen Sie kanonische EOA-Nonce, Pending-Zähler des Providers,
nonces(owner)der Anwendung, ERC-4337-Key und -Sequence sowie den lokalen Header-Suchzähler. Übereinstimmende RPCs ersetzen nicht Receipt- und State-Prüfung. - Erstellen Sie die signierte Linie aus Absender oder Owner, Chain und Domain, Nonce, Payload, Deadline, verifizierendem Contract, Transaktions- oder Nachrichten-Hash und Ersetzungen. EIP-155 ergänzt bei Ethereum-Transaktionen die Account-Nonce; diese allein ist kein vollständiger Cross-Chain-Replay-Schutz.
- Weisen Sie Werte in der richtigen Lane zu. Koordinieren Sie parallele EOA-Signer, erhalten Sie Lücken und Same-Nonce-Ersetzungslinien. Folgen Sie bei Anwendung oder Smart Account den atomaren Prüf-, Erhöhungs- und Lane-Regeln des Contracts statt einem angenommenen globalen Zähler.
- Senden Sie nach den passenden Zulassungsregeln. Pending- und Ersetzungsregeln von Execution Clients sind lokal; ERC-4337-Bundler validieren
UserOperation-Objekte nach EntryPoint- und Account-Regeln; eine EIP-712- oder Permit-Signatur kann in der Transaktion eines Dritten übermittelt werden. Lokale Annahme beweist keine kanonische Aufnahme. - Verfolgen Sie das vollständige Ergebnis: abgelehnt, pending, queued, ersetzt, erfolgreich aufgenommen, mit
status = 0aufgenommen, durch Reorganisation entfernt oder finalisiert. Eine aufgenommene Ethereum-Transaktion erhöht die Absender-Nonce auch bei EVM-Revert; eine innerhalb des Aufrufs geänderte Anwendungs-Nonce wird zurückgesetzt. - Gleichen Sie vor einem erneuten Versuch kanonisches Receipt, Block-Hash, Absender-Nonce, Anwendungs-Storage, ERC-4337-Event oder -Receipt und Finalität ab. Prüfen Sie bei PoW vollständigen Header und Target; nach Erschöpfung des endlichen Felds ändern Miner andere headerwirksame Daten.
Durchgerechnete Beispiele
- Aufgenommener Revert verbraucht die EOA-Nonce. Die kanonische Absender-Nonce ist
12. Eine Transaktion mit Nonce12wird mitstatus = 0aufgenommen, verbraucht50,000Gas zu30 gweiund kostet50,000 * 30 gwei = 0.0015 ETH. Contract-Änderungen werden zurückgesetzt, die Nonce steigt dennoch auf13. Entfernt eine Reorganisation den Block, kann sie auf12zurückgehen; die Wallet muss die gesamte Linie prüfen. - Anwendungs- und Relayer-Nonces sind getrennt. Ein Owner hat EOA-Nonce
18, ein ERC-2612-Token meldetnonces(owner) = 7, der Relayer hat EOA-Nonce42. Ein erfolgreiches Permit verbraucht Anwendungs-Nonce7, die zu8wird; die Aufnahme erhöht die Relayer-Nonce auf43, die Owner-Nonce bleibt18. Beim Revert steigt die Relayer-Nonce trotzdem auf43, der Token-Storage fällt auf7zurück. - ERC-4337-Lanes. Nach dem Lehrbeispiel
nonce = (key << 64) | sequenceergeben Key5und Sequence9den Wert5 * 2^64 + 9 = 92,233,720,368,547,758,089; Sequence10ergibt92,233,720,368,547,758,090. Der unabhängige Key6mit Sequence0ergibt110,680,464,442,257,309,696. Parallelität hängt von der Smart-Account-Validierung ab und ist von der EOA-Nonce des Bundlers getrennt. - PoW-Such-Nonce. Bitcoins Header-Nonce hat
32 bitsund damit2^32 = 4,294,967,296Zahlenkandidaten. Bei hypothetischen100 TH/sdauert ein Durchlauf4,294,967,296 / 100,000,000,000,000 = 0.00004294967296 seconds = 42.94967296 microseconds. Miner ändern Coinbase-extraNonce, Zeit oder Transaktionsmenge und damit die Merkle Root, um neue Header zu erzeugen; das Feld ist kein Account-Replay-State.
Risiken
- Verwechslung von EOA-, Contract-, Anwendungs-, ERC-4337- und PoW-Namensräumen.
- Lesen aus falscher Chain, falschem Fork, Contract oder EntryPoint.
- Veraltete, inkonsistente oder bösartige RPC-Antwort.
- Doppelte EOA-Nonce durch parallele Signer.
- Blockierung späterer Kandidaten durch eine Nonce-Lücke.
- Behandlung einer Provider-Pending-Nonce als kanonischer Zustand.
- Übersehen, dass ein aufgenommener Revert Nonce und Gas verbraucht.
- Fehlende Wiederherstellung von Nonce und Linie nach Reorganisation.
- Same-Nonce-Ersetzung verfehlt Gebührenregel des Ziel-Nodes.
- Annahme, Ersetzung habe die alte Transaktion global gelöscht.
- Verknüpfung gleicher Zahlen verschiedener Absender oder Domains.
- Fehlende Chain-ID oder anderer Domain Separator.
- Nicht atomare Prüfung und Erhöhung einer Anwendungs-Nonce.
- Falscher ERC-2612-Owner, Deadline, Domain Separator oder Token.
- Replay einer Signatur über Chain, Contract oder Version hinweg.
- Contract-Account-Nonce als allgemeiner Aufrufzähler missverstanden.
- Falsches Packen von ERC-4337-Key oder Sequence-Breite.
- Vermischung von Bundler-EOA-Nonce und Smart-Account-
UserOperation-Nonce. - Proxy-Upgrade oder Storage-Kollision verändert das Verhalten.
- Endliche PoW-Nonce als Autorisierung, Replay-State oder Beweis behandelt.
Häufige Missverständnisse
- Jedes Nonce-Feld bedeutet dasselbe und wird global einmal verwendet.
- Eine höhere Nonce macht eine Transaktion sicherer, schneller oder finaler.
- Eine revertierte Ethereum-Transaktion verbraucht keine Absender-Nonce.
- Eine Nonce allein verhindert jeden Cross-Chain-, Cross-Contract- und Typed-Message-Replay.
- Jeder ERC-4337-Smart-Account hat denselben linearen Zähler wie eine EOA.
Verwandte Themen
Quellen
- Ethereum accounts - Ethereum.org (abgerufen: 2026-08-13)
- Transactions - Ethereum.org (abgerufen: 2026-08-13)
- EIP-2681: Limit account nonce to 2^64-1 - Ethereum Improvement Proposals (abgerufen: 2026-08-13)
- EIP-155: Simple replay attack protection - Ethereum Improvement Proposals (abgerufen: 2026-08-13)
- EIP-712: Typed structured data hashing and signing - Ethereum Improvement Proposals (abgerufen: 2026-08-13)
- ERC-2612: Permit Extension for EIP-20 Signed Approvals - Ethereum Improvement Proposals (abgerufen: 2026-08-13)
- ERC-4337: Account Abstraction Using Alt Mempool - Ethereum Improvement Proposals (abgerufen: 2026-08-13)
- Block Chain - Bitcoin Developer Documentation (abgerufen: 2026-08-13)