Glossary
Reentrancy
Ein Smart-Contract-Bug, bei dem ein bösartiger externer Call den aufrufenden Contract mitten in der Ausführung erneut betritt, bevor State-Updates committet sind.
Der DAO-Hack von 2016 — der 60 Mio. USD an ETH abzog und letztlich den Ethereum-/Ethereum-Classic-Split auslöste — war ein Reentrancy-Exploit. Ein Opfer-Contract sendete ETH per Low-Level-Call an einen Angreifer, der Angreifer rief sofort zurück in den Opfer- Contract, und da dieser seinen internen Saldo noch nicht reduziert hatte, konnte der Angreifer denselben Saldo wiederholt abheben.
Die Lösung ist das Pattern „Checks-Effects-Interactions": Inputs validieren, State aktualisieren, externe Calls zuletzt. Reentrancy Guards (ein Mutex) sind das Sicherheitsnetz für Fälle, in denen sich das Pattern schwer durchsetzen lässt.