Skip to content

Glossary

Débordement d'entier

Un bug où une opération arithmétique produit une valeur trop grande (ou trop petite) pour son type de taille fixe, repartant à zéro — historiquement un exploit Solidity courant.

Solidity ≤ 0.7 utilisait par défaut une arithmétique avec wrapping : un uint256 plus 1 depuis sa valeur max repartait silencieusement à zéro. Un solde de 0 moins 1 repartait à 2^256 - 1. Plusieurs premiers exploits DEX et token — le hack BeautyChain / BEC de 2018 étant le plus célèbre — s'appuyaient sur ce comportement.

Solidity 0.8 a rendu l'arithmétique vérifiée par défaut : tout overflow ou underflow déclenche un revert. Le risque n'a pas disparu — l'assembly, les bibliothèques bas niveau et le bloc explicite unchecked peuvent encore déborder — mais les exploits classiques de débordement sont désormais rares dans le code moderne.