Flash Loans - ein neuer Finanz-Mechanismus

Im Februar hat ein neuer Finanz-Mechanismus im Bereich Decentralized Finance (DeFi) für Aufmerksamkeit gesorgt. Dabei wurde ein Smart Contract basiertes Kreditvergabe-Protokoll namens Fulcrum, das auf der Ethereum Blockchain von dem Startup bZx entwickelt wurde, gleich zweimal durch einen Hacker ausgenutzt. Insgesamt konnte der Angreifer rund 1 Millionen Euro in der Kryptowährung Ether aus dem Kredit-System extrahieren. In beiden Fällen nutzte der Angreifer sogenannte „Flash Loans“, um Märkte zu manipulieren und Schwachstellen des Fulcrum Systems auszunutzen.



Flash Loans sind beeindruckend, weil sie einen neuen Finanz-Mechanismus darstellen, der nicht in traditionellen Finanzsystemen und nur innerhalb von Blockchains existieren kann. Flash Loans verkörpern einen sofortigen Kredit, der buchstäblich nicht existiert, bevor er zurückgezahlt wurde. Man könnte sie auch als unfassbar bezeichnen.

Wie funktionieren Flash Loans?


Um Flash Loans zu verstehen müssen wir sie im Kontext von Blockchain Systemen, Smart Contracts auf Ethereum und dem Prozess der Kreditvergabe betrachten.


Auf einer Blockchain, wie Bitcoin, repräsentiert eine Transaktion einen einfachen Wertübertrag. Während eine Bitcoin Transaktion simple Regeln beinhalten kann, wer dazu berechtigt ist Bitcoin auszugeben (Multi-Sig), gibt es keine dazwischenliegenden Schritte in dem Prozess. Entweder sind die Regeln erfüllt, die Bitcoin Transaktion wird ausgelöst und der Zustand („state“) des Systems ändert sich, oder nicht.


Als Smart Contract Plattform funktioniert die Ethereum Blockchain anders. Transaktionen im Ethereum Netzwerk können Smart Contract Funktionen abrufen und diese wiederum können weitere Smart Contract Funktionen abrufen. Diese verschachtelten Abrufe werden als „internal Transactions“ bezeichnet. Bei jedem Schritt in dem Prozess produziert der Computercode einen intermediären Zustand. Dieser Zustand existiert nur in dem Moment, während die Transaktion im System verarbeitet wird. Der End-Zustand, d.h. wenn der Code komplett ausgeführt wurde, ist der „wahre“ Zustand, der schlussendlich durch das Mining mit dem nächsten Block finalisiert in die Blockchain aufgenommen wird. Wenn aber eine „internal Transaction“ fehlschlägt wird der ganze Transaktionsprozess reversiert und keiner der intermediären Zustände wird in den nächsten Block aufgenommen.


Ein Flash Loan ist ein Finanz-Mechanismus, der über Smart Contract basierte Kreditvergabe-Protokolle angeboten wird. Ein Beispiel hierfür ist das Blockchain Startup AAVE, das Flash Loans als Kredite in Form von Kryptowährungen seinen Nutzern gegen eine Gebühr anbietet, ohne, dass diese Kollateral für den Kredit aufbringen müssen. Ein Flash Loan erlaubt es einem Smart Contract die Kontrolle über eine bestimmte Anzahl an Tokens für eine Transaktion zu übernehmen. Der Kreditnehmer (Contract caller) erhält die Token und ist frei diese für jegliche folgende „internal Transaction“ zu nutzen. Die einzige Anforderung, die in den Flash Loan Smart Contract codiert ist, verlangt, dass der geliehene Betrag am Ende der Transaktion zurückbezahlt ist. Wenn nicht, wird die Transaktion fehlschlagen.

Flash Loan Attacken


Flash Loans haben einige legitime Anwendungsfälle. Der naheliegendste ist der Arbitragehandel auf dezentralen, Smart Contract basierten Handelsbörsen. Diese haben im Handelsvolumen über das letzte Jahr deutlich zugenommen. In 2019 wurden insgesamt über 2,3 Milliarden USD an Handelsvolumen über Ethereum basierte dezentrale Börsen abgewickelt. Im Februar 2020 stieg das monatliche Handelsvolumen auf ein Hoch von 327 Millionen USD.


Arbitragehandel erfolgt mit der Nutzung eines Flash Loans wie folgt:

  • Flash Loan aktivieren und Tokens erhalten

  • Kauf von Krypto Assets (Tokens) auf einer Börse mit niedrigerem Preis

  • Verkauf auf einer anderen Börse mit höherem Preis

  • Flash Loan zurückzahlen

  • Profit aus Arbitrage behalten

All dies geschieht innerhalb einer einzigen Ethereum Transaktion. Die Gebühr für den Flash Loan ist minimal und weil die Transaktion scheitert, wenn der Kredit nicht sofort zurückgezahlt wird, ist das damit verbundene Risiko gering. Wenn der Preis zwischen den Handelsbörsen bevor die Transaktion durchgeführt wurde angeglichen ist, muss der Kreditnehmer selbst die Gebühr nicht zurückerstatten, da der Kredit niemals stattgefunden hat.


Dieselben Eigenschaften machen Flash Loans zu einem idealen Mittel für ökonomische Angriffe auf Smart Contract basierte DeFi Protokolle. Wenn ein bösartiger Akteur einen Weg findet, um mit dem Hebel einer großen Summe an Tokens einen Smart Contract zu manipulieren, kann dieser ohne großes Risiko profitieren. Im Fall des Angriffs auf Fulcrum verwendeten die Hacker Flash Loans, um die Preise bestimmter Assets auf dezentralen Handelsbörsen zu manipulieren. Weil Fulcrum die Daten dieser Börsen als API für die Logik bzw. Funktion seiner Applikation nutzt, konnte diese durch die Angreifer zu falschen bzw. schlechten Preisen manipuliert werden. Mit den gewonnenen Mitteln aus der Manipulation von Fulcrum konnten die Hacker den Flash Loan zurückbezahlen und den Rest als Profit verbuchen.


Weitere Details über die Attacke sind bereits gut dokumentiert. Als neuer Baustein im DeFi Stack der Money Legos wird es spannend, wie Flash Loans zu neuen Geschäftsmodellen eingesetzt werden.

Kontakt

© 2020 Schlegel Ventures GmbH I Impressum I Datenschutz