Sui est une blockchain de couche 1 dont les smart contracts sont écrits en Move, un langage conçu pour manipuler des actifs numériques en toute sûreté. Son modèle de données repose sur des objets plutôt que sur des comptes, ce qui permet de traiter de nombreuses transactions en parallèle. Pour un projet, cela signifie un langage doté de fortes garanties intégrées, et de nouveaux choix de conception sur la question de savoir qui possède quoi.
Développer sur Sui
Chaque actif ou élément d'état est un objet qui a un propriétaire : une adresse, un autre objet, un accès partagé par tous, ou aucun s'il est immuable. Les transactions portant sur des objets possédés peuvent éviter l'ordonnancement global, tandis que les objets partagés passent par le consensus. Le système de types de Move et ses abilities (key, store, copy, drop) empêchent de dupliquer ou de détruire silencieusement un actif. Une transaction peut enchaîner plusieurs appels dans un seul programmable transaction block.
- Langage : Sui Move
- Outils : l'interface en ligne de commande Sui et son framework de tests Move
- Mises à jour : les packages évoluent via une capability de mise à jour et une politique associée
- Non compatible EVM
Ce que regardent les auditeurs
- La propriété des objets : quels objets sont partagés, qui peut les transmettre à une fonction, et si une fonction fait confiance à un objet qu'elle devrait vérifier
- Les capabilities : création, stockage et transfert des objets d'administration ou d'émission, et le motif du one-time witness
- Les abilities des types : un store ou un copy accordé par erreur peut permettre à un actif d'échapper aux règles prévues
- Les programmable transaction blocks : enchaînements de fonctions publiques composés par un attaquant en une transaction
- L'arithmétique, les arrondis et la politique de mise à jour des packages
Avant de demander des devis
- Décrivez chaque type d'objet, son propriétaire et son cycle de vie
- Listez les capabilities et qui les détient après le déploiement
- Fournissez des tests unitaires Move, y compris des tests d'appels non autorisés
- Précisez la politique de mise à jour prévue et qui contrôle la capability correspondante