Algorand courtise les développeurs de Python dans un « changement sismique »
Le choix du langage de programmation n'est pas la solution ultime au développement de contrats intelligents. Mais cela influence la sécurité, l'efficacité et l'accessibilité des applications blockchain. Chaque langage est doté de son propre ensemble de capacités et de limitations qui peuvent avoir un impact sur la manière dont les contrats sont exécutés, sur le potentiel de vulnérabilités et sur la facilité de recherche et de correction des erreurs.
Algorand est en train de devenir la première blockchain de couche 1 à adopter Python comme langage canonique, dans ce que le directeur de la technologie de la Fondation Algorand, John Woods, appelle un « changement sismique ».
"Python constitue un grand pas en avant sur la feuille de route visant à supprimer toutes les barrières à l'entrée pour les développeurs", a déclaré Woods.
Avec plus de 10 millions de développeurs dans le monde, il est peut-être surprenant que le langage ait été historiquement négligé par les plateformes de contrats intelligents, étant donné que le bassin total de développeurs spécialisés dans les contrats intelligents reste relativement restreint.
Lire la suite : Electric Capital constate que les développeurs Web3 chevronnés sont en hausse
Mariano Dominguez, développeur de logiciels chez Vestige.fi, une application DeFi basée sur Algorand, a déclaré à Blockworks qu'il y avait plusieurs raisons à cela.
D'une part, « la plupart des chaînes dotées d'une couche d'exécution de contrats intelligents fonctionnent dans un scénario de contrainte de ressources qui n'est pas typique des environnements de développement modernes », a déclaré Dominguez.
« Pour cette raison, il est souvent plus facile et moins coûteux de créer un langage spécifique à un domaine (comme Solidity, PyTEAL/TEAL ou Move par exemple), que d'intégrer un langage « normal », puisque vous pouvez exercer ces limitations dès le départ..»
TEAL était le premier langage de contrat intelligent d'Algorand et PyTEAL était un mécanisme permettant d'appeler des instructions TEAL à partir d'un fichier Python.
La différence maintenant, a déclaré la Fondation à Blockworks, est que Python natif est compilé avec le bytecode de la machine virtuelle Algorand (AVM), ce qui le rend compatible avec les outils natifs de Python, y compris les suites de tests.
Cela le distingue à la fois de PyTEAL et des langages comme Vyper pour l'EVM, qui ne sont que « de type Python ».
Lire la suite : Les chaînes de déplacement effectuent des mouvements
Cependant, a ajouté Dominguez, « la nature simpliste de Python… rend difficile son adaptation à un contexte blockchain.
»*
Cette simplicité est une arme à double tranchant, a reconnu Deian Stefan, co-fondateur et scientifique en chef de Cubist, spécialisé dans les outils de développement pour l'interopérabilité entre les chaînes.
"Je pense qu'il est juste de dire que la barrière à l'entrée pour le développeur Python moyen est plus faible", a déclaré Stefan à Blockworks. Cependant, a-t-il ajouté, « d'après notre expérience de travail avec différentes équipes de l'écosystème : ce n'est pas il est clair que la barrière est autant la langue que tout ce qui l'entoure.
Stefan considère que les facteurs techniques liés aux performances de la plate-forme principale, à la facilité d'intégration des utilisateurs finaux, ainsi que les facteurs non techniques tels que la liquidité et les effets de réseau sont plus importants.
Bien qu'Algorand offre des avantages technologiques tels qu'un débit élevé et de faibles frais de transaction, le réseau a toujours eu du mal à attirer une masse critique de cas d'utilisation et de dapps convaincants, malgré ses solides racines dans la cryptographie fondamentale et l'informatique théorique.
Le dernier effort d'Algorand, AlgoKit 2.
0, est une tentative de « créer des outils qui répondent aux développeurs là où ils se trouvent », a déclaré Dominguez, estimant que pour un développeur Python qualifié, le temps nécessaire pour passer à l'écriture de contrats intelligents passerait de « semaines » à "une question d'heures."
Cela aide également l'activité de Vestige, en permettant à la dapp d'intégrer un nouveau dex écrit en Python pour Algorand en quelques jours, voire plus rapidement avec l'accès au code source, a-t-il déclaré.
"En fin de compte, plus vite vous passez de l'idée au produit, plus vous pouvez essayer de choses et plus l'innovation peut se produire", a déclaré Dominguez.
Mais est-ce que ce sera sûr ?
Dean Tribble, PDG de la plateforme de contrats intelligents axée sur Javascript, Agoric, a des doutes.
"C'est un échec du point de vue de la sécurité", a déclaré Tribble à Blockworks, citant des raisons techniques pour lesquelles Python est largement utilisé pour l'analyse de données par des sociétés comme Google, mais pas pour des applications gérant des milliards de dollars.
Lire la suite : Résoudre le problème des développeurs de Web3 : Web2 reste hésitant
"Nous avons déjà payé 10 milliards de dollars de pertes pour les contrats Solidity DeFi actuels qui ont été testés et ont survécu", a déclaré Tribble.
utiliser des contrats - ils en ont payé le prix (et c'est un chèque élevé ! ) - mais faire un travail nouveau et innovant est très dangereux."
Tant pour l'adoption que pour la sécurité, la possibilité d'utiliser des bibliothèques et des modèles de conception existants tels que les contrats OpenZeppelin testés au combat dans Solidity est la clé du succès de n'importe quel langage, a déclaré Stefan de Cubist, notant que des facteurs pratiques tels que la gestion sécurisée des clés cryptographiques, les tests d'infrastructure les déploiements et l'exécution des mises à niveau sont plus importants dans la pratique.
Lire la suite : Stellar déclenche la mise à niveau du contrat intelligent – et ce n'est pas un EVM
AlgoKit 2.
0 est livré avec un nouveau système de modèles, une bibliothèque complète de modèles de contrats intelligents et toute l'infrastructure nécessaire pour exécuter des applications localement, selon la Fondation Algorand.
L'espoir est de courtiser un large éventail de développeurs, depuis les étudiants fraîchement sortis des cours d'informatique jusqu'aux chercheurs avancés en IA et en apprentissage automatique.
Pour les utilisateurs de dapp, la chaîne, le langage de programmation ou d'autres facteurs techniques ne devraient pas avoir d'importance, selon Dominguez.
Ce qui est efficace, c'est que « l'application qu'ils utilisent répond à leurs besoins ».
"Je pense qu'avec Algorand, le type de produits et de solutions qui peuvent être construits sont comparables, et dans certains cas même meilleurs, que ceux qui utilisent des systèmes existants", a déclaré Dominguez, citant comme exemple la plate-forme de tokenisation immobilière Lofty, où " les gens peuvent investir dans des propriétés individuelles qu'ils possèdent en tant que DAO légal, sans passer par un dépositaire.
Les clients de ces dapps se soucieront de la sécurité, qu'ils comprennent ou non les fondements techniques.
Là, Tribble était sceptique.
"Il est peu probable pour moi que Python soit un jour un langage que l'on puisse exécuter de manière robuste sur une blockchain", a déclaré le PDG d'Agoric.
Quant au nombre de développeurs Python ? Ce n'est pas un problème, a-t-il déclaré : "La plupart des développeurs Python connaissent déjà JavaScript ! "
*Comme le manque de typage statique et de mathématiques uint – opérations arithmétiques utilisant des entiers non signés pour éviter les nombres négatifs.
