Vitalik Buterin, créateur d’Ethereum, a récemment déclaré sur son compte X que l’une des choses qui le passionne le plus à propos de l’intelligence artificielle (IA) est le rôle qu’elle peut jouer dans la vérification et la recherche d’erreurs dans le code. L’IA peut aider à détecter des bugs, à effectuer des vérifications formelles et, surtout, à réduire considérablement les risques au sein de l’écosystème Ethereum, même si elle est applicable à tout projet blockchain.
Ethereum IA
Une application de l’IA qui me passionne est la vérification formelle du code et la recherche de bogues assistée par l’IA.
À l’heure actuelle, le plus grand risque technique d’Ethereum réside probablement dans les bogues de code, et tout ce qui pourrait changer considérablement le jeu à ce sujet serait incroyable.
– vitalik.eth (@VitalikButerin) 19 février 2024
L’enthousiasme de Buterin pour l’application de l’IA à Ethereum est compréhensible, car l’une des principales utilisations de l’IA est d’aider les développeurs à automatiser des tâches telles que les processus de test et d’intégration. En plus de détecter les erreurs dans le code qu’ils créent. La question à se poser est de savoir dans quelle mesure l’IA peut contribuer à améliorer la sécurité dans la blockchain.
Sécurité dans la blockchain et l’IA
Il est indéniable que l’intelligence artificielle (IA) a le potentiel de révolutionner le développement de logiciels blockchain.. Surtout, accélérer et simplifier le processus de création d’applications décentralisées (dApps) sécurisées et efficaces.
L’application de l’IA est actuellement visible sur des plateformes comme ChainLink, où elle est utilisée pour automatiser la collecte et le traitement de données en temps réel pour leurs oracles blockchain. Le but est de rendre vos oracles beaucoup plus précis et, par conséquent, que les informations fournies permettent à vos consommateurs d’avoir une plus grande sécurité.
La blockchain comme défense contre les abus de l’IA
L’IA dans le développement d’applications Ethereum
Nous voyons un autre exemple de la façon dont l’intelligence artificielle a atteint le secteur de la blockchain avec Établi Azure Blockchain. Vous ne connaissez peut-être pas cet outil, mais cette solution Microsoft intègre le meilleur du secteur de l’IA (comme GitHub Copilot, basé sur ChatGPT) et permet d’intégrer des outils d’IA pour le développement et la mise en œuvre de dApps.
Ainsi, vous pouvez développer des applications qui utilisent l’infrastructure Azure, la même qui prend en charge Bing Chat et ChatGPT, et créer des applications décentralisées sur des réseaux tels que Ethereum, Hyperledger, Kaleido ou des solutions propriétaires intégrées à Azure. Nous parlons sans aucun doute d’un univers de possibilités de développement de blockchain, dans lequel l’IA joue un rôle fondamental en nous aidant à accélérer ces processus de développement.
Accéder à des fonctionnalités uniques
Bien entendu, dans les deux cas, tant dans ChainLink que dans Azure, nous accédons à des fonctionnalités uniques. Des capacités qui nous aideront à améliorer notre développement de blockchain. Surtout, parce que parmi ces fonctionnalités on trouve des choses aussi utiles que :
- Automatisation des tâches répétitives. L’IA peut automatiser des tâches fastidieuses et répétitives qui font perdre un temps précieux aux développeurs, telles que la création de contrats intelligents, la gestion des clés privées et la vérification du code. Cela permet aux développeurs de se concentrer sur des tâches plus créatives et stratégiques.
- Détection des erreurs et des vulnérabilités. Les algorithmes d’IA peuvent analyser le code de la blockchain à la recherche d’erreurs et de vulnérabilités de sécurité, améliorant ainsi la fiabilité et la robustesse des dApps. Ceci est crucial pour protéger les actifs numériques et prévenir les cyberattaques.
- Optimisation des performances. L’IA peut analyser le comportement des dApps et suggérer des optimisations pour améliorer leurs performances, comme réduire le temps de traitement des transactions, réduire la consommation d’énergie et, surtout, réduire leur impact sur les frais que les utilisateurs doivent payer. lors de l’utilisation d’une dApp.
- Développement d’interfaces utilisateur intuitives. L’IA peut aider à créer des interfaces utilisateur intuitives et faciles à utiliser pour les dApps, facilitant ainsi leur adoption par des utilisateurs non techniques. La meilleure dApp au monde ne vaut rien si elle n’est pas intuitive et trop complexe à utiliser.
- Génération de données synthétiques. C’est là que l’IA est géniale car elle peut générer des données synthétiques réalistes pour les tests et le développement, permettant aux développeurs de tester leurs dApps dans un environnement sécurisé sans avoir besoin d’utiliser des données réelles et sensibles.
La face cachée de l’Intelligence Artificielle
Cependant, à ce stade, nous devons nous demander Oui, l’IA peut faire tout cela comme par magie. La réponse courte est : Non. Mais peut-être que la réponse courte ne vous convaincra pas, surtout si vous êtes fan de l’IA. Développons donc mieux ce point.
Premièrement, il est indéniable que l’Intelligence Artificielle est d’une grande aide. Mais c’est juste ça : une aide. Ce n’est pas que l’IA fasse de vous, comme par magie, le meilleur programmeur blockchain. Cela ne fera pas non plus de vos dApps un programme imprenable à l’épreuve du piratage. Si vous pensez ainsi, vous avez perdu la bataille pour la cybersécurité.
La réalité est bien plus dure. Nous pouvons en voir un exemple clair dans un article publié en 2023 par le célèbre magazine WIRED. En disant article, titré: «L’énorme pouvoir et le danger potentiel du code généré par l’IA», montre clairement que les IA peuvent rendre nos programmes plus vulnérables.
Ceci est dû au fait Les IA ont tendance à générer du code erroné, mal optimisé, voire inutile si elles ne bénéficient pas de la supervision et de l’examen humain nécessaires. Fondamentalement, l’article montre clairement que les IA sont très mauvaises pour générer du code nouveau et innovant.
Aucune créativité
Il faut tenir compte du fait que Les IA utilisent des données du passé pour vous donner une réponse, elles n’innovent pas et ne créent rien de nouveau. En fait, ses capacités limitées de compréhension et de créativité font de cet outil un énorme danger s’il ne dispose pas de la supervision humaine correspondante.
Si vous avez utilisé une IA pour générer du texte, vous avez probablement vu ce bug. À de nombreuses reprises, les IA génèrent du texte dénué de sens qui ne répond pas à ce que vous demandez ou vous ment directement en injectant de fausses données. La même chose se produit dans d’autres domaines scientifiques. Dans Gardien, ont récemment fait écho à l’inquiétude croissante suscitée par les fausses études scientifiques alimentées par l’IA. C’est une réalité qui affecte également le développement de logiciels. Comme le cas de l’IA appliquée à la blockchain.
Donc, pour l’instant, il semble que les programmeurs humains ont encore beaucoup de travail devant eux et qu’ils ne seront pas facilement remplacés par l’IA. Les humains ont la capacité d’innover, de penser latéralement et hors des sentiers battus, afin de créer de nouvelles choses. Actuellement, une IA ne dispose pas de telles capacités, ce qui limite son rôle dans la génération de code.
Intelligence artificielle pour les tests et l’automatisation
Ce qu’une IA peut faire, c’est recevoir l’ordre d’effectuer une tâche répétitive. Une tâche dans laquelle, en utilisant de grands ensembles de données, nous pouvons tester nos applications. Imaginez que vous générez une application financière décentralisée et que vous souhaitiez la tester de toutes les manières possibles pour détecter les erreurs, les problèmes de sécurité ou de logique dans votre application. Nous parlons de tester des centaines de fonctionnalités, des milliers de lignes de code et des millions de permutations opérationnelles différentes. Allez-vous les essayer un par un, jusqu’à ce que vous détectiez un défaut, le répariez et redémarriez le compte ? La réponse est non. Personne ne fait ça.
Actuellement, les cas les plus courants sont testés, avec des données préprogrammées et nous cherchons ainsi à détecter d’éventuels problèmes. Cela fonctionne, mais il y a toujours des cas extrêmes et c’est souvent là que se cachent des erreurs ou des bugs. Des bugs qui finissent par coûter des centaines de millions de dollars en fonds volés à leurs utilisateurs. Puisque personne ne veut que cela se produise, nous avons besoin d’outils pour pouvoir automatiser tout cela et passer à un nouveau niveau : l’outil est l’IA.
Face à l’ennui du développement
Vous pouvez confier à une IA une tâche répétitive et fastidieuse et lui dire de l’exécuter jusqu’à ce qu’elle soit terminée et à la fin vous proposer un rapport sur l’exécution desdites tâches. L’IA fera ce pour quoi vous l’avez programmée et vous donnera enfin le rapport. Au lieu de cela, si vous inscrivez une personne, non seulement cela prendra plus de temps, mais le taux d’erreur sera plus élevé. Avec l’IA, vous gagnez du temps et réduisez les erreurs. Par conséquent, l’option à choisir sera l’IA, mais avec une personne chargée de contrôler l’IA afin qu’elle puisse analyser les informations qu’elle génère et maintenir les fonctions de l’IA en conformité avec les exigences du projet.
De cette façon, votre entreprise gagne. D’une part, cela améliore votre cycle de développement, vous pouvez tester vos logiciels de manière plus exhaustive et vous réduisez les problèmes de sécurité potentiels. Ceci, qui est essentiel dans la blockchain, l’est particulièrement dans DeFi, un espace où il existe des protocoles si complexes et interfonctionnels que la tâche de tester toutes les combinaisons d’utilisation est humainement impossible.
Programmer, tester et déployer
En tant que développeur blockchain, disposer d’un assistant doté de ces capacités rend votre cycle « Programmer, tester, déployer » aussi court que possible. Il vous permet de vous consacrer au développement et à l’innovation de votre produit et de le tester de manière plus intensive avec l’IA.
En fin de compte, Vitalik a raison sur une chose : L’IA peut contribuer à améliorer la blockchain, en rendant les cycles de test plus approfondis et en améliorant ainsi la sécurité et la stabilité des logiciels générés. Mais il y aura encore des lacunes, car le nouveau code que vous avez créé en un week-end est quelque chose que l’IA ne comprend pas. Ce qui donne l’occasion au prochain échec ou bug de se faufiler et au hacker de service d’en profiter pour drainer un protocole DeFi.