La finance décentralisée (DeFi) se développe à un rythme très rapide. Au cours des deux dernières années, la valeur totale verrouillée, qui est une mesure de la somme gérée par les protocoles DeFi, est passée de 10 milliards de dollars à un peu plus de 40 milliards de dollars, après avoir atteint un sommet de 180 milliards de dollars.

Quel est donc le problème ? Plus de 10 milliards de dollars ont été perdus suite à des piratages et à des hacks rien qu'en 2021. Qu'est-ce qui complique le problème ? Les langages de programmation de smart contracts d'aujourd'hui ne proposent pas les fonctionnalités adaptées à la création et à la gestion des actifs numériques, également appelés « tokens ». Mais pour que la DeFi se généralise, les langages de programmation doivent proposer des fonctionnalités axées sur les actifs numériques qui rendront le développement de smart contracts DeFi plus sûr et plus intuitif.
Les langages de programmation de DeFi actuels n'intègrent pas le concept d'actifs numérique
L'une des solutions qui pourraient aider à réduire les piratages récurrents observés dans l'écosystème DeFi, c'est l'audit de code. Dans une certaine mesure, les audits sont productifs. En effet, sur les 10 plus grands hacks de l'histoire de l'écosystème DeFi (plus ou moins), neuf des projets n'ont pas été audités. Toutefois, investir plus de ressources dans la résolution de ce problème revient à installer plus de moteurs dans une voiture à roues carrées : elle peut aller un peu plus vite, mais il y a un problème fondamental qu'il faut résoudre.
Le problème : les langages de programmation utilisés pour les applications de DeFi aujourd'hui, tels que Solidity, n'intègrent pas le concept d'actif numérique. Les actifs numériques tels que les tokens et les tokens non fongibles (NFT) n'existent qu'en tant que variable (nombres qui peuvent changer) dans les smart contracts comme ceux qui sont basés sur la norme ERC-20 d'Ethereum. Les protections et les validations qui définissent comment la variable doit se comporter, par exemple, qu'elle ne doit pas être dépensée deux fois, qu'elle ne doit pas être retirée par un utilisateur non autorisé, que les transferts doivent toujours être équilibrés et avoir un solde nul - doivent être entièrement conçues par le développeur, pour chaque smart contract.
À lire également : Les développeurs auraient pu éviter les piratages de cryptomonnaies avec des mesures de sécurité de base
Plus les smart contracts deviennent complexes, plus les protections et les validations requises doivent l'être également. Mais les gens sont des humains. Ils peuvent commettre des erreurs. Il peut y avoir des bogues. On peut perdre de l'argent.
Un exemple concret : Compound, l'un des protocoles DeFi les plus en vedette, a été victime d'un piratage à hauteur de 80 millions de dollars en septembre 2021. Pourquoi ? Tout simplement parce que le smart contract contenait un « > » au lieu d'un « >= ».
L'effet d'entraînement
Pour que les smart contracts interagissent les uns avec les autres, comme un utilisateur échange un token avec un autre, des messages sont envoyés à chacun des smart contracts pour mettre à jour leur liste de variables internes.
Il en résulte donc un acte d'équilibrage complexe. Les développeurs DeFi doivent s'assurer que toutes les interactions avec le smart contract sont bien traitées. Puisqu'il n'y a pas de garde-fous innés intégrés à Solidity et à la machine virtuelle Ethereum (EVM), les développeurs DeFi doivent concevoir et mettre en œuvre eux-mêmes toutes les protections et validations requises.
Les développeurs de l'écosystème DeFi passent donc la quasi-totalité de leur temps à s'assurer que leur code est sécurisé. Et la double-vérification – et la triple vérification – dans la mesure où certains développeurs ont laissé entendre qu'ils passent jusqu'à 90 % de leur temps sur les validations et sur les tests alors qu'ils ne consacrent que 10 % de leur temps à créer des fonctions et des fonctionnalités.
Étant donné que les développeurs consacrent la quasi-totalité de leur temps à combattre du code non sécurisé et qu'il y a une pénurie de développeurs, comment se fait-il que DeFi se soit développée aussi rapidement ? Apparemment, il semble qu'il y ait une demande pour des formes de monnaie programmable auto-souveraine, sans permission et automatisée, malgré les défis et les risques liés à la création de cette monnaie aujourd'hui.
Imaginons maintenant combien d'innovations pourraient être apportées si les développeurs de DeFi pouvaient concentrer leur productivité sur les fonctionnalités plutôt que sur les défaillances. Ce genre d'innovation pourrait permettre à ce secteur émergent pesant 46 milliards de dollars de perturber un secteur aussi important que les 468 000 milliards de dollars que représente la finance mondiale.

Innovation et sécurité
La clé de l'innovation et de la sécurité de la DeFi se trouve dans une même formule : donner aux développeurs un moyen simple de créer et d'interagir avec des actifs et de faire des actifs et de leur comportement intuitif une fonctionnalité native. Tout actif créé doit toujours se comporter de manière prévisible et en conformité aux principes financiers de bon sens.
Selon le paradigme de la programmation axée sur les actifs, la création d'un actif est aussi simple que le fait de lancer une fonction native. La plateforme sait ce qu'est un actif : par exemple, la fonction « .initial_supply_fungible(1000) » va créer un token fongible avec un approvisionnement fixe de 1000 (au-delà de l'approvisionnement, de nombreuses autres options de configuration de token seront également disponibles) tandis que des fonctions telles que « .take » et « .put » permettront de prendre des tokens d'un endroit et de les déposer ailleurs.
Au lieu que les développeurs écrivent une formule complexe demandant aux smart contracts de mettre à jour les listes de variables avec toutes les vérifications d'erreurs que cela suppose, dans la programmation axée sur les actifs, les opérations que tout le monde jugerait, de manière intuitive, fondamentales pour la DeFi sont des fonctions natives du langage. Les tokens ne peuvent donc pas être perdus ou s'épuiser, car la programmation axée sur les actifs garantit qu'ils ne le peuvent pas.
C'est de cette manière que l'on arrive à la fois à l'innovation et à la sécurité dans la DeFi. Et c'est de cette manière que l'on réussira à changer la perception du grand public, qui ne verra plus la DeFi comme le Far West, mais comme un endroit où il faut investir ses économies, parce que dans le cas contraire, on est perdant.
L'auteur, qui a communiqué son identité à Cointelegraph, a utilisé un pseudonyme pour cet article. Cet article est publié à des fins d'information générale et n'est pas destiné à être et ne doit pas être considéré comme un conseil juridique ou d'investissement. Les points de vue, pensées et opinions exprimés ici sont ceux de l'auteur seul et ne reflètent pas ou ne représentent pas nécessairement les points de vue et opinions de Cointelegraph.