Au lendemain de l’un des plus grands « exploits » (autrement dit, un élément de programme ayant permis d’exploiter une faille de sécurité informatique) liés à Ethereum – si ce n’est le plus important – la communauté affiche les signes d’une possible crise.
Après s’être « accidentellement » attaqué au wallet Parity, un individu a gelé l’ensemble des Ethers contenus dans les portefeuilles multi-signatures du logiciel, déployés après le 20 juillet. Les utilisateurs de ces portefeuilles ne peuvent depuis plus avoir accès à leurs Ethers – et le gel pourrait concerner l’équivalent de plus de 150 millions de dollars, selon certaines estimations.
Mais, dans cette histoire, tout n’est pas clair.
Pour le moment, l’élément se rapprochant le plus d’une estimation officielle concernant les sommes gelées provient d’un groupe de chercheurs en informatique, pour qui il s’agirait d’environ 500 000 Ethers, soit une valeur de 154 millions de dollars :
Comme l’a expliqué Patrick McCorry, chercheur à l’University College de Londres, lui et un groupe de chercheurs en informatique sont parvenus à cette estimation en regardant le contrat à l’origine de ce problème, puis en scannant la Blockchain Ethereum pour trouver des smart contracts similaires.
Les sommes concernées correspondent, en termes de valeur en dollars, à trois fois la taille du hack de TheDaO, un incident qui était jusqu’alors considéré comme étant le pire qui soit arrivé à Ethereum depuis sa création.
Notons toutefois qu’en termes d’Ethers, le volume concerné est beaucoup moins important que celui lié au hack the TheDAO (le prix de l’Ether était alors environ 20 fois moins élevé) :
Et même si l” »exploit » n’a pas concerné Ethereum en tant que tel, certains membres de la communauté craignent les conséquences d’une telle attaque.
Rick Dudley, ingénieur chez vulcanize.io, a expliqué à CoinDesk :
« Je pense que nous devrions sérieusement établir, en tant que communauté, les limites de notre pardon. À partir de quand devrions-nous bannir certaines personnes pour des failles de sécurité ? »
Il poursuivit en évoquant le « risque fondamental » lié à la plateforme de smart contracts.
Careless smart contracts
Les développeurs Ethereum ont toutefois rapidement tenu à préciser qu’il s’agissait bien là d’un problème avec le code de smart contract, lui-même basé sur Ethereum, mais pas un problème concernant directement Ethereum.
« Ceci confirme ce que nous savions déjà, à savoir que la rédaction de smart contracts est complexe, et que nous sommes toujours en train d’apprendre les bonnes pratiques pour y parvenir. Les risques liés à l’introduction de bugs dans de tels contrats sont toujours bien présents » a expliqué Jez San Obe, fondateur et CEO de FunFair.
Ce qu’il faut comprendre, c’est qu’il existe un danger, un danger intimement lié au fait que les codes informatiques déployés sur la Blockchain soient irrépressibles – nul ne peut les arrêter.
Alors que cette propriété confère des atouts de poids dans une large gamme d’applications – des chaînes d’approvisionnement alimentaires aux plateformes de réseaux sociaux – ces bugs ne peuvent pas être réparés par une simple mise à jour, comme c’est le cas avec des logiciels « classiques ».
Les développeurs et les chercheurs de la communauté Ethereum avaient évoqué à maintes reprises le problème de la sécurité, afin d’éviter l’émergence de nouveaux hacks, comme celui de TheDAO. Mais la recherche n’en est encore qu’à ses débuts, et il semble difficile, pour le moment, de rédiger des smart contracts permettant de bénéficier d’une sécurité à toute épreuve.
Pendant ce temps, d’autres internautes émettent des critiques à l’encontre de l’équipe de développement du logiciel Parity, dans la mesure où la découverte de cette vulnérabilité intervient seulement quelques mois après la découverte d’un premier bug, qui avait été à l’origine d’un hack, causant déjà 30 million de dollars de pertes.
« La situation n’inspire certainement pas confiance au sujet de leur prochaine mise à jour, destinée à corriger cette vulnérabilité » s’est inquiété Hope Liu, cofondateur et CEO de Eximchain.
Malgré tout, les équipes de Parity soutiennent avoir fait vérifier le code avant de le déployer.
« Nous suivons des normes de haut niveau dans le développement de notre logiciel, avec notamment des vérifications émanant de tiers. Nous avons également mis en place un programme de bug bounty afin que notre logiciel puisse être testé par la communauté » s’est défendu un porte-parole de Parity dans un e‑mail envoyé à CoinDesk.
Un problème inhérent à Ethereum ?
Mais d’autres martèlent leur désaccord. Cet évènement vient ainsi donner du grain à moudre aux critiques d’Ethereum, qui soutiennent que l’exploitation de cette brèche vient démontrer un problème fondamental avec Ethereum.
Charlie Lee, le créateur du Litecoin, a expliqué à CoinDesk qu’il voyait Ethereum comme « un paradis pour les hackers. »
« Le langage de programmation Solidity, utilisé pour rédiger des smart contracts sur Ethereum, est l’un des pire langages qui puisse exister pour rédiger du code informatique dépourvu de bug » a‑t-il expliqué.
Charlie Lee ajouta qu’il estimait anormal qu’un développeur anonyme ait pu ainsi mettre la main sur les fonds appartenant à d’autres personnes.
Johnson Lau, un participant à Bitcoin Core, a désigné les smart contracts d’Ethereum comme étant des « dumb contracts » (contrats stupides) :
Il faut savoir que lorsque TheDAO avait été piratée l’année dernière, les développeurs d’Ethereum avaient mis en place un fork controversé, destiné à rendre leurs fonds aux victimes.
Par ailleurs, certaines estiment que des exploitations de failles de sécurité comme celle-ci vont conduire à des poursuites judiciaires :
« Ce détournement devrait très certainement conduire à des procès. À terme, il devrait conduire à la mise en place d’obligations similaires pour les développeurs de logiciels Blockchain à celles qui s’appliquent déjà dans des sociétés privées, qui doivent se mettre en conformité avec les règles qui s’appliquent au système financier » a expliqué le consultant Blockchain Ciaran Murray.
Un hard fork, la bonne solution ?
Mais alors, existe-t-il une solution pour « dégeler » ces fonds ?
Un « hard fork » constitue une solution qui pourrait permettre de rendre leurs fonds aux victimes. Néanmoins, le fait de réécrire le protocole d’Ethereum devrait susciter la controverse au sein de la communauté.
La dernière fois que les développeurs Ethereum avaient emprunté cette voie, la Blockchain avait été « forkée » en deux réseaux, ETH et ETC (Ethereum Classic). Et certains déclarent déjà « refuser » de prendre à nouveau le chemin d’un hard fork.
L’utilisateur @localethereum a lancé un sondage sur Twitter. Celui-ci fait apparaître une majorité d’internautes se déclarant contre un nouveau fork :
Certaines figures de la communauté ont toutefois le sentiment qu’un hard fork devrait, à leur avis, intervenir. C’est le cas de Johnson Lau, qui a expliqué à CoinDesk qu’il s” »attendait » à ce qu” Ethereum remédie à ce piratage au travers d’un nouvel hard fork.
« Je souhaite le meilleur à Parity dans leur petition pour un hard fork » a ajouté Rick Dudley de Vulcanize. « Je suis sincèrement navré pour toutes les personnes qui ont perdu de l’argent. »
Les équipes de Parity n’ont quant à elles pas décidé de ce qu’elles allaient faire. « Il est encore trop tôt pour se prononcer sur une solution » ont-elles déclaré à CoinDesk.
Malgré tout, certains restent optimistes et estiment que les développeurs Ethereum sont à même de parvenir à trouver une autre solution pour remédier à l’exploitation de cette faille de sécurité.
C’est le cas de Jez San Obe. qui a expliqué à CoinDesk :
« Il est encore trop tôt pour savoir si les white hat hackers vont trouver une façon de réparer les dommages causés, et récupérer ainsi les sommes gelées. Ne sous-estimez pas les capacités de ces petits genies. »
Référence : CoinDesk