Que s'est-il passé sur Liquid Network ?
Des attaquants ont retiré environ 4 000 BTC de la réserve de Liquid Network au cours du week-end du 6 septembre, sur les 4 200 BTC qu'elle détenait. Le montant représentait environ 320 millions de dollars au moment des faits, selon Chainalysis. Liquid Network est une sidechain de Bitcoin développée par Blockstream, conçue pour des transactions rapides, peu coûteuses et confidentielles. Les bitcoins déposés y circulent sous la forme de L-BTC, un jeton adossé à raison de 1 pour 1 aux BTC conservés par la Liquid Federation. Le principe rappelle celui d'un jeton qui représente un dépôt immobilisé ailleurs : sa valeur repose entièrement sur la réalité de la réserve. C'est précisément ce lien qui a cédé. Les attaquants ont fabriqué des milliers de L-BTC sans déposer le moindre bitcoin, puis les ont échangés contre des BTC réels via le mécanisme de sortie du réseau, le peg-out. Les bitcoins retirés appartenaient donc à d'autres utilisateurs.
Comment la faille a-t-elle permis de créer des jetons sans dépôt ?
Liquid utilise les Confidential Transactions, qui masquent les montants échangés. Comme les sommes sont cachées, le réseau exige des preuves cryptographiques pour établir la validité d'une transaction. L'une d'elles, la range proof, sert justement à empêcher la création d'actifs à partir de rien. Vérifier ces preuves coûte du calcul. Le logiciel de Liquid conservait donc en mémoire le résultat des vérifications réussies, pour ne pas recontrôler deux fois la même donnée. Le défaut se trouvait dans la manière d'identifier ces résultats mis en cache : une donnée nouvelle pouvait être confondue avec une donnée déjà approuvée. Les attaquants ont d'abord fait valider une donnée légitime, puis soumis une donnée invalide pointant vers le même résultat en cache. Les nœuds concernés l'ont acceptée sans nouveau contrôle. Chainalysis compare le résultat à une faille bancaire qui laisserait augmenter le solde d'un compte sans versement, avant de retirer ce solde fictif en espèces.
Pourquoi 47 millions de dollars manquent-ils encore ?
Après le retrait, le groupe a contacté Blockstream en se présentant comme des « whitehats », proposant de rendre « la plus grande partie » des fonds une fois le bug corrigé. Les échanges ont eu lieu directement sur la chaîne Bitcoin, via le champ OP_RETURN, en clair pour certains messages et chiffrés pour beaucoup d'autres. Dans un premier message en clair, les attaquants ont écrit : « The chain is under risk at latest commit », avant d'ajouter : « make sure every node is patched ». Une fois que Blockstream a confirmé sur la chaîne que ses nœuds de pont étaient corrigés, le groupe a renvoyé 3 400 BTC en une seule transaction, soit 85 % du montant retiré. Les 600 BTC restants ont été récupérés comme monnaie de rendu vers une adresse contrôlée par les attaquants, dans cette même transaction. Ils valaient environ 47 millions de dollars mardi 8 septembre et se trouvaient toujours entre leurs mains. Aucune explication publique n'a été donnée. Des observateurs y voient une prime de fait, mais ni Blockstream ni les attaquants n'ont confirmé un tel arrangement, et rien n'indique que ces fonds seront rendus.
| Bitcoins | Situation |
|---|---|
| 4 200 BTC | détenus par la réserve de Liquid avant l'attaque |
| 4 000 BTC | retirés vers la chaîne Bitcoin |
| 3 400 BTC | restitués à Liquid après le correctif |
| 600 BTC | encore contrôlés par les attaquants |
Où en est le réseau ?
Blockstream a corrigé la vulnérabilité mercredi 9 septembre, déployé une version mise à jour du logiciel et préparait le redémarrage du réseau. Liquid Network indiquait mardi que les « discussions » se poursuivaient avec les prétendus whitehats pour obtenir le retour du solde. L'épisode ne met pas en cause Bitcoin, dont le protocole n'a pas été touché. Il concerne la couche construite au-dessus. Chainalysis souligne cette distinction : sidechains, ponts, portefeuilles, plateformes d'échange et conservateurs ajoutent chacun leur propre code, donc leurs propres défauts. Un utilisateur qui dépose des BTC sur une couche construite au-dessus de Bitcoin dépend du logiciel et de la fédération qui gèrent la réserve, pas seulement de la sécurité de la chaîne d'origine. D'autres vecteurs de perte visent l'utilisateur lui-même, comme l'interception d'une transaction en cours d'envoi. Les 4 000 BTC retirés représentaient la quasi-totalité de la réserve du réseau.


