Skip to content

Glossary

Desbordamiento de entero

Un bug en el que una operación aritmética produce un valor demasiado grande (o pequeño) para su tipo de tamaño fijo y se envuelve. Históricamente un exploit común en Solidity.

Solidity ≤ 0.7 usaba aritmética con wrapping por defecto: uint256 más 1 desde su valor máximo se envolvía silenciosamente a cero. Un saldo de 0 menos 1 se envolvía a 2^256 - 1. Varios exploits tempranos de DEX y tokens —el hack de BeautyChain / BEC de 2018 es el más famoso— dependían de este comportamiento.

Solidity 0.8 hizo que la aritmética se compruebe por defecto: cualquier overflow o underflow revierte. El riesgo no ha desaparecido —assembly, librerías de bajo nivel y los bloques unchecked explícitos aún pueden desbordar—, pero los exploits clásicos de overflow son hoy raros en código moderno.