Tout est un objet
Sui ne stocke pas une table de soldes. Il stocke des objets, chacun avec un identifiant unique, un type, une version et un propriétaire. Votre SUI est détenu dans des objets pièce. Votre NFT est un objet. Une position de staking est un objet. Le code qui les définit tous vit dans des objets package.
Une transaction prend des objets en entrée et produit des objets en sortie, ce qui est plus proche du modèle UTXO de Bitcoin que des comptes d’Ethereum — sauf que les objets sont typés et portent des données structurées arbitraires plutôt que simplement une valeur.
Cela a une conséquence directe sur la performance et cela explique la conception de Sui. Les transactions touchant des ensembles disjoints d’objets ne peuvent pas entrer en conflit, donc elles peuvent être exécutées en parallèle sans ordonnancement par consensus. Un simple transfert d’un objet que vous possédez exclusivement n’a pas besoin de l’accord de tout le réseau sur l’ordonnancement, ce qui explique pourquoi il se finalise en bien moins d’une seconde.
Suiscan montre cette structure directement — IDs d’objets, types, versions et propriété — plutôt que de calculer un solde et de le présenter comme la vérité. Le solde est un chiffre dérivé ; les objets sont l’état.
Trois types de propriété
Sui distingue la propriété d’une façon que la plupart des chaînes ne font pas, et cette distinction détermine comment une transaction est traitée.
Les objets possédés appartiennent à une seule adresse. Seule cette adresse peut les utiliser, donc les transactions ne touchant que des objets possédés sautent le consensus complet et se finalisent presque immédiatement.
Les objets partagés peuvent être utilisés par n’importe qui — un pool de liquidité, un carnet d’ordres, un registre partagé. Comme plusieurs parties peuvent tenter de les modifier simultanément, ces transactions nécessitent un ordonnancement par consensus et sont en conséquence plus lentes.
Les objets immuables ne peuvent pas être modifiés du tout. Les packages publiés sont immuables, ce qui explique pourquoi les mises à niveau de contrat Sui fonctionnent différemment des patterns de proxy EVM.
Suiscan étiquette le type de propriété sur chaque objet. Ce champ explique pourquoi une transaction a été instantanée et une autre a pris plus de temps, ce qui est autrement mystérieux.
Les packages Move, et pourquoi les mises à niveau diffèrent
Sui utilise Move, un langage conçu autour de ressources qui ne peuvent être copiées ni accidentellement écartées. Cette propriété est imposée par le système de types plutôt que par la discipline du développeur, ce qui élimine une catégorie de bug qui a été coûteuse sur d’autres chaînes.
Suiscan vous permet de parcourir les packages publiés : modules, fonctions publiques, définitions de structures et signatures de type. Pour quiconque évalue ce qu’un package peut faire, c’est l’équivalent de lire une source vérifiée sur Etherscan, et c’est disponible par défaut car les packages sont publiés sous forme de bytecode lisible avec des informations de type.
Le modèle de mise à niveau vaut la peine d’être compris. Comme les packages sont des objets immuables, mettre à niveau signifie publier une nouvelle version avec un lien vers la précédente, plutôt que de remplacer une implémentation derrière un proxy. Le chemin de mise à niveau est explicite et sur la chaîne, ce qui est plus transparent que l’approche EVM — bien que cela signifie que vous devez vérifier quelle version une application appelle réellement.
L’utiliser en pratique
Deux choses valent la peine d’être connues quand vous ouvrez une page d’adresse.
Votre solde SUI est la somme de vos objets pièce, et il peut y en avoir plusieurs. Les portefeuilles les fusionnent automatiquement, mais une page montrant plusieurs objets pièce plutôt qu’un solde est normal plutôt qu’un signe que quelque chose ne va pas.
Et les remises de stockage sont réelles. Sui facture le stockage et en rembourse une partie quand un objet est supprimé, ce qui signifie qu’une transaction qui fait le ménage derrière elle peut coûter moins que ce à quoi vous vous attendez, occasionnellement presque rien. Suiscan montre le coût de stockage et la remise séparément, ce qui est la seule façon de comprendre des frais inattendument faibles.
Pour la contre-vérification, 3xpl indexe Sui et s’affiche plus vite si vous devez seulement confirmer qu’une transaction existe. Pour tout ce qui implique des objets, packages ou propriété, Suiscan est l’outil qui modélise correctement la chaîne.
Ce que nos tests de référence ont montré
Nos éléments de référence Sui ont été choisis pour exercer le modèle d’objets : un simple transfert d’objet possédé, une transaction touchant un objet partagé, un transfert de NFT, une publication de package, et une transaction qui a supprimé un objet pour déclencher une remise de stockage.
Le transfert d’objet possédé s’est finalisé presque instantanément et Suiscan l’a montré comme tel, avec le type de propriété étiqueté. La transaction sur objet partagé a pris visiblement plus de temps et la présentation de l’explorateur a rendu la raison apparente — un ordonnancement par consensus était nécessaire car l’objet pouvait être contesté.
Ce contraste est la chose la plus utile que nous ayons apprise des tests. Deux transactions paraissant identiques pour un utilisateur ont pris des temps nettement différents, et l’explication était un seul champ sur la page. Sans un explorateur qui met en avant le type de propriété, la différence est simplement une latence imprévisible.
Le transfert de NFT s’est affiché avec une provenance complète, car sur Sui un NFT est un objet avec un historique de versions plutôt qu’une entrée dans le mapping d’un contrat. Suivre les propriétaires précédents n’a nécessité aucune requête supplémentaire.
La vue de publication de package montrait les modules, fonctions publiques et leurs signatures de type sans que nous ayons eu à soumettre de source pour vérification — l’information de type est publiée avec le bytecode, ce qui est un avantage structurel par rapport au modèle EVM de vérification après coup.
Le test de remise de stockage a produit une transaction avec un coût net inférieur à son gas brut, et Suiscan a montré le coût de stockage et la remise comme des lignes séparées. Sans cette décomposition, le chiffre final ressemble à une erreur.