Qu’est-ce que Sui (SUI) et comment cela fonctionne-t-il ?

Qu’est-ce que Sui (SUI) ?
Sui est une blockchain Layer 1 sans permission. Cela signifie qu’il s’agit d’un réseau autonome sur lequel les développeurs peuvent construire des smart contracts et des applications on-chain. On peut donc la considérer comme une blockchain distincte, à l’image d’Ethereum par exemple. Il n’est donc pas nécessaire d’obtenir l’autorisation d’une partie centrale pour utiliser le réseau, et la plateforme est conçue pour exécuter les transactions rapidement et en toute sécurité.
Sui stocke les actifs, les ressources et d’autres données sous forme d’objets. On peut voir un tel objet comme un élément numérique doté de ses propres données, d’un propriétaire et d’un historique de modifications. Ce modèle d’objet est un élément important du fonctionnement de Sui pour le traitement des transactions.
SUI est le token natif du réseau. Vous utilisez notamment SUI pour payer les frais de transaction. En outre, SUI peut être délégué à des validateurs pour le staking, et le token confère un droit de vote dans la gouvernance on-chain, par exemple pour des propositions de mise à niveau du protocole.
Sui Mainnet a été lancé publiquement le 3 mai 2023.
À retenir
- Sui est une blockchain Layer 1 pour les smart contracts et les applications on-chain.
- SUI est le token utilisé pour les frais, le staking et la gouvernance on-chain.
- Le réseau traite les actifs et les données comme des objets dotés d’un propriétaire clair et d’une version.
- Les transactions indépendantes peuvent être traitées en parallèle.
- Les transactions portant sur le même objet partagé doivent être ordonnées par consensus.
Comment fonctionne Sui ?
Sui utilise le delegated proof of stake. Dans ce cadre, les validateurs aident le réseau à vérifier et à traiter les transactions. Les validateurs immobilisent des SUI en tant que garantie. Les détenteurs de SUI peuvent également déléguer leurs tokens à un validateur. Le poids de vote d’un validateur dépend du total de stake qui lui est attribué.
Les validateurs forment ensemble une commission. Une telle commission ne change pas au cours d’une epoch, une période fixe qui dure environ 24 heures sur Sui Mainnet. Pour les décisions importantes, plus des deux tiers du poids de vote total sont nécessaires. C’est ce qu’on appelle un quorum.
Lorsque vous envoyez une transaction, vous la signez d’abord avec votre wallet. Via un full node, la transaction parvient aux validateurs. Ceux-ci vérifient notamment la signature, les objets utilisés, si vous avez l’autorisation d’utiliser ces objets et si vous disposez d’un budget de gas suffisant. Le gas est la rémunération de l’exécution d’une transaction.
Pour le consensus, Sui utilise Mysticeti. Il s’agit d’un protocole de consensus basé sur un DAG. Ici, un DAG est une structure dans laquelle les validateurs peuvent proposer plusieurs éléments en parallèle, au lieu de tout traiter strictement un par un.
Les transactions acceptées sont exécutées par les validateurs de la même manière prédéfinie. Une transaction réussit donc entièrement ou échoue. Si elle échoue, les frais de gas utilisés peuvent néanmoins être débités.
Une transaction devient définitive lorsque ses effets sont certifiés par un quorum de validateurs, ou lorsque la transaction figure dans un checkpoint certifié. En termes simples, le réseau a alors suffisamment confirmé que le résultat est fixé.
Aperçu de Sui (SUI)
Quel est le modèle d’objet de Sui ?
Un objet est l’unité de stockage de base de Sui. Pensez à un token, à un actif numérique ou à d’autres données sur la blockchain. Chaque objet possède un identifiant unique au niveau mondial, un propriétaire, un numéro de version et des informations sur la dernière transaction qui a utilisé l’objet.
Ce numéro de version change à chaque modification. Ainsi, un émetteur et les validateurs peuvent faire référence exactement à la même version d’un objet. Une transaction contient pour cela une référence d’objet avec un identifiant, une version et un hash. Un hash est une valeur de contrôle numérique unique des données.
Sui distingue plusieurs types d’objets :
- Objets détenus par une adresse : ils appartiennent à une adresse spécifique. Seule cette adresse peut les utiliser dans des transactions.
- Objets partagés : ils sont accessibles à tous. Si quelqu’un souhaite les modifier, le consensus doit déterminer l’ordre des modifications.
- Objets immuables : ils n’ont pas de propriétaire et ne peuvent pas être modifiés, transférés ou supprimés.
Les smart contracts sur Sui sont écrits sous forme de packages Move. Un tel package peut créer et manipuler des objets selon les règles qu’il contient. Un objet de package publié est immuable et ne peut pas être supprimé.
Une différence pratique est importante : avec un objet immutable, vous ne pouvez pas supprimer ou réduire des données par la suite. Cela signifie aussi que vous ne pouvez pas recevoir de storage rebate pour ce type d’objet. Un storage rebate est un remboursement partiel des frais de stockage déjà payés.
Comment Sui traite-t-il les transactions en parallèle ?
Dans une transaction Sui, il doit être clair à l’avance quels objets d’entrée sont utilisés. Le réseau peut ainsi voir quelles transactions sont indépendantes les unes des autres et quelles transactions sont en concurrence pour le même objet.
Deux transactions utilisent-elles des objets différents ? Elles peuvent alors être planifiées et exécutées en parallèle. On peut comparer cela à deux personnes qui font quelque chose en même temps avec leurs propres affaires : elles n’ont pas besoin d’attendre l’autre.
Pour les objets détenus par une adresse, aucun ordre global de consensus n’est nécessaire si les transactions sont indépendantes. Cela permet de traiter ces transactions en parallèle.
La situation est différente lorsque plusieurs transactions veulent modifier le même objet partagé. Le consensus doit alors d’abord déterminer quelle transaction est prioritaire et quelle sera la version suivante de cet objet. Une fois les versions nécessaires fixées, les transactions Move peuvent à nouveau être exécutées en parallèle, y compris sur plusieurs cœurs.
Le traitement parallèle ne signifie donc pas que chaque transaction se termine toujours aussi vite. De nombreuses transactions portant sur le même objet partagé ont une dépendance commune et doivent donc d’abord être ordonnées.
Les transactions en conflit avec le même objet détenu par une adresse peuvent également poser problème. Une transaction peut alors être rejetée, ou l’objet peut devenir temporairement inutilisable jusqu’à la prochaine epoch.
Qui sont les fondateurs de Sui ?
Les premiers éléments de Sui ont été imaginés en 2021 par Evan Cheng, Adeniyi Abiodun, Sam Blackshear, George Danezis et Kostas Chalkias. L’idée s’appuyait sur des recherches auxquelles ils avaient auparavant participé chez Meta pour Diem, un projet qui s’appelait auparavant Libra.
Les cinq sont également cofondateurs de Mysten Labs. Mysten Labs a développé le code initial de Sui et a été le premier contributeur au réseau.
Evan Cheng est cofondateur et CEO de Mysten Labs. Sam Blackshear est cofondateur et CTO. Adeniyi Abiodun est cofondateur et CPO, Kostas Chalkias est cofondateur et Chief Cryptographer, et George Danezis est cofondateur et Chief Scientist.
Sui lui-même est un réseau sans permission, pas une entreprise. Les rôles chez Mysten Labs ne signifient donc pas que ces personnes sont propriétaires du réseau actuel ou qu’elles le dirigent.
Quels sont les avantages de Sui ?
Sui présente plusieurs caractéristiques utiles à comprendre :
- Traitement parallèle des transactions indépendantes. Comme les transactions indiquent explicitement leurs objets d’entrée, le réseau peut voir quelles transactions peuvent fonctionner séparément.
- État des objets clair. Les objets ont un identifiant unique et un numéro de version. Les transactions font donc référence à un état précis d’un objet.
- Modèle de propriété explicite. Un objet peut être une propriété personnelle, être utilisé de manière partagée ou être immuable. Cela clarifie la manière dont un objet peut être utilisé.
- Move pour les objets on-chain. Move est conçu pour des packages qui manipulent des objets sur la blockchain.
- Offre maximale fixe. Il peut exister au maximum 10 milliards de SUI.
- Staking délégué. Vous pouvez déléguer des SUI à un validateur sans lui transférer vos clés privées ni la propriété directe de vos tokens.
- Storage rebate partiel. Lors de la suppression ou de la réduction de données supprimables, une partie des frais de stockage déjà payés peut être récupérée.
Quels sont les inconvénients de Sui ?
La conception de Sui comporte aussi des compromis clairs :
- Les objets partagés nécessitent un consensus. Si de nombreuses transactions veulent modifier le même objet partagé, elles ne peuvent pas toutes être traitées de manière totalement indépendante.
- Conflits autour des objets détenus par une adresse. De nombreuses transactions en conflit avec le même objet peuvent être rejetées ou rendre l’objet inutilisable jusqu’à la prochaine epoch.
- Le stockage coûte de l’argent. En plus du gas d’exécution, vous payez aussi des frais de stockage lorsque vous créez ou modifiez des objets contenant des données sur la blockchain.
- Tous les frais de stockage ne sont pas récupérés. Lors de la suppression ultérieure de données, seule une partie des frais de stockage peut être récupérée.
- Les objets immuables sont permanents. Ils ne peuvent pas être modifiés ni supprimés et ne donnent pas droit à un storage rebate.
- Le poids de vote suit le stake. Dans le delegated proof of stake, l’influence des validateurs dépend du stake qui leur est délégué.
- Conserver l’historique demande de l’espace de stockage. Les full nodes qui conservent l’historique complet des objets et des transactions ont besoin d’une capacité de stockage nettement plus importante que les validateurs ou les pruning nodes.
En résumé
Sui est une blockchain Layer 1 pour les smart contracts et les applications on-chain. Le token SUI est utilisé pour les frais de transaction, le staking et la gouvernance.
Le cœur de Sui est le modèle d’objet. Les actifs et les données sont traités comme des objets avec un propriétaire, une version et un identifiant unique. Le réseau peut ainsi voir à l’avance quelles transactions sont indépendantes et les traiter en parallèle.
Cela ne fonctionne pas pour tout en même temps. Les transactions qui veulent modifier le même objet partagé doivent être ordonnées par consensus. Le travail avec des objets on-chain entraîne aussi des frais de stockage et d’éventuels conflits autour du même objet. Sui combine donc le traitement parallèle lorsque cela est possible avec le consensus lorsque plusieurs utilisateurs veulent modifier les mêmes données.