Wat is een flash loan-exploit en hoe werkt deze aanval op DeFi-protocollen?

Wat is een flash loan-exploit?
Een flash loan-exploit is een aanval waarbij iemand tijdelijk een grote hoeveelheid crypto leent om een fout in een DeFi-protocol uit te buiten. Een flash loan is een lening die binnen één blockchaintransactie moet worden terugbetaald.
Zo'n flash loan is ongedekt. Je hoeft dus niet eerst zelf onderpand te storten, maar er zit een belangrijke voorwaarde aan: de lening, inclusief fee, moet vóór het einde van dezelfde transactie terug zijn. Lukt dat niet? Dan draait de blockchain de hele transactie terug alsof die nooit heeft plaatsgevonden.
Dat heet atomair uitvoeren. Je kunt het zien als één pakket: alle onderdelen slagen samen, of niets gebeurt. Flash loans worden ook normaal gebruikt, bijvoorbeeld voor arbitrage, liquidaties en het wisselen van onderpand.
Bij een exploit gebruikt een aanvaller die tijdelijke liquiditeit om een zwakke plek ergens anders te raken. Vaak gaat het om een protocol dat voor een belangrijke beslissing vertrouwt op de spotprijs van één DEX. Die prijs kan door een heel grote swap tijdelijk flink verschuiven.
Stel dat een lendingprotocol die tijdelijk opgeblazen prijs ziet als de echte marktprijs. Dan kan een aanvaller onderpand veel te hoog laten waarderen en er meer crypto tegen lenen dan eigenlijk veilig is. Andere aanvallen draaien niet om prijzen, maar bijvoorbeeld om tijdelijk stemgewicht in on-chain governance of een fout in de businesslogica van smart contracts.
Korte samenvatting
- Een flash loan is een ongedekte lening die binnen dezelfde transactie moet worden terugbetaald.
- Een flash loan-exploit misbruikt meestal een fout in een ander DeFi-protocol, niet de flash loan zelf.
- Een veelvoorkomende aanval manipuleert tijdelijk de spotprijs in een DEX-pool.
- Door atomaire uitvoering slaagt de hele aanval of wordt alles teruggedraaid.
- Flash liquidity kan ook worden gebruikt om governance of fouten in protocolregels te misbruiken.
Hoe werkt een flash loan-exploit?
Een flash loan-exploit werkt meestal doordat een aanvaller tijdelijk veel kapitaal gebruikt om een prijs of protocolstatus te veranderen, waarna het doelprotocol een verkeerde beslissing neemt. Alles gebeurt binnen één atomaire transactie.
Hoe werkt dat dan? Eerst laat de aanvaller een eigen smart contract een flash loan opnemen. Dat contract kan daarna direct meerdere acties uitvoeren, zoals tokens swappen, onderpand storten en crypto lenen
Bij een oraclemanipulatie koopt of verkoopt de aanvaller met een grote swap veel van een token in een DEX-pool. Daardoor veranderen de reserves in die pool en schiet de lokale spotprijs tijdelijk omhoog of omlaag. Een prijsoracle is simpel gezegd het onderdeel dat een protocol vertelt wat iets waard is.
Het gevaar ontstaat als een ander protocol die ene verstoorde prijs leest alsof het de normale prijs op de bredere markt is. De aanvaller kan dan bijvoorbeeld te veel activa lenen met opgeblazen onderpand of een verkeerde afrekening uitlokken.
Aan het einde zet het aanvallende contract genoeg opbrengst om om de flash loan en fee terug te betalen. Wat daarna overblijft, is de winst. Is er niet genoeg voor de terugbetaling? Dan revert de volledige transactie.
Dat maakt het risico voor de aanvaller beperkt: alle stappen moeten in één keer werken. Voor het slachtofferprotocol kan de schade wel blijvend zijn. Het protocol heeft dan bijvoorbeeld al te veel crypto uitgeleend op basis van een prijs die maar heel kort verkeerd was.
Niet elke aanval volgt precies dit patroon. Bij governance-aanvallen kan tijdelijke liquiditeit vooral worden gebruikt om veel stemgewicht te krijgen. Bij andere exploits zit de fout juist in een berekening of toegangsregel van het protocol.
Welke stappen bevat een flash loan-aanval?
Een flash loan-aanval volgt vaak vijf logische stappen, al kunnen aanvallers in de praktijk meerdere leningen, protocollen en swaps combineren.
-
Een zwak punt vinden De aanvaller zoekt eerst naar een fout die financieel interessant is. Denk aan een DEX-spotprijs die makkelijk te beïnvloeden is, een verkeerde waardering van LP-tokens of vault-aandelen, of governance waarbij geleende tokens meteen stemrecht geven.
-
Tijdelijk kapitaal lenen Daarna neemt een aanvallend smart contract een flash loan op. Er is vooraf geen onderpand nodig, maar de lening moet wel binnen dezelfde transactie terugbetaald worden.
-
De prijs of status beïnvloeden Met het geleende kapitaal voert het contract grote swaps, deposits, borrows, mints, stemmen of andere contractcalls uit. Het doel is een prijs, reservewaarde of andere belangrijke invoer tijdelijk te veranderen.
-
Waarde uit het protocol halen Zolang de verkeerde prijs of status geldt, kan het contract bijvoorbeeld te veel activa lenen, te veel tokens minten of een schadelijke governance-actie uitvoeren.
-
De lening afwikkelen Tot slot betaalt het contract de hoofdsom en fee terug. De resterende activa zijn de opbrengst. Lukt die terugbetaling niet volledig, dan wordt alles teruggedraaid.
Voorbeeld: Bij de bZx-aanval van 18 februari 2020 leende de aanvaller 7.500 ETH via een flash loan. Daarna werd de sUSD-prijs via swaps opgedreven. De aanvaller gebruikte ongeveer 1,1 miljoen sUSD als te hoog gewaardeerd onderpand om 6.796 ETH te lenen en betaalde vervolgens de flash loan terug. Uiteindelijk hield de aanvaller ongeveer 2.378 ETH winst over.
Welke DeFi-protocollen zijn kwetsbaar voor flash loan-exploits?
Niet één specifiek soort DeFi-protocol is automatisch kwetsbaar. Het risico ontstaat wanneer een protocol iets waardevols doet op basis van informatie die binnen één transactie goedkoop te manipuleren is.
Lending- en borrowingprotocollen kunnen risico lopen als ze de spotprijs van één DEX als enige prijsbron gebruiken voor onderpand, borrowlimieten of liquidaties. Een grote swap kan die lokale prijs tijdelijk veranderen, terwijl de prijs op de rest van de cryptomarkt heel anders is.
Ook yield aggregators en vaults kunnen kwetsbaar zijn. Vooral wanneer de prijs voor het minten of redeeming van vault-aandelen afhangt van poolreserves die een aanvaller tijdelijk kan veranderen. Bestaande deposanten kunnen daardoor worden benadeeld.
Stablecoin-, derivaten- en synthetische-assetprotocollen lopen vergelijkbare risico’s wanneer belangrijke processen, zoals het bepalen van onderpand, winst en verlies (PnL), funding of liquidaties, afhankelijk zijn van een onbetrouwbare prijs. PnL staat voor de winst of het verlies op een positie.
On-chain governance is een ander aandachtspunt. Als stemkracht direct volgt uit tokens die iemand maar heel kort bezit of leent, kan een aanvaller tijdelijk genoeg invloed verzamelen om een voorstel door te drukken. Dat wordt extra gevaarlijk als een aangenomen voorstel meteen uitvoerbare code of acties met een DAO-treasury kan starten.
Belangrijk om te weten: een flash loan is niet altijd nodig. Iemand met genoeg eigen kapitaal, of een andere bron van tijdelijke liquiditeit, kan hetzelfde ontwerpgebrek soms ook misbruiken.
Voorbeelden van flash loan-exploits
Flash loan-exploits kunnen er heel verschillend uitzien. De bekende voorbeelden laten goed zien dat niet alleen prijsoracles, maar ook waarderingsregels en governance aangevallen kunnen worden.
-
bZx, 15 februari 2020: de aanvaller gebruikte een flash loan van 10.000 ETH in een gecombineerde aanval op meerdere DeFi-protocollen. Door de WBTC-prijs met grote swaps op te drijven en een fout in de bZx-marginlogica te benutten, bedroeg de gerapporteerde schade ongeveer 1.271 ETH, destijds circa 350.000 dollar.
-
bZx, 18 februari 2020: enkele dagen later volgde een tweede aanval met een flash loan van 7.500 ETH. De sUSD-prijs werd gemanipuleerd, waardoor sUSD als te hoog gewaardeerd onderpand kon worden gebruikt om 6.796 ETH te lenen. De gerapporteerde opbrengst was 2.378 ETH, destijds circa 633.000 dollar.
-
Harvest Finance, 26 oktober 2020: bij deze economische aanval werden de waarden van USDC en USDT in Curve's Y-pool herhaaldelijk beïnvloed. Daardoor kon de aanvaller vault-aandelen tegen een gunstige prijs minten en die later weer inwisselen tegen de normale aandeelprijs. Er werd ongeveer 24 miljoen dollar uit de betrokken vaults onttrokken.
-
PancakeBunny, 19 mei 2021: hier manipuleerde een aanvaller via een flash loan de BUNNY-prijs. Een fout in de waardering van PancakeSwap-LP-tokens leidde vervolgens tot het minten van een excessieve hoeveelheid BUNNY-tokens.
-
Beanstalk, 17 april 2022: de aanvaller gebruikte een flash loan om de on-chain governance te manipuleren en nam ongeveer 77 miljoen dollar aan niet-Bean-gebruikersactiva weg. Daarna werd het protocol gepauzeerd en werd de on-chain governance tijdelijk uitgeschakeld.
De bedragen bij dit soort incidenten kunnen verschillen, afhankelijk van hoe men de schade meet. Denk aan bruto onttrokken activa, netto-opbrengst, teruggestuurde fondsen en de prijs op dat moment.
Wat zijn de gevolgen van een flash loan-exploit?
Een flash loan-exploit kan ervoor zorgen dat gebruikers, liquiditeitsverschaffers en een DAO direct crypto verliezen. De schade komt meestal niet terecht bij de verstrekker van de flash loan, maar bij het protocol waarvan de prijslogica, waardering, governance of smart contracts zijn misbruikt.
Bij een lendingprotocol kan een gemanipuleerde onderpandprijs leiden tot een schuld die niet goed gedekt is. Zodra de prijs weer normaal is, blijkt het onderpand minder waard dan de crypto die is uitgeleend. Het protocol blijft dan met een tekort achter.
Bij een aanval op vault-aandelen worden bestaande deposanten vaak verwaterd. Simpel gezegd krijgt de aanvaller tijdelijk meer aandelen dan eerlijk is. Wanneer die aandelen later worden ingewisseld, haalt de aanvaller meer uit de vault dan er eigenlijk is ingelegd.
Er zijn vaak ook praktische gevolgen. Een protocol kan contracts pauzeren, governance uitschakelen of aanpassen, gebruikers naar een nieuw contract laten migreren en een lang herstel- of compensatietraject starten.
Dat gebeurde ook na de Beanstalk-aanval. Naast het directe verlies werd het protocol gepauzeerd en ging de on-chain governance uit. Harvest haalde na zijn incident de resterende fondsen uit de betrokken pools terug en beperkte conversies tijdens het onderzoek.
Hoe kunnen DeFi-protocollen flash loan-exploits voorkomen?
DeFi-protocollen kunnen flash loan-exploits niet met één enkele maatregel voorkomen. Goede beveiliging bestaat uit meerdere lagen die samen prijsmanipulatie, rekenfouten en governance-misbruik lastiger maken.
-
Vertrouw niet op één DEX-spotprijs. Gebruik een direct manipuleerbare prijs uit één pool niet als enige oracle voor leningen, liquidaties, minting of share-pricing.
-
Gebruik bredere prijsfeeds. Een oracle met meerdere onafhankelijke databronnen en bredere marktdekking verkleint de kans dat één tijdelijk gemanipuleerde pool de uitkomst bepaalt.
-
Gebruik waar passend een TWAP. Een time-weighted average price, oftewel TWAP, is een gemiddelde prijs over een bepaalde periode. Een langer venster maakt manipulatie duurder, maar zorgt ook dat de prijs minder snel reageert op echte marktveranderingen.
-
Bouw duidelijke controles in. Denk aan maximale prijsafwijkingen, controles of prijsdata nog vers is, minimale liquiditeit, conservatieve loan-to-value-limieten en caps per asset. Bij vreemde oracledata kan een protocol gevoelige acties blokkeren of pauzeren.
-
Test LP-tokens en vault-aandelen apart. De waarde van zulke posities hangt vaak af van reserves en onderliggende posities. Test daarom ook extreme slippage en deposits en withdrawals binnen dezelfde transactie.
-
Beperk tijdelijk stemgewicht. Governance kan vooraf vastgelegde snapshots gebruiken, een vertraging zetten tussen stemmen en uitvoeren, en beperken welke acties een voorstel mag uitvoeren. Na de aanval van april 2022 verwijderde Beanstalk de on-chain governance en stapte het tijdelijk over op Snapshot-stemmen met uitvoering door een 5-van-9 community-multisig.
-
Test aanvallen bewust vooraf. Onafhankelijke audits, economische aanvalssimulaties en fork-tests moeten flash loans, oraclemanipulatie, reentrancy en samengestelde transacties meenemen. Reentrancy betekent dat een extern contract onverwacht opnieuw een functie kan aanroepen voordat de eerste uitvoering veilig is afgerond.
-
Bereid incidentrespons voor. Monitoring van extreme prijs- en reservewijzigingen, een zorgvuldig pause-mechanisme en duidelijke noodprocedures kunnen schade beperken. Zo'n pauze kan een aanval die al atomair is afgerond niet terugdraaien, maar kan wel verdere schade helpen voorkomen.
Conclusie
Een flash loan-exploit draait niet om een onveilige flash loan, maar om een fout in het DeFi-protocol dat daarna wordt aangevallen. De flash loan geeft een aanvaller tijdelijk veel kapitaal, waarmee een prijs, waardering of governance-proces kan worden beïnvloed.
Vooral protocollen die blind vertrouwen op één DEX-prijs, kwetsbare waarderingsregels of direct uitvoerbaar tijdelijk stemgewicht lopen risico. Goede oracles, slimme limieten, degelijk geteste smart contracts en een goed noodplan maken zulke aanvallen een stuk moeilijker. Voor gebruikers blijft de belangrijkste les simpel: DeFi kan veel mogelijkheden bieden, maar de technische risico's van een protocol zijn minstens zo belangrijk als het mogelijke rendement.