Base Denim ist das vierte Upgrade der Base-Chain und laut Base-Engineering-Blog vom 5. November 2026 live auf Mainnet. Denim bringt native 200-ms-Blöcke – fünf kanonische Blöcke pro Sekunde – und ersetzt Flashblocks. Dazu kommen BaseTime mit Millisekunden-Auflösung und B20-Verbesserungen bei Transfer-Checks sowie NOT-/Invert-Policies.
Vor Denim produzierte Base einen kanonischen Block alle zwei Sekunden; Flashblocks streamten dazwischen Pending-State-Previews. Jetzt ist jeder 200-ms-Schritt ein voller kanonischer Block. Inclusion in einem solchen Block ist weiterhin nicht Finalität: Sicherheit folgt dem Batch auf Ethereum, Finalität der Ethereum-Finalisierung dieses Batches. Für gewöhnliche Nutzer ist laut Base keine Aktion nötig; Apps mit Flashblocks- oder Pending-Abhängigkeiten müssen migrieren.
Base Denim: Native 200-ms-Blöcke statt Flashblocks
Flashblocks entfallen. Es gibt keinen Pending-State mehr zu reconcilen und keinen separaten Flashblocks-Stream. Standard-JSON-RPC funktioniert subsekündlich out of the box: eth_subscribe("newHeads"), eth_getLogs, eth_call, Receipts – ohne Flashblocks-Client. Migration laut Base: newFlashblocks → newHeads; pendingLogs → logs; Flashblock-Transaction-Subscribes → newHeads plus Block-Transaktionen laden; Methoden mit Tag pending gegen den neuesten kanonischen Block.
Blöcke dürfen keine Slots überspringen: der volle Timestamp eines Blocks liegt exakt 200 ms nach dem Parent, und das Protokoll validiert diese Progression. Preconfirmation-Reorgs durch verworfene Flashblock-Previews entfallen damit konzeptionell – ein 200-ms-Block ist der kanonische Block, kein Preview.
block.number, BaseTime und B20
block.number läuft wanduhrenbezogen zehnmal schneller; block.timestamp bleibt in ganzen Sekunden. Verträge und Offchain-Logik, die Block-Counts als Dauer lesen (Timelocks, Vesting, Rate-Limits, Governance-clock(), feste TWAP-Fenster), müssen Dauern prüfen: wo möglich auf Timestamp umstellen, wo Governance-tunable Counts ×10. Fünf aufeinanderfolgende Blöcke teilen sich denselben Sekunden-Timestamp – ohne BaseTime sähe Zins-/Reward-Logik zwischen vier von fünf Blöcken null verstrichene Zeit.
BaseTime schreibt den Subsekundenanteil (0, 200, 400, 600 oder 800) in das Predeploy 0x4200…0030 (Deposit an Index 1 nach L1-Info). Contracts können timestampMs() lesen; RPC-Antworten ergänzen optionale Felder timestampMs / blockTimestampMs. B20: TRANSFER_EXECUTOR_POLICY gilt nach Denim auf jedem Transfer-Pfad für msg.sender (nicht nur fremdes transferFrom); Transfers/Mints/Seizures an die Token-Eigenadresse reverten mit InvalidReceiver; Policy-Komposition erhält NOT über invertedPolicyId.
Wer muss handeln – und wer nicht
Endnutzer ohne Custom-Integrationen: keine Aktion. Wallet- und App-Entwickler mit Flashblocks/Pending: Migrate-Guide von Base folgen. Contract-Entwickler: Block-Count-Dauern auditieren. Issuer mit restriktiver Executor-Policy: Holder ggf. auf die Executor-Allowlist, wenn holder-initiierte Transfers weiter erlaubt sein sollen. RPC-/Indexer: ≈10× Blockvolumen und neue Timestamp-Felder erwarten; Flashblocks-Streams stoppen.
Trading- und DeFi-Teams bekommen kanonischen State alle 200 ms und Millisekunden-Zeitstempel – ohne Pending-Reconcile. Bridges und Proof-Flows, die historische Block-Hashes über BLOCKHASH lesen, behalten dieselbe Anzahl Werte, decken aber nur noch ein Zehntel der Wanduhrenzeit ab.
Einordnung im Krypto-Kontext
Base Denim ist ein Protokoll-Upgrade der L2-Infrastruktur, kein Token-Launch und keine Kursaussage. Die Disclaimer von Base betonen neutrale Infrastruktur, Issuer-Kontrolle über B20 und dass Inclusion ≠ Finalität. Bei code404zero ordnen wir verwandte Markt- und Produktmeldungen ein: das Krypto-Update vom 3. November, das Marktupdate vom 1. November und JPM Coin auf Ethereum.
Grenzen der öffentlichen Spec
Der Blog nennt Live-Status auf Mainnet und die drei Änderungspakete; operative SLAs, Sequencer-Betriebskosten und App-spezifische Migrationsfristen stehen dort nicht als verbindliche Kalender. Wer Flashblocks produktiv nutzte, sollte die offizielle Migrate-from-Flashblocks-Doku und eigene Observability (Subscribe-Fehler, Pending-Tag-Verhalten) prüfen. Pre-Denim-Blöcke lassen die neuen Timestamp-Felder weg – Clients, die sie ignorieren, bleiben kompatibel.
Technische Details für Builder
BaseTime-Metadaten landen als Deposit vor User-Transaktionen; jede Contract-Call in dem Block kann die Millisekunden lesen. RPC-Clients, die timestampMs noch nicht parsen, bleiben über das Sekunden-Feld kompatibel. Die B20-NOT-Policy invertiert das Ergebnis einer Basis-Policy über ein reserviertes Bit – Mitgliederlisten werden geteilt, nicht kopiert, sodass Allow- und Block-Listen nicht doppelt gepflegt werden müssen.
Issuer-Hinweis: Tokens, die nie eine Executor-Policy gesetzt haben, behalten das Always-Allow-Default. Tokens mit gesetzter Policy erben das strengere Verhalten automatisch. Self-Sends, Sends an andere B20-Tokens, Approvals und Burns sind vom InvalidReceiver-Schutz der Eigenadresse nicht betroffen; Altbestände auf der Token-Adresse vor Denim können Issuer mit Seize-Funktion ggf. noch zurückholen, sofern sie Seize aktiviert haben.
Kurz: Base Denim (5. November 2026) liefert native 200-ms-Blöcke statt Flashblocks, BaseTime-Millisekunden und B20-Transfer-/Policy-Härten. Nutzer ohne Flashblocks-Abhängigkeit: nichts tun. Builder: migrieren und Block-Count-Logik prüfen. Finalität bleibt L1-/Ethereum-gebunden.
Migration von Flashblocks im Alltag
Wer `newFlashblocks`, `pendingLogs` oder den Tag `pending` produktiv nutzte, folgt der offiziellen Migrate-from-Flashblocks-Doku: Subscriptions auf `newHeads`/`logs` umstellen, Transaktionen über den kanonischen Block nachladen, Pending-Methoden gegen den neuesten kanonischen Block richten. Es gibt keinen 1:1-Ersatz für Preconfirmation-State – die Ersetzungen liefern kanonische 200-ms-Daten. Indexer und Explorer müssen mit etwa zehnfachem Blockvolumen und optionalen `timestampMs`/`blockTimestampMs`-Feldern planen; Pre-Denim-Blöcke lassen die neuen Felder weg.
Contract-Audits: Timelocks, Vesting, Rate-Limits, Governance-`clock()` und feste TWAP-Fenster, die Block-Counts als Dauer lesen, um Faktor zehn prüfen. Wo möglich auf `block.timestamp` oder `BaseTime.timestampMs()` umstellen; wo Governance-tunable Counts ×10. Fünf Blöcke teilen sich denselben Sekunden-Timestamp – ohne BaseTime sähe Zins-/Reward-Logik zwischen vier von fünf Blöcken null Zeit.
B20-Issuer und Compliance-Listen
Issuer mit restriktiver `TRANSFER_EXECUTOR_POLICY` müssen Holder (oder eine abdeckende Policy) auf die Executor-Allowlist, wenn holder-initiierte `transfer`-Aufrufe weiter erlaubt sein sollen – vor Denim galt die Policy nur für fremdes `transferFrom`. `invertedPolicyId` erlaubt NOT-Komposition über geteilte Mitgliederlisten ohne Doppelpflege. Sends an die Token-Eigenadresse reverten mit `InvalidReceiver`; Self-Sends, andere B20-Tokens, Approvals und Burns bleiben unberührt. Altbestände auf der Token-Adresse vor Denim können Issuer mit Seize ggf. noch zurückholen.
Einordnung: Base Denim ist Infrastruktur, kein Token-Event. Inclusion in einem 200-ms-Block ist weiterhin nicht Finalität – Sicherheit folgt dem Batch auf Ethereum, Finalität der Ethereum-Finalisierung. Nutzer ohne Flashblocks-Abhängigkeit: keine Aktion. Builder, RPC und Issuer: migrieren, Block-Count-Logik und Policies prüfen. Primärquelle bleibt der Base-Engineering-Blog vom 5. November 2026 samt Denim-Docs.
Observability und Sequencer-Hinweise
Nach Denim sollten Teams Subscribe-Fehler, leere Blöcke und Pending-Tag-Regressionen in Monitoring aufnehmen – der Status-Feed von Base meldete parallel zum Upgrade periodische Inclusion-Verzögerungen und leere Blöcke unter Beobachtung. Das ändert nichts an den Spec-Fakten (200 ms, BaseTime, B20), unterstreicht aber: Live-Betrieb und Blog-Spec parallel lesen. Bridges und Proof-Flows mit BLOCKHASH-Historie decken bei gleicher Hash-Anzahl nur noch ein Zehntel der Wanduhrenzeit ab – Fenster und Annahmen neu kalibrieren.



