Researchers have pinned the $320 million Liquid Network incident on a failure in the transaction-validation cache. The bug, introduced into Elements' master development branch the previous week, never made it into a tagged release. But Liquid's federation functionaries ran the untagged code, and other nodes rejected the invalid transactions.
How the cache collision worked
The flaw sits in range proofs, the cryptographic mechanism that lets nodes check hidden transaction amounts without revealing them. Range proofs are supposed to stop hidden negative outputs from offsetting positive ones, which could create tokens out of thin air. To save computation, nodes cache successful verification results.
An attacker could construct an invalid output and a proof that matched a cache key from a previously valid check, bypassing verification entirely. Charles Guillemet endorsed that cache-key collision explanation. Calle, another researcher, cautioned his account simplified the mechanism and could contain errors.
Stu's transaction reconstruction identified setup transactions and an invalid transaction at Liquid block 4,050,336, creating approximately 3,996.0183 L-BTC. Mononaut's account says federation functionaries accepted the exploit transactions, approved withdrawals, and continued building blocks, while other nodes rejected the affected block. That's why an explorer following rejecting nodes could omit the transactions.
The peg-out and the whitehats
SideSwap said a customer submitted 4,000 L-BTC through its peg-out service on Sept. 6, prompting the release of approximately 3,996 BTC. Liquid said neither SideSwap's peg-out authorization key nor other federation keys were compromised.
The actors controlling the withdrawn Bitcoin describe themselves as whitehats. They've conditioned the return of most funds on the bug being fixed across affected nodes. No completed return or patch rollout has been established.
No patch yet
Blockstream has not confirmed the deployment account that ran the untagged code. The bug remains in the master branch, and there's no public timeline for a fix. Whether the whitehats follow through on their promise — and when a patch lands — remains open.




