Das Erschreckendste an einem Sandwich-Angriff ist, dass der Angreifer im ersten Schritt des Angriffs die Höhe des Gewinns klar berechnet.
Sandwich-Arbitrage ist eine umstrittene Arbitrage-Methode, die auch als Sandwich-Angriff bezeichnet wird. Dabei handelt es sich um eine Angriffsmethode, bei der die Transaktionen des Opfers mittels Front-Running angegriffen werden. Bei der Technologie-Sharing-Sitzung jeden Mittwoch am 9. November 2022 brachte @daimajia, ein Programmierer vom Zhen Fund, die wissenschaftliche Popularisierung von MEV, Flash-Krediten und Sandwich-Arbitrage voran und analysierte Sandwich-Arbitrage basierend auf dem DODO USDT/DAI-Angriffsvorfall als konkreter Fall, viel Inhalt und viele nützliche Informationen.
1. Populäre Wissenschaft zu MEV, Flash-Krediten und Sandwich-Arbitrage
1. Was ist MEV?
MEV (Miner Extractable Value) bezieht sich auf den maximal extrahierbaren Wert. Früher wurde er auch Miner Extractable Value genannt. Miner können Transaktionen bündeln und Blöcke in Ethereum generieren, und in den von ihnen generierten Blöcken können Miner Transaktionen einschließen, ausschließen, sortieren usw. Zusätzlich zu den Transaktionsgebühren und Blockbelohnungen können Bergleute durch die oben genannten Vorgänge auch einen höheren Wert erzielen, und dieser Wert ist MEV.

Die neueste Definition von MEV in der PoS-Blockchain lautet:
Der Gesamtwert, den ein Validator angesichts des Zustands der Umgebung und aller verfügbaren Aktionen über einen Block (oder eine Reihe von Blöcken) extrahieren kann
Validatoren können Vorgänge wie Neuordnung, Überprüfung und Einfügen von Transaktionen durchführen. Sie können auch weitere Nischenstrategien integrieren, wie z. B. das Ändern von Blockzeitstempeln, die Manipulation der „Zufälligkeit“, die Ausführung zusätzlicher Validatoren und mehr.
Im Allgemeinen kann ein Validator den Zustand seiner Umgebung, einschließlich der Blockchain-Regeln, des Smart-Contract-Codes auf der Blockchain, der Transaktionssätze in seinem Speicherpool usw., nicht ändern.
2. Blitzkredit
Flash Loan ist ein ungesichertes Kreditinstrument, das aufgrund der Atomizität und Rollback-Eigenschaften von Blockchain-Transaktionen entstanden ist. Benutzer müssen die Kreditaufnahme und Rückzahlung innerhalb einer atomaren Transaktion abschließen und benötigen keine Sicherheiten. Geben Sie Benutzern die Möglichkeit, riesige Geldbeträge nahezu zum Nulltarif zu nutzen.
Flash-Darlehen müssen innerhalb derselben Transaktion zurückgezahlt werden. Was Blitzkredite betrifft, kann man sich den „Transaktionsprozess“ als aus drei Teilen bestehend vorstellen: Annahme des Kredits, Abwicklung des Kredits und Rückzahlung des Kredits, aber all dies geschieht in einem Augenblick.
Die Transaktion wird an das Netzwerk übermittelt, wodurch Ihnen diese Gelder vorübergehend geliehen werden, und Sie können mit den Geldern etwas tun (der zweite Teil der Transaktion), und solange die Gelder rechtzeitig an den dritten Teil zurückgegeben werden können, können Sie dies tun was immer du willst. Wenn das Geld nicht rechtzeitig zurückkommt, lehnt das Blockchain-Netzwerk die Transaktion ab, was bedeutet, dass der Kreditgeber das Geld zurückerhält. Tatsächlich verfügen sie im Blockchain-Konzept immer über Mittel.
Dies erklärt, warum Kreditgeber keine Sicherheiten von Ihnen verlangen und die Rückzahlung der Mittel durch den Vertragscode erzwungen wird.
3. Sandwich-Arbitrage
Sandwich-Arbitrage, auch Sandwich-Angriff genannt, ist eine Angriffsmethode, bei der die Transaktionen des Opfers mittels Front-Running für Arbitrageangriffe angegriffen werden.
Sandwich-Arbitrage wird von Arbitrage-Robotern initiiert. Wenn der Arbitrage-Roboter erkennt, dass eine Transaktion zu einem Preisverfall bei digitalen Assets führen kann, zahlt der Angreifer höhere Gasgebühren, um um die Verpackungsrechte eines Blocks zu konkurrieren. Bei Erfolg kauft der Arbitrage-Roboter sofort eine bestimmte Menge digitaler Assets, wodurch der Preis des Assets steigt, und verkauft die neu erworbenen digitalen Assets nach Abschluss der Angriffstransaktion, um eine kostenlose Arbitrage zu erreichen.


Sandwich-Arbitrage ist keine friedliche Arbitrage-Methode – diese Arbitrage-Methode muss einen Angriff auf einen bestimmten Opferbenutzer beinhalten und dazu führen, dass das Opfer Vermögenswerte verliert.
Bei Ethereum-Transaktionen müssen Angreifer höhere Gasgebühren zahlen, um das Recht zu ergreifen, die Verpackung zu priorisieren. Dies liegt daran, dass ETH die optimale Gasgebühren-Gebotsmethode anwendet, d. h. der Benutzer, der die höchste Gasgebühr zahlt, kann die Priorität erhalten Paket. . Um die erste Chance zu bekommen, Blöcke zu bündeln, werden Angreifer einen heftigen Wettbewerb bei den Gasgebühren schaffen, aber da die Gasgebühren von Ethereum für jede Transaktion gezahlt werden (unabhängig von Erfolg oder Misserfolg). Daher müssen die Interessen normaler Benutzer geschädigt werden, wenn Angreifer einen harten Wettbewerb betreiben.
2. Schritt-für-Schritt-Analyse des DODO USDT/DAI-Angriffsvorfalls
Am 3. November 2022, Pekinger Zeit, wurde die dezentrale Handelsplattform DODO von Ethereum angegriffen. Der Angreifer nutzte Vertragsschwachstellen, um häufig Token zu wechseln, und führte einen Sandwich-Angriff durch Das Gewinn-Verlust-Verhältnis des Prozesses war nicht so übertrieben, sondern eher hilflos. Der Angreifer hat in einer Operation einen Flash-Kredit von mehr als 3,5 Millionen USDT eingesetzt und nur einen Gewinn von 26,4 USDT erzielt wie folgt:

1. Der erste Schritt des Sandwich-Angriffs: die erste Transaktion des Angreifers FrontRun
Die Transaktion wurde von der 0xf480-Adresse aus initiiert, interagierte mit einem Vertrag (Angreifervertrag 1), der von Etherscan als MEVbot markiert wurde, überwies 12.840 US-Dollar auf den Vertrag (d. h. sein eigenes Konto) und übertrug sie dann auf den nächsten Vertrag (Angreifervertrag 1). ). Vertrag 2).

2. Schritt 2: Verwenden Sie einen Schnellkredit, um Tether gegen DAI einzutauschen
Der Angreifer nahm einen Schnellkredit auf, lieh sich 3,55 Millionen US-Dollar von Balancer und überwies das Geld an die Adresse, übertrug Tether in den DODO-Pledge-Token-USDT-Pool und übertrug es dann an den Angreifer ist ein Swap (also ein Tausch von Token).


Bei diesem Tausch überwies der Angreifer 3,55 Millionen US-Dollar in USDT und 3,53 Millionen US-Dollar in DAI, wodurch das Geld auf dem Konto des Angreifers von Tether in DAI geändert wurde.


3. Wechseln Sie die Token häufig
1) Verwenden Sie Psm, um DAI gegen USDC einzutauschen


Als nächstes führte der Angreifer eine weitere Übertragung durch, indem er DAI an einen öffentlichen Vertrag übertrug. DssPsm ist ein Vertrag, bei dem die Einlösung von DAI an Psm abgeschlossen ist und das vom Benutzer übertragene DAI zerstört wird.
Der Angreifer schickte 3538543 DAI an Psm. Der Psm-Vertrag übertrug das Geld an die Nulladresse (d. h. alle DAI wurden verbrannt) und überwies dann 3538543 USDC erneut an den Angreifer.

2) USDC wird an USDT übertragen
Anschließend nutzte der Angreifer die getauschten USDC, um einen Tausch im USDT/USDC-Pool von DODO durchzuführen: Der Vertrag des Angreifers gab 3,53 Millionen USDC an DODO und DODO gab 3,53 Millionen USDT an den Vertrag des Angreifers.


4. Schritt 3: Extrahieren Sie BackRun, um den geschlossenen Regelkreis abzuschließen
Anschließend überwies der Angreifer weitere 70 US-Dollar von DODO auf ein Multi-Signatur-Wallet (die Adresse von DODOteam). In diesem Schritt erhielt DODO während der Transaktion eine Provision. Schließlich gab der Angreifer alle USDT (3551259) zurück und der Schnellkredit endete.
3. Zusammenfassung
Insgesamt tauschte der Angreifer zweimal Stablecoins in den beiden Pools von DODO aus: 3551259 USDT – 3538543 DAI (dieser Schritt führte zu einem großen Slippage) – 3538543 USDC – 3.538.419 USDT.
Es stellt sich heraus, dass der letztendlich getauschte USDT nicht ausreichte, um das durch den Flash-Darlehen geliehene Geld zurückzuzahlen. Die Preisdifferenz betrug zu diesem Zeitpunkt 3551259-3538149=12840 Der erste Schritt war praktisch.
An diesem Punkt werden wir Fragen haben: Hat der Angreifer nicht die $12.840 verloren, die er vorgerückt hat? Was soll damit erreicht werden?
Tatsächlich hat die Operation des Angreifers (beim Umtausch von USDT in DAI) den DODO-Pool noch unausgeglichener gemacht. Er nutzte diesen unausgeglichenen Pool, um mehr USDT einzutauschen (Arbitrage-Verfahren) und nutzte einen umgekehrten Prozess, um die Ernte umzukehren (nach Abzug der Provisionen von Gas und DODO).
Daher sehen wir, dass es bei solchen Angriffen tatsächlich eine Überlebensorientierung gibt. Es gibt tatsächlich viele Angreifer, die solche Gelegenheiten in der Kette finden und solche Angriffe ausführen. Die meisten von uns können nur Fälle erfolgreicher Angriffe sehen, und häufiger führen sie Sandwiches aus Die angreifenden Roboter werden geschlagen und viele Roboter werden von anderen Robotern arbitriert. Deshalb ist MEV jetzt sehr kompliziert.