Publication
Partagez vos connaissances.
Preventing Reentrancy in Move
How does Move’s object model help avoid reentrancy vulnerabilities?
- Move
Réponses
4Objects have single ownership and versioning, so functions cannot unintentionally re-enter or duplicate resources.
Move’s strict resource ownership and linear types prevent reentrancy by ensuring objects can’t be accessed or modified concurrently during a transaction, eliminating reentrant calls and state inconsistencies.
You avoid reentrancy problems in Move because the object model forces strict ownership and linear usage of resources, meaning an object can only be borrowed or moved once in a transaction and its version must update before it can be touched again. This prevents a contract from being re-entered while still holding mutable access to the same state, which is the classic attack surface in Solidity. Since objects in Move can’t be duplicated or partially reused, and function calls complete before ownership is released, an attacker has no way to recursively drain funds or trigger inconsistent state changes. In practice, this design makes reentrancy exploits that plague account-based systems like Ethereum far less likely on Sui.
How Move Prevents Reentrancy Vulnerabilities
-
Linear resource model – Resources can't be copied or accessed from multiple places, preventing unsafe reentry.
-
Strict ownership and borrowing rules – Enforces exclusive access to data during execution.
-
No external or dynamic calls – Contracts can't call back into each other during execution.
-
Isolated, deterministic execution – All object access is static and scoped to a single transaction.
Result: Move's object model prevents reentrancy by design—eliminating the key risks that make reentrancy possible in other smart contract languages like Solidity.
Connaissez-vous la réponse ?
Veuillez vous connecter et la partager.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Gagne ta part de 1000 Sui
Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.

- Pourquoi BCS exige-t-il un ordre de champs exact pour la désérialisation alors que les structures Move ont des champs nommés ?65
- « Erreurs de vérification de sources multiples » dans les publications du module Sui Move - Résolution automatique des erreurs55
- Échec de la transaction Sui : objets réservés pour une autre transaction49
- Erreur Sui Move - Impossible de traiter la transaction Aucune pièce de gaz valide n'a été trouvée pour la transaction315
- Comment maximiser la détention de profits SUI : Sui Staking contre Liquid Staking213