Reentrancy
A class of smart-contract bug in which an external call from a contract to another address allows the called address to re-enter the original contract before the first call's state changes have completed. The canonical exploit is the 2016 DAO hack ($60 million at the time), where the attacker's contract repeatedly withdrew from the DAO before its balance was decremented. The defensive pattern is checks-effects-interactions (validate inputs, update state, then call external addresses) and OpenZeppelin's ReentrancyGuard modifier. Despite being well-understood since 2016, reentrancy variants — including read-only reentrancy and cross-function reentrancy — continue to cause major exploits (Cream Finance, Fei, Curve).
Related terms
Every glossary term is educational only. Nothing on this page constitutes financial, investment, tax, or legal advice. Browse all 356 terms →