Plutus V3 améliorera l’expérience des développeurs en améliorant l’adoption des contrats intelligents, en prenant en charge les fonctionnalités de gouvernance et de vote et en favorisant l’interopérabilité entre les blockchains.
Plutus V3, désormais disponible pour test sur SanchoNet, introduit des primitives Plutus avancées et fournit ainsi plus d’outils aux développeurs et ouvre plus de possibilités pour rédiger des contrats intelligents.
Une expérience améliorée pour les développeurs et l’adoption de contrats intelligents sont essentielles au paysage florissant des contrats intelligents sur Cardano. Au cours de l’année écoulée, l’émergence et la croissance d’une multitude d’outils de développement et de langages alternatifs créés par la communauté ont considérablement enrichi les options de développement et le dynamisme de l’écosystème des constructeurs Cardano. Pour continuer à développer les capacités, les équipes de Plutus et de cryptographie d’Input Output Global (IOG) – en collaboration avec MLabs – ont travaillé sur Plutus V3, en se concentrant sur les performances, le débit, la taille des contrats intelligents et les capacités de la plate-forme. Avec une boîte à outils de développement enrichie et une meilleure efficacité opérationnelle, cette mise à niveau réduit non seulement les coûts, mais contribue également à attirer de nouveaux développeurs.
Qu’est-ce que Plutus V3 ?
Plutus V3 améliore les capacités cryptographiques de Plutus Core, permettant à Cardano de se conformer aux dernières normes de l’industrie. La mise à niveau de Valentine il y a un an a ajouté la prise en charge des courbes elliptiques SECP (ECDSA et Schnorr).
L’introduction de nouvelles primitives cryptographiques avec la V3 aide les développeurs à respecter les meilleures pratiques de l’industrie, à utiliser des algorithmes cryptographiques bien connus et optimaux, à porter des contrats intelligents depuis Ethereum et à créer des ponts sidechain. Outre les primitives cryptographiques, Plutus V3 améliore les performances en ajoutant une fonctionnalité de sommes de produits (SOP) pour prendre en charge le codage direct de différents types de données. Enfin, la V3 fournit un contexte de script mis à jour qui permettra aux utilisateurs de voir les entités liées à la gouvernance CIP-1694 .
Examinons de plus près les nouvelles fonctions.
Sommes de produits
Une manière courante de coder les types de données dans Plutus Core consiste à utiliser l’ approche Scott . Plutus V3 introduit des sommes de produits – une manière de coder des types de données qui conduit à des scripts plus petits et moins chers par rapport au codage Scott.
L’approche des sommes de produits vise à augmenter l’efficacité des scripts et à améliorer la génération de code pour les compilateurs Plutus Core. Les changements impliquent de nouveaux constructeurs de termes pour regrouper les champs en valeurs de constructeur et une inspection efficace des balises pour les branches de cas. L’avantage est la possibilité pour les programmes de s’exécuter 30 % plus rapidement, ce qui représente une optimisation significative des performances, une rationalisation des opérations et une exécution rapide des contrats intelligents. Pour plus de détails, voir CIP-85 .
Nouvelles primitives cryptographiques
L’utilisation de primitives cryptographiques, englobant des fonctions de hachage, des signatures numériques et des systèmes de preuve sans connaissance (ZKP), est au cœur de chaque blockchain. Ces éléments fondamentaux sont conçus pour l’efficacité informatique, garantissant une sécurité robuste adaptée à leurs applications respectives. Le résultat est un ensemble de garanties de sécurité qui établissent un écosystème sans confiance, facilitant un engagement fluide avec le réseau peer-to-peer (P2P) de Cardano et ses applications décentralisées (DApps).
Dans le langage Plutus, les fonctions intégrées sont celles qui ne sont pas explicitement définies dans le script mais font partie de l’environnement d’exécution du langage. L’utilisation de ces fonctions permet à l’interpréteur de fournir une implémentation optimisée propre à son système lors de l’exécution du script. Les fonctions intégrées exécutent des opérations fréquemment utilisées et bien définies, englobant l’arithmétique, le contrôle et d’autres tâches cruciales. Alors que nous explorons Plutus V3, explorons les nouvelles primitives intégrées qui enrichiront les capacités du langage :
- BLS12-381 – ce couplage de courbes comprend 17 primitives qui prennent en charge les courbes cryptographiques, ouvrant les portes à une mise en œuvre transparente des spécifications sidechain et à l’intégration du Mithril .
- Blake2b-224 – une fonction de hachage cryptographique pour le calcul en chaîne des hachages de clé publique pour la validation des signatures de transaction. La mise en œuvre de Blake2b-224 prend en charge les projets communautaires, contribuant à la polyvalence et à l’adoption de Cardano en s’adaptant à diverses applications.
- Keccak-256 – une fonction de hachage cryptographique qui produit une valeur de hachage de 256 bits (32 octets), couramment utilisée pour la vérification sécurisée des données. Keccak-256 prend en charge la vérification de la signature Ethereum dans les scripts. Ceci est crucial pour les solutions inter-chaînes et facilite les projets communautaires en élargissant les cas d’utilisation sur Cardano.
Donner aux développeurs les moyens de primitives au niveau du bit
L’introduction des primitives bit à bit CIP-58 offrira aux développeurs des capacités robustes pour les manipulations de bits de bas niveau. Cet ajout offre aux développeurs de profonds avantages en termes d’optimisation des performances et de fonctionnalités cryptographiques. Avec leur plan de déploiement incrémentiel, les primitives au niveau du bit garantissent un processus d’intégration transparent et favorisent un environnement robuste permettant aux développeurs de créer des solutions puissantes et efficaces sur Cardano.
Les primitives au niveau du bit offrent les fonctionnalités suivantes :
- Amélioration des performances . Les primitives au niveau du bit introduisent la possibilité de manipulations de bits de très bas niveau dans Plutus. Cette capacité pose les bases de l’exécution d’opérations de manipulation de données hautes performances, un aspect crucial pour les développeurs à la recherche de solutions efficaces.
- Prise en charge cryptographique . L’inclusion de primitives au niveau du bit est essentielle pour prendre en charge des fonctions cryptographiques telles que ED25519, qui est une exigence standard pour le développement de contrats intelligents. Ces primitives implémentent des algorithmes cryptographiques sécurisés et robustes au sein de Plutus.
- Conversions de chaînes entières pour une intégration fluide . Les primitives au niveau du bit facilitent les implémentations standard et hautes performances pour les conversions entre entiers et chaînes. Cette capacité est essentielle car les primitives nécessitent des arguments au format entier, alors que les données sont souvent présentées au format chaîne.
- Algorithmes et structures de données efficaces . CIP-58 ajoute une classe de fonctions de bas niveau pour des algorithmes et des structures de données très efficaces. La possibilité de créer des tables de hachage efficaces, une structure de données de mappage clé-valeur commune, met en valeur l’impact pratique de ces fonctions de bas niveau dans la création de solutions performantes.
La mise à niveau de Plutus ajoutera deux primitives au niveau du bit : integerToByteString
et byteStringToInteger
. Les primitives restantes seront ajoutées progressivement à Plutus V3. À l’avenir, ces mises à niveau ne nécessiteront plus de nouvelle version linguistique. Cette approche de déploiement incrémental garantit une intégration systématique de ces fonctionnalités puissantes dans le langage Plutus.
À partir de la sortie du nœud Cardano v.8.8.0-pre , Plutus V3 est désormais disponible sur SanchoNet , présentant à la communauté Cardano les fonctionnalités de gouvernance du CIP-1694 dans un environnement testnet contrôlé.
Conclusion
Parmi ses avantages, Plutus V3 offre une plus grande efficacité, une plus grande optionnalité et une plus grande facilité d’utilisation à la communauté des constructeurs Cardano – tous essentiels pour favoriser l’adoption par les développeurs. La priorisation d’aspects tels que les performances, le débit, la taille des contrats intelligents et les capacités de la plate-forme garantit que les développeurs de Cardano peuvent utiliser les dernières normes. Ces améliorations facilitent la migration en douceur des contrats intelligents depuis Ethereum, permettent la création de ponts sidechain et contribuent finalement à l’expansion de l’écosystème Cardano.
Source : https://iohk.io/en/blog/posts/2024/02/12/unlocking-more-opportunities-with-plutus-v3/