Ethereum et sa révolution au bord de la catastrophe ? 58% des smart contracts sujets à un bien vilain défaut
Des smart contrats pas assez décentralisés – Pour beaucoup, la décentralisation s’arrête à celle des nœuds ou, au mieux, au processus de décision d’un protocole. Cependant, même s’ils sont déployés sur une blockchain décentralisée, les smart contracts d’Ethereum peuvent se montrer centralisés autour de leurs créateurs.
Des admin keys un peu top sollicitées sur Ethereum
En juin dernier, Nic Carter (co-fondateur de Castle Island Ventures) et Linda Jeng (chercheure à l’université de Georgetown) ont publié une étude dans laquelle ils ont cherché à identifier les risques inhérents à la DeFi. À travers celle-ci, les 2 chercheurs ont identifié un risque de taille : l’utilisation abusive de clés d’administration.
En réalité, de nombreux protocoles disposent de clés d’administration (ou admin keys) permettant aux développeurs d’intervenir sur le contrat en cas de problèmes. Ces clés peuvent aussi mettre en pause un smart contract, le mettre à jour ou encore, dans certains cas, retirer les fonds des utilisateurs.
En plus du risque qu’un des membres de l’équipe de développement agisse de manière malveillante, la présence d’une telle clé crée un point de défaillance unique pour de nombreux smart contracts.
« Si les détenteurs de clés ne créent pas ou ne stockent pas leurs clés de manière sécurisée, des tiers malveillants pourraient mettre la main sur ces clés et compromettre le smart contract. Par ailleurs, les membres de l’équipe centrale eux-mêmes peuvent être malveillants ou corrompus par d’importantes incitations financières. »
Explication de la Réserve fédérale (Fed) de la Louisiane
Aïe ! 58 % des smart contracts d’Ethereum centralisés
Plus récemment, les chercheurs Nikolay Ivanov, Hanqing Guo et Qiben Yan ont aussi publié un second papier intitulé « Rectification des jetons ERC-20 administrés » qui entre dans les détails du problème. Ces derniers ont décidé d’analyser les données de la blockchain Ethereum pour mesurer l’ampleur de ce phénomène, et leurs trouvailles font froid dans le dos.
Sur les 84 062 smart contracts analysés, près de 58 % sont des jetons ERC-20 administrés. En d’autres termes, ils disposent d’une clé d’administration, comme décrit précédemment. Plus surprenant : ce chiffre représente près de 90 % de l’ensemble des jetons ERC-20 déployés sur Ethereum.
De ce fait, même si le recours à une clé d’administration s’avère être la norme sur Ethereum, cela pourrait bien mettre en danger de nombreux contrats et les fonds des utilisateurs qu’ils détiennent.
« Par conséquent, les jetons ERC20 administrés sont, non seulement différents des outils traditionnels de gestion centralisée des actifs, tels que les banques, mais ils sont également plus vulnérables aux actions adverses de leurs propriétaires ou des attaquants. »
Rapport de Nikolay Ivanov, Hanqing Guo et Qiben Yan
Quelle solution pour les tokens ERC ?
En plus de leur travail d’analyse, les chercheurs derrière l’étude que nous venons de voir tentent d’apporter une solution.
Ces derniers ont alors introduit « SafelyAdministrated », une bibliothèque pour smart contracts qui « met en œuvre une propriété et une gestion responsables des jetons ERC-20 ».
« La bibliothèque introduit 3 mécanismes : l’entretien différé, le conseil d’administration et la pause sécuritaire. Nous implémentons et testons SafelyAdministrated sous la forme d’un contrat abstrait Solidity, qui est prêt à être utilisé par la prochaine génération de jetons ERC-20 administrés en toute sécurité. »
Rapport de Nikolay Ivanov, Hanqing Guo et Qiben Yan
Espérons maintenant que les développeurs de smart contracts arriveront à normaliser l’utilisation de tels outils, bénéfiques aussi bien pour leur sécurité que celle des utilisateurs. Cela aurait notamment pu permettre d’éviter l’attaque subie par le protocole Visor Finance en fin juin.