BSC Token Hub. Ce nom ne vous dit probablement rien. Pourtant, il aurait pu être l'un des pires piratages de l'histoire de la blockchain : 500 millions de dollars. BSC Token Hub est un bridge entre la première (BEP2) et la nouvelle version de la BNB Chain (BEP20 ou BSC), la blockchain de la plateforme d'échange Binance. En clair, il permet de faire passer les tokens d'une blockchain à une autre.

Finalement, les équipes de Binance ont réussi à geler 400 millions de dollars et le hacker s'en sort avec "seulement" 100 millions. Outre le fait que cette affaire a implicitement prouvé la centralisation de la BNB Chain, elle a aussi interrogé sur les bridges. Ces dispositifs sont aussi indispensables que fragiles pour l'écosystème des cryptomonnaies et de la blockchain.

En effet, le piratage du BSC Token Hub n'est pas le premier subi par un bridge. Sans omettre que les enjeux de sécurité concernent tous les acteurs utilisant des technologies, le secteur du Web3 doit évoluer sur ce sujet pour éviter de telles affaires malencontreuses.

Le problème d'interopérabilité des blockchains

La technologie blockchain est révolutionnaire dans sa théorie, mais encore très jeune dans sa pratique. Ainsi, de nombreux projets se développent dans leur coin, sans véritable concertation avec les autres. Souvent, il y a même une concurrence entre les projets, ce qui fait qu'ils vont se partager peu d'informations.

Au-delà de cet aspect concurrentiel, cela a engendré une difficulté majeure : le problème d'interopérabilité des blockchains. Pour comprendre l'interopérabilité, le mieux est de partir d'un exemple simple, celui entre la blockchain Bitcoin (BTC) et la blockchain Ethereum (ETH). Si Ethereum est un protocole dérivé de Bitcoin, les deux ne peuvent pas communiquer entre eux. Ainsi, vous ne pouvez pas envoyer un BTC sur Ethereum ni un ETH sur Bitcoin.

Ce problème d'interopérabilité s'est accentué avec la multiplication des protocoles. Les acteurs de l'écosystème ont vite compris la difficulté et se sont efforcés de créer des dispositifs permettant une communication entre ces divers protocoles. C'est ce que l'on appelle des bridges.

Le fonctionnement d'un bridge

Techniquement, un bridge peut être un protocole comme un autre, fonctionnant avec un consensus de validation identique à celui des blockchains classiques, comme la preuve d'enjeu (PoS). Cependant, le bridge est destiné, comme son nom l'indique, à faire le pont entre deux blockchains.

Pour ce faire, lorsque vous envoyez, par exemple, un SOL vers Ethereum, le bridge va transformer" votre SOL en un jeton compatible Ethereum (standard ERC-20). Dans le milieu crypto, on dit que le SOL a été "wrapped" (emballé) pour pouvoir être utilisé sur un protocole différent.

C'est exactement le principe du bridge le plus connu, Wrapped Bitcoin (WBTC). Ce bridge va convertir les BTC en WBTC, un jeton synthétique ayant une valeur de 1 BTC, mais qui est un jeton ERC-20. Cela permet d'utiliser des bitcoins dans la finance décentralisée (DeFi), qui tourne principalement sous Ethereum.

Ainsi, on comprend aisément la grande utilité des bridges, qui évitent les blocages et offrent des opportunités intéressantes. Cependant, cela n'est pas sans risque et l'actualité le prouve régulièrement.

La sécurité, talon d'Achille des bridges

La blockchain est régulièrement présentée comme une technologie ultra sécurisée et infalsifiable. En théorie, c'est vrai. Le protocole Bitcoin en est la preuve. Néanmoins, Bitcoin est un protocole particulier, qui doit notamment sa sécurisation à son consensus de validation, la preuve de travail, qui est très énergivore.

Les autres protocoles utilisent le consensus PoS, qui est bien plus malléable. En effet, il peut être aussi bien très sécurisé que mal sécurisé. Les raisons sont multiples et complexes. Et la relative défiance de certains développeurs à simplement discuter du problème n'aide pas.

Les bridges souffrent de leur succès et de leur caractère indispensable. Ils sont en effet très utiles et, pour cela, il faut aller vite. Ainsi, le protocole va être développé rapidement et uniquement en interne, donc sans audit externe. Les éventuelles failles de sécurité peuvent donc ne pas être vues. Cela ne signifie pas que les développeurs sont mauvais, car l'erreur est humaine, mais que le protocole n'a pas été assez revu.

En 2022, on est déjà à plus de 2 milliards de dollars dérobés lors de hacks de bridges. Et encore, cette statistique date d'août dernier et ne prend pas en compte le piratage du BSC Token Hub.

L'immaturité de la technologie

Une nouvelle fois, il n'est pas question de remettre en cause le travail des développeurs, car construire un bridge est difficile. Le problème principal est l'immaturité du secteur, à tous les niveaux.

Si l'absence d'audit externe est de moins en moins fréquente, elle était inexistante il y a encore quelques années voire quelques mois. Si l'on devait faire une analogie, un écrivain ne publie jamais son livre sans de multiples relectures. Or, déployer un bridge sans audit externe des smart contracts ou du code n'a, pendant longtemps, posé aucun problème. L'objectif, c'était d'aller vite, peu importe les imperfections éventuelles.

Les bridges étant massivement utilisés, ils voient transiter quotidiennement des millions de dollars. Néanmoins, la sécurité n'a pas été considérée comme prioritaire, un peu comme une start-up qui prendra des mesures pour lutter contre les cyberattaques "plus tard". Par ailleurs, certains bridges fonctionnaient de manière très naïve avec peu de validateurs. L'exemple typique est Ronin, un bridge d'Axie Infinity (AXS), qui tournait avec… neuf validateurs ! Un hacker n'avait donc qu'à contrôler cinq nœuds pour détourner des fonds à son profit.

Fort heureusement, mis à part chez certains récalcitrants, qui refusent de voir des non-développeurs évoquer ces sujets, les mentalités sont en train d'évoluer. Les audits externes sont de plus en plus pratiqués et beaucoup de développeurs ont conscience des enjeux liés à la sécurité des données et de leur protocole. Il en va de l'image de l'écosystème Web3, qui n'a pas besoin de se comparer aux autres pour avancer.


Source link