Pourquoi Move ?
Le langage de programmation Move a été créé à l’origine par une équipe d’ingénieurs chez Facebook pour le Réseau de Paiement Diem. Move est conçu pour être un langage agnostique à la plateforme pour permettre des bibliothèques communes, des outils et des communautés de développeurs à travers diverses blockchains avec des modèles de données et d’exécution vastement différents. Chez Aptos, nous croyons en la construction d’une communauté de développeurs forte en Move et les invitons à construire sur la pile Move sur Aptos et contribuer au logiciel open source.
Move est construit sur les principes suivants :
Principe | Explication |
---|---|
Sécurisé par défaut | Les systèmes financiers sont construits pour s’assurer que les utilisateurs ne perdent pas de fonds. Move a été conçu pour empêcher des classes entières d’attaques et de bugs tels que les attaques de réentrance, les doubles dépenses, et le débordement arithmétique. La sécurité des types et les vérifications au moment de la compilation sont au premier plan de la sécurité. |
Vérification d’exécution | Le bytecode peut être vérifié à l’exécution pour vérifier que rien ne s’est mal passé, fournissant une sécurité supplémentaire et empêchant les acteurs malveillants. |
Vérification formelle | Move sur Aptos fournit un langage de spécification pour fournir une vérification formelle des contrats. Cela permet de prouver les invariants et aide à l’audit du code. |
Simplicité | Les commandes et le bytecode sont volontairement simples. Cela permet une décompilation facile, une vérification d’exécution, et une inspection du code. L’utilisation de langages de programmation réguliers pour les blockchains nécessite souvent d’ignorer une grande partie du langage pour les rendre appropriés aux contrats intelligents (par exemple Rust). |
Pourquoi Move sur Aptos ?
Section intitulée « Pourquoi Move sur Aptos ? »Move sur Aptos supporte le langage complet construit par l’équipe chez Facebook, avec des extensions supplémentaires construites pour améliorer la sécurité et l’expérience développeur.
Sécurité
Section intitulée « Sécurité »Avantages | Explication |
---|---|
Vérification formelle | Le framework Aptos est entièrement spécifié et formellement vérifié avec le Move Prover. Cela inclut les contrats centraux impliquant la gouvernance, les NFT, et les Jetons. |
Couverture de gaz | Move VM a 100% de couverture de gaz. Le gaz est facturé basé sur l’utilisation réelle dans le système (CPU, mémoire, stockage, E/S). En d’autres termes, pas d’exploits de gaz. |
Redondance de sécurité | Redondance de sécurité fournie par les vérifications de sécurité d’exécution. |
Contrôles de permissions | Les contrôles de permissions peuvent être construits de manière flexible à différents niveaux. Par exemple, les contrôles de permissions au niveau des jetons existent par défaut pour permettre la tokenisation RWA. |
Expérience Développeur
Section intitulée « Expérience Développeur »Avantages | Explication |
---|---|
Outils de Développement Move | - Tests unitaires : Move a des tests unitaires intégrés pour tous les contrats. Aptos fournit en plus des fonctionnalités de test dans le framework pour tester différents scénarios. - Couverture : L’outillage de couverture permet un rapport de couverture au niveau du code source et du bytecode. - Décompilateur : Pour une meilleure sécurité, le bytecode sur la chaîne peut être désassemblé ou décompilé pour fournir une visibilité sur les contrats réels. - Plugins IDE : Aptos a un support pour tous les IDE majeurs : VSCode, Cursor etc. et IntelliJ. |
Modèle de Données | Aptos a un modèle de données accessible avec la définition des données stockée sur la chaîne. Les objets et comptes peuvent avoir plusieurs structures distinctes dans un format facile à analyser. |
Mise à niveau | La mise à niveau garantit que les interfaces d’application ne peuvent pas être cassées et ne nécessite pas d’adoption explicite des applications en aval. Les contrats peuvent simplement être mis à niveau sur place pour corriger les bugs. |
Interaction croisée | Move permet l’interaction entre contrats en utilisant des structures type-safe. |
Stockage de code | Aptos stocke le code source sur la chaîne améliorant la capacité d’auditer et d’assurer la correction du contrat au bytecode. |
Transactions sponsorisées | Le support natif de transactions sponsorisées permet d’avoir des transactions payées par d’autres utilisateurs sans services spéciaux ou code spécifique au contrat requis. |
Standards de jetons robustes | Les standards Digital Asset et Fungible Asset fournissent flexibilité et un standard unifié pour divers types de jetons et d’actifs numériques sur la chaîne. Ceux-ci ont été influencés par des standards existants tels qu’ERC-20, ERC-721, ERC-1155 et Token-2022. |
Aléatoire sur chaîne | L’aléatoire natif sur chaîne non biaisable fournit un moyen sûr et cohérent d’obtenir des nombres aléatoires, avec des vérifications de sécurité supplémentaires au moment de la compilation. |