Le débat Uniswap DAO montre que les développeurs ont encore du mal à sécuriser les ponts inter-chaînes

Plus d'un milliard de dollars a été volé dans les hacks de ponts cryptographiques inter-chaînes de 2021 à 2022, selon un rapport de Token Terminal. Mais, malgré plusieurs tentatives des développeurs pour améliorer la sécurité des ponts, un débat de décembre 2022 à janvier 2023 sur les forums Uniswap DAO a vergé les faiblesses de sécurité nues qui continuent d'exister dans les ponts blockchain.

Dans le passé, des ponts comme Ronin et Horizon utilisaient des portefeuilles multisig pour s'assurer que seuls les validateurs de pont pouvaient autoriser les retraits. Par exemple, Ronin a exigé cinq signatures sur neuf pour se retirer, tandis qu'Horizon en a exigé deux sur cinq. Mais les attaquants ont découvert comment contourner ces systèmes et ont retiré des millions de dollars de crypto, laissant les utilisateurs de ces ponts avec des jetons non sauvegardés.

Après le piratage de ces ponts multisig, les développeurs ont commencé à se tourner vers des protocoles plus sophistiqués comme Celer, LayerZero et Wormhole, qui prétendaient être plus sécurisés.

Mais en décembre 2022, Uniswap DAO a commencé à discuter du déploiement d'Uniswap v3 sur la chaîne BNB. Au cours du processus, l'organisation autonome décentralisée (DAO) a dû décider quel protocole de pont serait utilisé pour la gouvernance Uniswap inter-chaînes. Dans la discussion qui a suivi, la sécurité de chaque solution a été contestée par les critiques, laissant certains observateurs conclure qu'aucune solution de pont unique n'était suffisamment sécurisée pour les besoins d'Uniswap.

En conséquence, certains participants ont conclu que seule une solution multibridge peut sécuriser les actifs cryptographiques dans l'environnement inter-chaînes de la cryptographie aujourd'hui.

Plus de 10 milliards de dollars d'actifs cryptographiques sont actuellement fermé sur les ponts à partir du 15 février, selon DefiLlama, faisant de la question de la sécurité des ponts une question urgente.

Comment fonctionnent les ponts blockchain

Ponts blockchain permettre à deux blockchains ou plus de partager données les unes avec les autres, comme la crypto-monnaie. Par exemple, un pont peut activer USD Coin (USDC) à envoyer d'Ethereum à BNB Chain ou Trader Joe (JOE) d'Avalanche à Harmony.

Mais chaque réseau blockchain a sa propre architecture et sa propre base de données, distinctes des autres. Donc, au sens littéral, aucune pièce ne peut être envoyée d'un réseau à un autre.

Cybersécurité, Sécurité, Web3, Smart Contracts, Hacks

Pour contourner ce problème, les ponts verrouillent les pièces sur un réseau et en frappent des copies sur un autre. Lorsque l'utilisateur souhaite "déplacer" ses pièces vers le réseau d'origine, le pont brûle alors les copies et déverrouille les pièces d'origine. Bien que cela ne déplace pas les pièces entre les réseaux, il est suffisamment similaire pour répondre aux besoins de la plupart des utilisateurs de crypto.

Cependant, le problème se pose lorsqu'un attaquant peut soit frapper des pièces non sauvegardées sur la chaîne de réception, soit retirer des pièces sur la chaîne d'envoi sans brûler ses copies. Dans tous les cas, il en résulte que la chaîne de réception a des pièces supplémentaires qui ne sont soutenues par rien. C'est exactement ce qui s'est passé lors des hacks Ronin et Horizon de 2022.

Ronin et Horizon : Quand le bridging tourne mal

Le pont Ronin était un protocole qui permettait aux joueurs d'Axie Infinity de déplacer des pièces entre Ethereum et la chaîne latérale Ronin pour jouer au jeu.

Les contrats Ethereum pour le pont avaient une fonction appelée "retirerERC20For", qui permettait aux validateurs Ronin de retirer des jetons sur Ethereum et de les donner à l'utilisateur, avec ou sans les graver sur Ronin. Cependant, le logiciel Ronin que les validateurs exécutaient n'était programmé pour appeler cette fonction que si les pièces correspondantes sur Ronin avaient été brûlées. L'appel de la fonction nécessitait les signatures de cinq des neuf nœuds de validation, empêchant un attaquant de retirer les fonds même s'il prenait le contrôle d'un seul nœud.

Pour s'assurer que les fonds ne pourraient pas être volés, Sky Mavis, développeur d'Axie Infinity, a distribué la majorité des clés de validation à d'autres parties prenantes, y compris Axie DAO. Cela signifiait que si les ordinateurs de Sky Mavis étaient pris en charge, l'attaquant ne serait toujours pas en mesure de retirer des pièces sans leur soutien, car l'attaquant n'aurait que quatre clés.

Mais malgré ces précautions, un attaquant pourrait toujours obtenir les quatre clés de Sky Mavis, plus une cinquième signature d'Axie DAO pour retirer plus de 600 millions de dollars valeur de crypto du pont.

Récent: SEC contre Kraken : une salve ponctuelle ou d'ouverture dans un assaut contre la crypto ?

Sky Mavis a depuis remboursé les victimes de l'attentat et a relancé le pont avec ce que les développeurs appellent un système de "disjoncteur" qui arrête les retraits importants ou suspects.

Une attaque similaire s'est produite sur le pont Harmony Horizon le 24 juin 2022. Ce pont a permis aux utilisateurs de transférer des actifs d'Ethereum vers Harmony et vice-versa. La fonction "unlockTokens" (retirer) ne pouvait être appelée que si deux signatures sur cinq de l'équipe Harmony l'autorisaient. Les clés privées qui pourraient produire ces signatures ont été cryptés et stockés à l'aide d'un service de gestion de clés. Mais grâce à une méthode inconnue, l'attaquant a pu obtenir et décrypter deux des clés, leur permettant de retirer 100 millions de dollars de crypto du côté Ethereum du pont.

L'équipe de l'harmonie proposé un plan de remboursement en août 2022 et relancé le pont à l'aide de LayerZero.

Après ces piratages, certains développeurs de ponts ont estimé qu'ils avaient besoin d'une meilleure sécurité qu'un portefeuille multisig de base. C'est là que les protocoles de transition sont entrés en jeu.

La montée des protocoles de pontage

Depuis que les hacks Ronin et Horizon ont attiré l'attention sur le problème de la sécurité des ponts, quelques entreprises ont commencé à se spécialiser dans la création de protocoles de pont que d'autres développeurs peuvent personnaliser ou mettre en œuvre pour leurs besoins spécifiques. Ces protocoles prétendent être plus sûrs que la simple utilisation d'un portefeuille multisig pour gérer les retraits.

Fin janvier, le DAO Uniswap a envisagé de lancer une version BNB Chain de son échange décentralisé. Dans le processus, il fallait décider quel protocole utiliser. Voici les quatre protocoles considérés, ainsi qu'une brève explication de la façon dont ils tentent de sécuriser leurs ponts.

CoucheZéro

Selon aux documents LayerZero, le protocole utilise deux serveurs pour vérifier que les pièces sont verrouillées sur la chaîne d'origine avant de les autoriser à être frappées sur la chaîne de destination. Le premier serveur s'appelle "l'oracle". Lorsqu'un utilisateur verrouille des pièces sur la chaîne d'envoi, l'oracle transmet l'en-tête de bloc pour cette transaction à la chaîne de destination.

Le second serveur est appelé le « relais ». Lorsqu'un utilisateur verrouille des pièces sur la chaîne d'envoi, le relais envoie la preuve à la deuxième chaîne que la transaction de verrouillage est contenue dans le bloc référencé par l'oracle.

Tant que l'oracle et le relais sont indépendants et ne s'entendent pas, il devrait être impossible pour un attaquant de frapper des pièces sur la chaîne B sans les verrouiller sur la chaîne A ou de retirer des pièces sur la chaîne A sans les brûler sur la chaîne B.

LayerZero utilise Chainlink pour l'oracle par défaut et fournit son propre relais par défaut pour les développeurs d'applications qui souhaitent l'utiliser, mais les développeurs peuvent également créer des versions personnalisées de ces serveurs s'ils le souhaitent.

Rapide

Selon Selon les documents Celer cBridge, Celer s'appuie sur un réseau de validateurs de preuve de participation (PoS) appelés « gardiens d'État » pour vérifier que les pièces sont verrouillées sur une chaîne avant d'être frappées sur une autre. Les deux tiers des validateurs doivent convenir qu'une transaction est valide pour qu'elle soit confirmée.

Dans le débat Uniswap, le co-fondateur de Celer Mo Dong clarifié que le protocole offre également un mécanisme alternatif de consensus appelé "sécurité de style cumulatif optimiste". Dans cette version, les transactions sont soumises à une période d'attente, permettant à n'importe quel tuteur de l'État d'opposer son veto à la transaction si les informations dont il dispose contredisent la majorité des deux tiers.

Mo a fait valoir que certains développeurs d'applications, y compris Uniswap, devraient utiliser le "modèle de sécurité optimiste de type rollup" et exécuter leur propre gardien d'application pour garantir qu'ils peuvent bloquer les transactions frauduleuses même si le réseau est compromis.

En réponse à une question sur qui sont les validateurs du réseau, le co-fondateur de Celer A déclaré:

«Celer compte un total de 21 validateurs, qui sont des validateurs PoS très réputés sécurisant des chaînes telles que Binance Chain, Avalanche, Cosmos et plus, telles que Binance, Everstake, InfStones, Ankr, Forbole, 01Node, OKX, HashQuark, RockX et plus. ”

Il a également souligné que Celer sabre les validateurs qui tentent de faire confirmer les transactions frauduleuses.

Wormhole

Selon à un post du forum de l'équipe, Wormhole s'appuie sur 19 validateurs appelés "gardiens" pour empêcher les transactions frauduleuses. 13 valideurs sur 19 doivent donner leur accord pour qu'une transaction soit confirmée.

Dans le débat Uniswap, Wormhole a fait valoir que son réseau est plus décentralisé et a des validateurs plus réputés que ses pairs, déclarant: "Notre ensemble Guardian comprend les principaux validateurs PoS, y compris Staked, Figment, Chorus One, P2P, et plus."

DeBridge

Les docs deBridge dire qu'il s'agit d'un réseau de preuve de participation avec 12 validateurs. Huit de ces validateurs doivent convenir qu'une transaction est valide pour qu'elle soit confirmée. Les validateurs qui tentent de passer par des transactions frauduleuses sont coupés.

Dans le débat Uniswap, le co-fondateur de deBridge Alex Smirnov A déclaré que tous les validateurs deBridge "sont des fournisseurs d'infrastructure professionnels qui valident de nombreux autres protocoles et chaînes de blocs" et que "tous les validateurs supportent des risques de réputation et financiers".

Dans les dernières étapes du débat, Smirnov a commencé à préconiser une solution multibridge plutôt que d'utiliser deBridge comme seule solution pour Uniswap, car il expliqué:

"Si deBridge est choisi pour le contrôle de température et le vote de gouvernance supplémentaire, l'intégration Uniswap-deBridge sera construite dans le contexte de ce cadre indépendant des ponts et permettra ainsi à d'autres ponts de participer."

Tout au long du débat sur le pont Uniswap, chacun de ces protocoles a fait l'objet de critiques en termes de sécurité et de décentralisation.

LayerZero donnerait le pouvoir aux développeurs d'applications

LayerZero a été critiqué pour être prétendument un multisig 2/2 déguisé et pour avoir mis tout le pouvoir entre les mains du développeur de l'application. Le 2 janvier, l'auteur de L2Beat, Krzysztof Urbański allégué que le système oracle et relais sur LayerZero peut être contourné si un attaquant prend le contrôle des systèmes informatiques du développeur de l'application.

Pour le prouver, Urbański a déployé un nouveau pont et un nouveau jeton à l'aide de LayerZero, puis a relié certains jetons d'Ethereum à Optimism. Ensuite, il a appelé une fonction d'administration pour changer l'oracle et le relais des serveurs par défaut en ceux sous son contrôle. Il a ensuite procédé au retrait de tous les jetons sur Ethereum, laissant les jetons sur Optimism sans support.

L'article d'Urbański a été cité par plusieurs participants au débat, dont GFX Labs et Phillip Zentner de LIFI, comme raisons pour lesquelles LayerZero ne devrait pas être utilisé comme seul protocole de pontage pour Uniswap.

S'adressant à Cointelegraph, le PDG de LayerZero, Bryan Pellegrino, a répondu à cette critique, déclarant qu'un développeur de ponts utilisant LayerZero "peut brûler [sa] capacité à modifier n'importe quel paramètre et à ce qu'il soit 100% immuable". Cependant, la plupart des développeurs choisissent de ne pas le faire car ils craignent d'imposer des bogues immuables dans le code. Il a également fait valoir qu'il peut être plus risqué de confier les mises à niveau à un réseau "d'authentification de la chaîne intermédiaire" ou à un réseau tiers que de le faire contrôler par un développeur d'applications.

Certains participants ont également critiqué LayerZero pour avoir un relais par défaut non vérifié ou à source fermée. Cela rendrait difficile pour Uniswap de développer rapidement son propre relais.

Celer s'inquiète du modèle de sécurité

Dans une premier vote non contraignant le 24 janvier, le DAO Uniswap a choisi de se déployer sur BNB Chain avec Celer en tant que pont officiel Uniswap pour la gouvernance. Cependant, une fois que GFX Labs a commencé à tester le pont, ils posté préoccupations et questions sur le modèle de sécurité de Celer.

Selon GFXLabs, Celer a un contrat MessageBus évolutif sous le contrôle de trois des cinq multisigs. Cela pourrait être un vecteur d'attaque par lequel une personne malveillante pourrait prendre le contrôle de l'ensemble du protocole.

En réponse à ces critiques, le cofondateur de Celer, Mo, a déclaré que le contrat était contrôlé par quatre institutions très respectées : InfStones, Binance Staking, OKX et le réseau Celer. Dong a fait valoir que le contrat MessageBus doit être évolutif pour corriger les bogues qui pourraient être trouvés à l'avenir, car il expliqué:

« Nous avons rendu le MessageBus évolutif dans le but de faciliter la résolution de tout problème de sécurité potentiel au cas où et d'ajouter des fonctionnalités indispensables. Cependant, nous abordons ce processus avec soin et évaluons et améliorons continuellement notre processus de gouvernance. Nous invitons les contributeurs actifs supplémentaires tels que GFXLabs à s'impliquer davantage.

Dans les dernières étapes du débat, Celer a commencé soutenir une solution multibridge au lieu d'argumenter pour que son propre protocole soit le seul pont.

Le trou de ver ne coupe pas

Wormhole a été critiqué pour ne pas avoir utilisé de coupures pour punir les validateurs qui se conduisent mal et pour avoir prétendument effectué un volume de transactions inférieur à ce qu'il admet.

Mo a fait valoir qu'un réseau PoS avec slashing est généralement meilleur qu'un réseau sans, indiquant, "Wormhole n'a pas de sécurité économique ou de coupure intégrée dans le protocole. S'il existe un autre accord centralisé / hors chaîne, nous espérons que wormhole pourra le faire connaître à la communauté. Rien qu'en regardant cette comparaison, un niveau raisonnable de sécurité économique dans le protocole >> 0 sécurité économique dans le protocole.

Mo a également affirmé que le volume de transactions de Wormhole pourrait être inférieur à ce que la société admet. Selon pour lui, plus de 99% des transactions Wormhole proviennent de Pythnet, et si ce nombre est exclu, "il y a 719 messages par jour au cours des 7 derniers jours sur Wormhole".

DeBridge avait très peu de critiques à son encontre, car la plupart des participants semblaient penser que Celer, LayerZero et Wormhole étaient les choix dominants.

Dans les dernières étapes du débat, l'équipe deBridge a commencé à plaider en faveur d'une solution multibridge.

Vers une solution multibridge ?

Alors que le débat Uniswap se poursuivait, plusieurs participants ont fait valoir qu'aucun protocole de pontage unique ne devrait être utilisé pour la gouvernance. Au lieu de cela, ils ont fait valoir que plusieurs ponts devraient être utilisés et qu'une décision majoritaire ou même unanime de tous les ponts devrait être requise pour confirmer une décision de gouvernance.

Celer et deBridge se sont ralliés à ce point de vue au fur et à mesure que le débat avançait, et le PDG de LIFI Phillip Zentner a fait valoir que Le passage d'Uniswap à BNB devrait être reporté jusqu'à ce qu'une solution multibridge puisse être mise en œuvre.

En fin de compte, le DAO Uniswap a voté pour déployer sur BNB Chain avec Wormhole comme pont officiel. Cependant, le directeur exécutif d'Uniswap, Devin Walsh expliqué ce déploiement avec un seul pont n'exclut pas l'ajout de ponts supplémentaires à une date ultérieure. Les partisans d'une solution multibridge poursuivront donc probablement leurs efforts.

Les ponts blockchain peuvent-ils être sécurisés ?

Peu importe ce qui arrivera finalement au processus de gouvernance inter-chaînes d'Unsiwap, le débat a illustré à quel point il est difficile de sécuriser les ponts inter-chaînes.

Mettre les retraits entre les mains de portefeuilles multisig crée le risque que de mauvais acteurs prennent le contrôle de plusieurs signatures et retirent des jetons sans le consentement des utilisateurs. Il centralise le monde de la blockchain et oblige les utilisateurs à s'appuyer sur des autorités de confiance au lieu de protocoles décentralisés.

Récent: Sécurité DeFi : comment les ponts sans confiance peuvent aider à protéger les utilisateurs

D'autre part, les réseaux de pontage de type preuve de participation sont des programmes complexes qui peuvent contenir des bogues, et si leurs contrats ne sont pas évolutifs, ces bogues ne peuvent pas être corrigés sans un hard fork de l'un des réseaux sous-jacents. . Les développeurs continuent de faire face à un compromis entre confier les mises à niveau à des autorités de confiance, qui peuvent être piratées, et rendre les protocoles véritablement décentralisés et, par conséquent, non évolutifs.

Des milliards de dollars d'actifs cryptographiques sont stockés sur des ponts, et à mesure que l'écosystème crypto se développe, il peut y avoir encore plus d'actifs stockés sur ces réseaux au fil du temps. Ainsi, le problème de la sécurisation d'un pont blockchain et de la protection de ces actifs reste critique.