On Nov. 21, Cardano’s mainnet bifurcated into two competing histories after a single malformed staking-delegation transaction exploited a dormant bug in newer node software program.
For roughly 14 and a half hours, stake pool operators and infrastructure suppliers watched as blocks piled up on two separate chains: one “poisoned” department that accepted the invalid transaction and one “wholesome” department that rejected it.
Exchanges paused ADA flows, wallets confirmed conflicting balances, and builders raced to ship patched node variations that will reunify the ledger below a single canonical historical past.
No funds vanished, and the community by no means absolutely halted. Nonetheless, for half a day, Cardano lived the state of affairs Ethereum’s client-diversity advocates warn about: a consensus break up triggered by software program disagreement somewhat than an intentional fork.
Cardano co-founder Charles Hoskinson mentioned he alerted the FBI and “related authorities” after a former stake-pool operator admitted broadcasting the malformed delegation transaction.
Regulation enforcement’s position right here is to research potential prison interference with a protected pc community, below statutes just like the U.S. Pc Fraud and Abuse Act, since intentionally (or recklessly) pushing an exploit to a stay, interstate monetary infrastructure can represent unauthorized disruption, even when framed as “testing.”
The incident gives a uncommon pure experiment in how layer-1 blockchains deal with validation failures.
Cardano preserved liveness, blocks saved coming, however sacrificed momentary uniqueness, creating two legitimate-looking chains that needed to be merged again collectively.
Solana, in contrast, has repeatedly chosen the other trade-off: when its single consumer hits a deadly bug, the community halts outright and restarts below coordinated human intervention.
Ethereum goals to sit down between these extremes by operating a number of impartial consumer implementations, betting that no single codebase can drag the complete validator set onto an invalid chain.
Cardano’s break up and the velocity with which it resolved take a look at whether or not a monolithic structure with model skew can approximate the protection properties of real multi-client redundancy, or whether or not it merely bought fortunate.
The bug and the partition
Intersect, Cardano’s ecosystem governance physique, traced the failure to a legacy deserialization bug in hash-handling code for delegation certificates.
The flaw entered the codebase in 2022 however remained dormant till new execution paths uncovered it in node variations 10.3.x by 10.5.1.
When a malformed delegation transaction carrying an outsized hash hit the mempool round 08:00 UTC on Nov. 21, newer nodes accepted it as legitimate and constructed blocks on high of it.
Older nodes and tooling that had not migrated to the affected code path appropriately rejected the transaction as malformed.
That single disagreement over validation break up the community. Stake pool operators operating buggy variations prolonged the poisoned chain, whereas operators on older software program prolonged the wholesome one.
Ouroboros, Cardano’s proof-of-stake protocol, instructs every validator to observe the heaviest legitimate chain it observes, however “legitimate” had two completely different definitions relying on which node model processed the transaction.
The consequence was a stay partition: each branches continued producing blocks below regular consensus guidelines, however they diverged from a standard ancestor and couldn’t reconcile with out guide intervention.
The sample had appeared on Cardano’s Preview testnet the day earlier than, triggered by practically an identical delegation logic.
That testnet incident alerted engineers to the bug in a low-stakes surroundings. Nonetheless, the repair had not but propagated to mainnet when a former stake-pool operator, who later claimed he adopted AI-generated directions, submitted the identical malformed transaction to the manufacturing community.
Inside hours, the chain had break up, and infrastructure suppliers confronted the query of which fork to deal with as canonical.
Protected failure with no kill swap
Cardano’s partition resolved itself by voluntary upgrades somewhat than emergency coordination. Intersect and core builders shipped patched variations of node, 10.5.2 and 10.5.3, which appropriately rejected the malformed transaction and rejoined the wholesome chain.
As stake pool operators and exchanges adopted the patches, the load of consensus regularly tipped again towards a single ledger.
By the top of Nov. 21, the community had converged, and the poisoned department was deserted.
The incident uncovered an uncomfortable hole: two canonical ledgers existed concurrently, however a number of boundaries prevented it from cascading right into a deep reorganization or everlasting lack of finality.
First, the bug lived in application-layer validation logic, not in Cardano’s cryptographic primitives or Ouroboros’ chain-selection guidelines. Signature checks and stake weighting continued to function usually. The disagreement centered solely on whether or not the delegation transaction met ledger validity situations.
Second, the partition was uneven. Many vital actors, together with older stake pool operators and a few exchanges, ran software program that rejected the dangerous transaction, making certain substantial stake weight remained behind the wholesome chain from the beginning.
Third, Cardano had pre-positioned a disaster-recovery plan below CIP-135, which documented a course of for coordinating round a canonical chain in additional excessive situations.
Intersect is ready to invoke that plan as a fallback, however voluntary upgrades proved ample to revive consensus below regular Ouroboros guidelines.
The slim scope of the bug additionally mattered. The flaw affected a particular hash deserialization routine for delegation transactions, a bounded assault floor that might be patched and closed with out requiring broader protocol modifications.
As soon as mounted, the exploit path disappeared, and no generalizable class of malformed transactions remained out there to set off future splits.
| Time (UTC) / Date | Section | What occurred | Detection / sign | Mitigation step |
|---|---|---|---|---|
| Nov 20, 2025 – night | Testnet precursor | Malformed delegation transaction is submitted on the Preview testnet and exploits a dormant deserialization bug within the hash-handling code, making a break up between a “poisoned” and “wholesome” testnet chain. | Engineers and SPOs see anomalous behaviour on Preview; incident is logged and a technical response ready in a single day as a result of the bug is clearly reproducible. | Core groups start creating and testing a hotfix and up to date node binaries so the identical malformed sample will be rejected in future. |
| Nov 21, 2025 – round 08:00 | Malformed tx hits mainnet (T0) | An virtually an identical malformed delegation transaction is broadcast on Cardano mainnet from a pockets later tied to a former stake-pool operator. Newer node variations settle for it; older variations reject it, creating two competing chains. | Block explorers and monitoring dashboards start to diverge; some SPOs discover inconsistent tip hashes and slowed block manufacturing. | Preliminary containment is procedural: exchanges and infrastructure groups are instructed to observe for anomalies whereas engineers affirm that the mainnet behaviour matches the Preview testnet bug. |
| Nov 21, 2025 – minutes after T0 | Formal detection and public flag | Intersect and IOG classify the state of affairs as a “momentary chain partition” between a poisoned and wholesome chain. Groups throughout Intersect, IOG, Cardano Basis, EMURGO, and main SPOs be part of a coordinated incident bridge. | Inside alerts fan out to SPO channels; Intersect notes that groups had been “alerted inside minutes.” Shortly after, the “Mainnet Incident Replace” put up is printed on X to warn the broader ecosystem {that a} malformed transaction has triggered a partition. | Exchanges are pausing ADA deposits and withdrawals as a precaution; SPOs are suggested to not blindly improve and to await patched binaries that can converge on the wholesome chain. |
| Nov 21, 2025 – late morning to afternoon | Hotfix launch and improve marketing campaign | Core builders affirm the foundation trigger as a legacy hash-deserialization bug current in particular latest node variations and absent in older ones. | With the trigger understood, the chance of repeated malformed transactions is assessed and shared with SPOs, CEXs, and infra suppliers in coordination channels. | Patched variations 10.5.2 and 10.5.3 of the node are launched with the deserialization bug mounted. SPOs, relays, and exchanges are instructed to improve in order that their stake weight strikes to the wholesome chain; a CIP-135 disaster-recovery plan is ready as a fallback if upgrades lag. |
| Nov 21, 2025 – by ~22:17 | Community reconverges | As upgraded nodes reject the poisoned department and observe the wholesome chain, Ouroboros consensus density shifts decisively towards the wholesome ledger. The poisoned chain continues solely on a shrinking minority of un-upgraded nodes. | Monitoring reveals that block manufacturing and tip hashes are once more constant throughout main swimming pools, explorers, and exchanges. Intersect confirms that Cardano “by no means went offline,” solely slowed through the partition. | Intersect stories that each one nodes voluntarily joined the primary chain at about 22:17 UTC and that the community converged again to a single wholesome chain inside roughly 14.5 hours of the malformed transaction. A reconciliation working group has been set as much as deal with any transactions that existed solely on the poisoned department. |
| Nov 22–23, 2025 | Publish-incident mitigation and disclosure | Attacker “Homer J” publicly admits to crafting the malformed transaction utilizing AI-generated directions; FBI and different companies are notified. Full “details at a look” report and ongoing after-action evaluation are printed by Intersect. | Neighborhood and media obtain a exact reconstruction of the occasion; myths a couple of “protocol hack” or a “complete outage” are explicitly debunked. | Lengthy-term fixes are scoped to expanded take a look at protection for legacy code, accelerated improve cycles, stronger monitoring, and a renewed emphasis on accountable disclosure and bug bounties somewhat than mainnet experimentation. |
Ethereum’s multi-client insurance coverage coverage
Ethereum treats consumer range as a first-order resilience property. Because the Merge, Ethereum has run separate execution and consensus layers, every supported by a number of impartial implementations.
On the execution facet, Geth, Nethermind, Erigon, and others course of transactions and compute state transitions. On the consensus facet, Prysm, Lighthouse, Teku, Nimbus, and Lodestar deal with validator duties and finality.
The structure is deliberate: no single codebase ought to be capable of impose an invalid block on the community, and bugs in a single consumer ought to end in localized penalties somewhat than chain-wide failure.
The technique has been examined. In early 2024, a consensus-impacting bug in Nethermind precipitated validators operating that consumer to fall behind throughout block processing.
These validators suffered missed-reward penalties, however Ethereum’s canonical chain endured on majority consumer implementations, and no fork occurred.
The incident validated the core thesis: if a minority consumer fails, the community continues. If a majority of purchasers fail, there may be sufficient redundancy to stop a false chain from finalizing.
Cardano’s break up gives an unintended comparative case. The bug lived inside a single node codebase, however model skew between patched and unpatched releases successfully created two competing purchasers that disagreed on validity.
The partition manifested as a stay fork somewhat than a clear rejection of invalid blocks, as a result of each variations had sufficient stake weight to maintain separate chains.
Ethereum’s multi-client mannequin tries to make that form of disagreement survivable by default: if Geth misinterprets a transaction however Lighthouse, Teku, and others reject it, the community ought to observe nearly all of impartial implementations somewhat than any single binary.
The mannequin has weaknesses. Geth usually accounts for greater than half of Ethereum’s execution layer, and Prysm has held an uncomfortable share of the consensus layer at numerous factors.
Ethereum’s client-diversity advocates explicitly body these concentrations as systemic dangers and push for extra even distribution exactly to keep away from a Cardano-style break up on the majority-client degree.
However the precept stays: impartial implementations with impartial bug surfaces cut back the probability {that a} single validation failure cascades right into a network-wide occasion.
Solana’s halt-and-restart trade-off
Solana occupies the other finish of the design house. The community runs a single validator binary and runtime, and when that implementation fails, consensus usually halts outright somewhat than splitting.
In September 2021, bot visitors flooding a Grape Protocol token launch pushed Solana previous 400,000 transactions per second, exhausted validator reminiscence, and precipitated vote transactions to cease propagating.
Consensus broke down, and the community remained offline for roughly 17 hours till validators coordinated a restart with a patched binary.
In February 2024, a bug within the Berkeley Packet Filter loader, a core part of on-chain program execution, precipitated block finalization to halt for about 5 hours.
Engineers recognized the defective improve path, launched a patched consumer, and restarted the cluster.
The sample is constant: Solana prioritizes chain uniqueness over liveness, accepting periodic full outages as the price of a monoclient, high-throughput structure.
When the consumer fails, the chain freezes and restarts below human coordination. Cardano’s incident demonstrates the inverse trade-off: liveness endured, however software program divergence created two chains that each saved producing blocks.
Ethereum’s multi-client technique makes an attempt to keep away from each failure modes by making certain that no single bug can halt the community or break up it into competing histories.
Takeaways for protocol designers
Cardano’s break up underscores the necessity for aggressive fuzzing and fault injection round serialization and deserialization code, particularly for legacy options or not often exercised validation paths.
The bug hid in a hash deserializer launched years earlier and solely triggered by a slim class of delegation transactions, precisely the form of dormant flaw that commonplace testing usually misses.
Differential testing throughout consumer variations, and ideally throughout totally separate implementations, is the extra elementary lever.
| Chain | Consumer range | DoS floor | Gossip hardening | Replay safety |
|---|---|---|---|---|
| Ethereum | ✅ (multi-client on each EL/CL, range an express objective) | ⚠️ (MEV, mempool spam, blob/DA assault floor rising) | ✅ (gossip subnets, scoring, DOS-hardened fork alternative) | ✅ (post-DAO, replay mitigations commonplace; chain IDs) |
| Solana | ⚠️ (successfully one dominant validator consumer) | ⚠️ (historical past of DoS / congestion and runtime bugs) | ⚠️ (QUIC, localized fixes, however outages present residual fragility) | ✅ (no easy cross-chain replay; restarts coordinated) |
| Cardano | ⚠️ (single important node codebase, a number of variations) | ⚠️ (latest malformed-tx break up reveals delicate paths) | ⚠️ (gossip stable however model skew + malformed certs nonetheless damage) | ✅ (no apparent cross-chain replay; partitions resolved by consensus) |
Ethereum analysis now treats consumer range as one thing to measure and incentivize, not simply suggest, exactly to make sure that no single bug can silently redefine validity guidelines for the complete chain.
Cardano’s use of a pre-written disaster-recovery plan below CIP-135, mixed with public incident communication from Intersect, saved the partition from escalating right into a coordination failure.
The plan was by no means absolutely invoked, however its existence created a transparent point of interest for stake pool operators and exchanges to align across the similar chain.
That course of self-discipline, documented playbooks, hearth drills on governance testnets, and clear post-incident evaluation, is arguably the strongest a part of the response.
Lastly, the incident highlights a cultural hole round bug disclosure. The attacker selected to run a testnet exploit on mainnet somewhat than submit it by Cardano’s bug bounty program.
Intersect confused that the identical habits on testnet might have been rewarded as an alternative of criminalized, a reminder that clear, well-compensated disclosure pathways stay one of the simplest ways to stop “strive it on mainnet and see what occurs” from changing into the default researcher posture throughout all layer-1 blockchains.

