Erstellen eines Arbitrage-Bots: Einführung in MEV-Bots
September 28th, 2023

Erstellen eines Arbitrage-Bots: Einführung in MEV-Bots

Dabei soll es sich um eine künstlerische Darstellung eines MEV-Bots im Stil von Van Gogh handeln

Dieser Artikel dient als Einführung für eine Reihe über die Entwicklung von MEV-Bots. In dieser Serie werden wir einen MEV-Bot mit mittlerer Komplexität entwickeln. Die meisten der bereitgestellten Informationen gelten nur für Ethereum und EVM-kompatible Blockchains (BSC, Polygon usw.). Einige in der Serie vorgestellte Tricks und Techniken verschaffen möglicherweise noch einen kleinen Wettbewerbsvorteil, es ist jedoch zu erwarten, dass für die Generierung erhebliche Änderungen an der Strategie erforderlich sind keine nennenswerten Einnahmen. Bevor wir beginnen, definieren wir, was MEV ist.

Extrahierbarer Wert auf einer Blockchain

MEV bezeichnete ursprünglich den Wert, den ein Miner aus einem Block extrahieren konnte. Dieser Wert ist die Differenz zwischen dem erwarteten Wert des Blocks und dem Wert des Blocks für den Miner, während er geschürft wird. Der erwartete Wert eines Blocks ist die Summe der Gebühren aller im Block enthaltenen Transaktionen. Es wurde erkannt, dass der Miner den Wert des Blocks steigern konnte, indem er die Reihenfolge der Transaktionen änderte oder private Transaktionen direkt vor dem Mining in den Block einfügte. Dies wird als Miner Extractible Value (MEV) bezeichnet. Heutzutage, mit der Verbreitung von PoS, wurden Miner durch Validatoren ersetzt (obwohl der Begriff MEV immer noch verwendet wird). Obwohl Miner und Validatoren in der besten Position sind, Wert aus einem Block zu extrahieren, verfügen sie möglicherweise nicht über eine optimale Strategie, um den gesamten Wert zu extrahieren. Es gibt Mechanismen, die es jedem Agenten mit ausgefeilteren Strategien ermöglichen, die Gewinne mit den Validatoren zu teilen. Diese Agenten nutzen im Allgemeinen automatisierte Programme, sogenannte MEV-Bots.

Die beliebtesten Arten von MEV-Bots

Dezentrale Finanzierung (DeFi) ist natürlich der Spielplatz für MEV-Bots: Die erlaubnislose Natur von Blockchains und die großen Geldbeträge, die auf dem Spiel stehen, machen sie zu einem sehr attraktiven Ziel. Offensichtliche Aktionsbereiche für Bots haben dazu geführt, dass sie in einige Kategorien eingeteilt werden können. Die beliebtesten werden in den folgenden Abschnitten beschrieben.

Liquidations-Bots

DeFi hat die Entstehung brillanter Finanzdienstleistungen wie Kreditprotokolle (Compound, Aave, MakerDAO usw.) erlebt. Diese Protokolle ermöglichen es Benutzern, ihre Vermögenswerte gegen eine Rendite an andere Benutzer zu verleihen. Die Kreditnehmer sind verpflichtet, Sicherheiten zu stellen, die über den von ihnen geliehenen Betrag hinausgehen. Fällt der Wert der Sicherheit im Laufe der Zeit unter einen bestimmten Schwellenwert, wird die Sicherheit verwertet und der Kreditgeber zurückerstattet. Dies hat sich als einfache Möglichkeit erwiesen, Kreditnehmern über ein vertrauenswürdiges System eine Hebelwirkung zu bieten, wie es in jedem Teil des DeFi-Ökosystems erwartet wird. Das Tolle an den meisten dieser Protokolle ist, dass der Liquidationsprozess allen Akteuren außerhalb des Protokolls offen steht. Jeder kann den Status des Protokolls überwachen und die Liquidation einer unterbesicherten Position veranlassen. Der Smart Contract prüft, ob die Sicherheit tatsächlich weniger als einen bestimmten Schwellenwert wert ist, und bietet dem Liquidator einen Anreiz, indem er ihm einen Bruchteil der Sicherheit gibt. Genau das tun Liquidations-Bots: Positionen automatisch liquidieren. Zu einem bestimmten Zeitpunkt war dies eine sehr profitable Strategie, aber als immer mehr Menschen damit begannen, gingen die Gewinne drastisch zurück.

Arbitrage-Bots

Ein sehr großer Teil des DeFi-Ökosystems besteht aus dezentralen Börsen (DEXes). Diese Börsen ermöglichen Benutzern den Handel mit Vermögenswerten, ohne dass ein vertrauenswürdiger Dritter erforderlich ist. Der beliebteste DEX auf Ethereum ist Uniswap. Die aktuelle Version von Uniswap ist V3. Hier finden die meisten Aktivitäten statt, aber Uniswap V2 hat immer noch ein gewisses Volumen, teilweise weil sich die LPs nie die Mühe gemacht haben, ihre Gelder auf V3 zu übertragen. Uniswap V2 ist sehr einfach zu verstehen und wurde von vielen anderen konkurrierenden DEXs wie Sushiswap, Pancakeswap usw. gespalten. Zu jedem Zeitpunkt wird der Preis eines Vermögenswerts an einem DEX durch das Verhältnis der Reserven der beiden bestimmt Vermögenswerte im Liquiditätspool. Wenn sich der Preis eines Vermögenswerts an einem DEX vom Preis desselben Vermögenswerts an einem anderen DEX unterscheidet, Dann besteht die Möglichkeit, den Vermögenswert am günstigeren DEX zu kaufen und am teureren zu verkaufen. Dies nennt man Arbitrage. Arbitrage-Bots sind die beliebteste Art von MEV-Bots. Sie sind auch für Neueinsteiger zugänglich, da primitive Bots in begrenzter Zeit entwickelt werden können. Es ist unwahrscheinlich, dass einfache Bots profitabel sind, aber sie sind ein guter Ausgangspunkt, um mehr über den Handel zu erfahren. Einfache Strategien können auf vielfältige Weise verbessert werden, wobei nur die Kreativität des Entwicklers Grenzen setzt. Aus diesen Gründen konzentriert sich diese Serie auf Arbitrage-Bots. Beachten Sie, dass in der Praxis der Großteil des Arbitragegewinns von Bots generiert wird, die zwischen zentralen und dezentralen Börsen handeln. da primitive Bots in begrenzter Zeit entwickelt werden können. Es ist unwahrscheinlich, dass einfache Bots profitabel sind, aber sie sind ein guter Ausgangspunkt, um mehr über den Handel zu erfahren. Einfache Strategien können auf vielfältige Weise verbessert werden, wobei nur die Kreativität des Entwicklers Grenzen setzt. Aus diesen Gründen konzentriert sich diese Serie auf Arbitrage-Bots. Beachten Sie, dass in der Praxis der Großteil des Arbitragegewinns von Bots generiert wird, die zwischen zentralen und dezentralen Börsen handeln. da primitive Bots in begrenzter Zeit entwickelt werden können. Es ist unwahrscheinlich, dass einfache Bots profitabel sind, aber sie sind ein guter Ausgangspunkt, um mehr über den Handel zu erfahren. Einfache Strategien können auf vielfältige Weise verbessert werden, wobei nur die Kreativität des Entwicklers Grenzen setzt. Aus diesen Gründen konzentriert sich diese Serie auf Arbitrage-Bots. Beachten Sie, dass in der Praxis der Großteil des Arbitragegewinns von Bots generiert wird, die zwischen zentralen und dezentralen Börsen handeln.

Sandwich-Bots

Sandwiching ist eine weitere sehr beliebte Art von MEV-Bot. Es nutzt die Tatsache aus, dass Transaktionen, die von unerfahrenen Benutzern über die Blockchain gesendet werden, häufig im Transaktionspool (oft als Mempool bezeichnet) veröffentlicht werden. Es gibt Möglichkeiten für Bots, den Mempool zu lesen, eine Zieltransaktion zum Ausnutzen zu finden und eine Transaktion zu fälschen, die vor der Zieltransaktion abgebaut wird. Swap-Transaktionen in DeFi sind die Hauptziele von Sandwich-Bots, da DeFi-Benutzer einen gewissen Slippage festlegen müssen, das heißt, sie akzeptieren einen etwas schlechteren Ausführungspreis für ihre Transaktion. Sie tun dies, weil sich der Preis des AMM zwischen dem Senden der Transaktion und dem Zeitpunkt des Minings ändern kann, was dazu führen könnte, dass die Transaktion fehlschlägt und möglicherweise erhebliche Gaskosten entstehen. Jeder AMM-Kauf/Verkauf verändert den Preis proportional zur Menge der durch den Swap bereitgestellten Token und umgekehrt proportional zur Menge der zuvor von den Liquiditätsanbietern im Pool bereitgestellten Token. Die Bots können eine böswillige „Kauf“-Bestellung direkt vor der legitimen „Kauf“-Bestellung eines Benutzers aufgeben. Die legitime Order kann weiterhin ausgeführt werden, solange der Preis seit der Bestellung nicht zu stark gestiegen ist (diese relative Preisbewegung wird Slippage genannt). Dadurch verschiebt sich der Preis für den Bot-Betreiber noch weiter, der die zuvor gekauften Token dann zu einem höheren Preis verkaufen kann. Dieser Vorgang wird als „Sandwiching“ bezeichnet, da der Bot-Betreiber eine Kauforder vor und eine Verkaufsorder nach der legitimen Order platziert und diese somit effektiv zwischen zwei Orders einklemmt. Es wird auch der Begriff Frontrunning verwendet, mit der gleichen Bedeutung, die es im traditionellen Finanzwesen vermittelt. Sandwich-Bots sind komplexer zu entwickeln als Arbitrage-Bots, aber sie sind im Allgemeinen auch profitabler, da sie im selben Transaktionspaket auch Arbitrage-Strategien implementieren können. Beachten Sie, dass Sandwiching im Gegensatz zu Arbitrage und Liquidation als unmoralisch angesehen werden kann, da es die Transaktion des legitimen Benutzers dazu zwingt, zu einem schlechteren Preis als erwartet auszuführen. Frontrunning ist auf den traditionellen Finanzmärkten tatsächlich illegal. Eine moralisch akzeptable, aber weniger profitable Variante dieser Strategie nennt sich Backrunning. Es besteht darin, eine Transaktion erst nach der Zieltransaktion zu platzieren. Die ausgefeilteren Backrunning-Bots implementieren auch eine vollständige Arbitrage-Strategie und nehmen oft einen großen Teil des Kuchens ein, der regulären Arbitrage-Bots zur Verfügung steht. Sandwich-Bots sind komplexer zu entwickeln als Arbitrage-Bots, aber sie sind im Allgemeinen auch profitabler, da sie im selben Transaktionspaket auch Arbitrage-Strategien implementieren können. Beachten Sie, dass Sandwiching im Gegensatz zu Arbitrage und Liquidation als unmoralisch angesehen werden kann, da es die Transaktion des legitimen Benutzers dazu zwingt, zu einem schlechteren Preis als erwartet auszuführen. Frontrunning ist auf den traditionellen Finanzmärkten tatsächlich illegal. Eine moralisch akzeptable, aber weniger profitable Variante dieser Strategie nennt sich Backrunning. Es besteht darin, eine Transaktion erst nach der Zieltransaktion zu platzieren. Die ausgefeilteren Backrunning-Bots implementieren auch eine vollständige Arbitrage-Strategie und nehmen oft einen großen Teil des Kuchens ein, der regulären Arbitrage-Bots zur Verfügung steht. Sandwich-Bots sind komplexer zu entwickeln als Arbitrage-Bots, aber sie sind im Allgemeinen auch profitabler, da sie im selben Transaktionspaket auch Arbitrage-Strategien implementieren können. Beachten Sie, dass Sandwiching im Gegensatz zu Arbitrage und Liquidation als unmoralisch angesehen werden kann, da es die Transaktion des legitimen Benutzers dazu zwingt, zu einem schlechteren Preis als erwartet auszuführen. Frontrunning ist auf den traditionellen Finanzmärkten tatsächlich illegal. Eine moralisch akzeptable, aber weniger profitable Variante dieser Strategie nennt sich Backrunning. Es besteht darin, eine Transaktion erst nach der Zieltransaktion zu platzieren. Die ausgefeilteren Backrunning-Bots implementieren auch eine vollständige Arbitrage-Strategie und nehmen oft einen großen Teil des Kuchens ein, der regulären Arbitrage-Bots zur Verfügung steht. da sie auch Arbitrage-Strategien im selben Transaktionspaket implementieren können. Beachten Sie, dass Sandwiching im Gegensatz zu Arbitrage und Liquidation als unmoralisch angesehen werden kann, da es die Transaktion des legitimen Benutzers dazu zwingt, zu einem schlechteren Preis als erwartet auszuführen. Frontrunning ist auf den traditionellen Finanzmärkten tatsächlich illegal. Eine moralisch akzeptable, aber weniger profitable Variante dieser Strategie nennt sich Backrunning. Es besteht darin, eine Transaktion erst nach der Zieltransaktion zu platzieren. Die ausgefeilteren Backrunning-Bots implementieren auch eine vollständige Arbitrage-Strategie und nehmen oft einen großen Teil des Kuchens ein, der regulären Arbitrage-Bots zur Verfügung steht. da sie auch Arbitrage-Strategien im selben Transaktionspaket implementieren können. Beachten Sie, dass Sandwiching im Gegensatz zu Arbitrage und Liquidation als unmoralisch angesehen werden kann, da es die Transaktion des legitimen Benutzers dazu zwingt, zu einem schlechteren Preis als erwartet auszuführen. Frontrunning ist auf den traditionellen Finanzmärkten tatsächlich illegal. Eine moralisch akzeptable, aber weniger profitable Variante dieser Strategie nennt sich Backrunning. Es besteht darin, eine Transaktion erst nach der Zieltransaktion zu platzieren. Die ausgefeilteren Backrunning-Bots implementieren auch eine vollständige Arbitrage-Strategie und nehmen oft einen großen Teil des Kuchens ein, der regulären Arbitrage-Bots zur Verfügung steht. kann als unmoralisch angesehen werden, da dadurch die Transaktion des legitimen Benutzers zu einem schlechteren Preis als erwartet ausgeführt wird. Frontrunning ist auf den traditionellen Finanzmärkten tatsächlich illegal. Eine moralisch akzeptable, aber weniger profitable Variante dieser Strategie nennt sich Backrunning. Es besteht darin, eine Transaktion erst nach der Zieltransaktion zu platzieren. Die ausgefeilteren Backrunning-Bots implementieren auch eine vollständige Arbitrage-Strategie und nehmen oft einen großen Teil des Kuchens ein, der regulären Arbitrage-Bots zur Verfügung steht. kann als unmoralisch angesehen werden, da dadurch die Transaktion des legitimen Benutzers zu einem schlechteren Preis als erwartet ausgeführt wird. Frontrunning ist auf den traditionellen Finanzmärkten tatsächlich illegal. Eine moralisch akzeptable, aber weniger profitable Variante dieser Strategie nennt sich Backrunning. Es besteht darin, eine Transaktion erst nach der Zieltransaktion zu platzieren. Die ausgefeilteren Backrunning-Bots implementieren auch eine vollständige Arbitrage-Strategie und nehmen oft einen großen Teil des Kuchens ein, der regulären Arbitrage-Bots zur Verfügung steht.

Eher marginaler Typ: Scharfschütze

Ein Sniper-Bot wird versuchen, an ein digitales Asset zu gelangen, sobald es der Öffentlichkeit zugänglich gemacht wird. Zum Beispiel der Erwerb von NFTs aus einer neu zur Prägung freigegebenen Sammlung oder der Kauf von Token aus einem neu gestarteten Token-Verkauf. Einfache Bots, die Token direkt nach ihrer Listung bei Uniswap kauften, waren früher profitabel, aber als die Zahl der nutzlosen Token explodierte, würden heutzutage alle Bots ihre ETH aufbrauchen, wenn sie ausgeführt würden. Sniping-Bots können für einen einzelnen Verwendungszweck erstellt werden, erfordern jedoch viel Zeit und Mühe für einen einzelnen Anwendungsfall sowie gute allgemeine Kenntnisse des Blockchain-Ökosystems.

Architektur eines MEV-Bots

MEV-Bots haben unabhängig von ihrem Typ tendenziell eine ähnliche Architektur. Sie erfüllen drei Hauptaufgaben:

  • Lesen der Blockchain

  • Möglichkeiten finden

  • Durchführen von On-Chain-Aktionen

Im Folgenden finden Sie eine allgemeine Beschreibung des Inhalts jeder dieser Aufgaben.

Lesen der Blockchain

Da MEV-Bots mit einer Blockchain interagieren sollen, die alle paar Sekunden (12 für Ethereum) neue Transaktionsblöcke erzeugt, müssen sie in der Lage sein, den Status der Blockchain kontinuierlich und effizient zu lesen. Sandwhich-Bots müssen auch in der Lage sein, den Mempool zu lesen, bei dem es sich um einen Pool von Transaktionen handelt, die noch in einen Block aufgenommen werden müssen.

Um mit der Blockchain zu interagieren, müssen Bots eine Verbindung zu einem Knoten herstellen. Knoten sind Computer, auf die die Blockchain in exakten Nachbildungen verteilt wird. Diese Knoten sind miteinander verbunden und aktualisieren ihren internen Zustand, wenn ein neuer Block erzeugt wird. Sie sind auch dafür verantwortlich, ausstehende Transaktionen in ihrem eigenen Mempool zu speichern und sie an andere Knoten weiterzugeben. Die beliebteste Software zum Betrieb eines Ethereum-Knotens ist Go-Ethereum, besser bekannt als Geth . Es ist in Go geschrieben und war die Referenzimplementierung des Ethereum-Protokolls. Es ist derzeit der am häufigsten verwendete Ethereum-Client. Die andere, weniger beliebte Variante ist Parity, geschrieben in Rust. Viele Anbieter bieten kostenlosen Zugang zu einem Knoten an, beispielsweise Infura, Alchemy oder Quicknode. Man muss sich die Zeit nehmen, ihre Angebote zu vergleichen, da einige Knoten zuverlässiger sind als andere und einige mehr Funktionen bieten als andere. Beispielsweise erlaubt Infura keinen Zugriff auf den Mempool, der für Sandwich-Bots notwendig ist. Knotensoftware kann über eine JSON-RPC-API remote abgefragt werden. Mit dieser API können Sie den Status der Blockchain abrufen und Transaktionen an den Knoten senden. Hier ist ein Beispiel für einen Python-Code, der die aktuelle Blocknummer der Ethereum-Mainnet-Kette über die JSON-RPC-API eines von Infura gehosteten Knotens abruft:

Importanfragen 
Import JSON 
def  get_block_number (): 
    url = "https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID"
     headers = { ' content-type' : 'application/json' } 
    data = { 
        "jsonrpc" : "2.0 " , 
        "method" : "eth_blockNumber" , 
        "params" : [], 
        "id" : 1
     } 
    Response = request.post(url, data=json.dumps(data), headers=headers) 
    return  int (response.json ()[ 'Ergebnis' ],16 ) 
drucken(get_block_number())

Ergebnis:

17388115

Bibliotheken wie Web3.py oder Web3.js können diesen Teil erheblich vereinfachen. Sie bieten auch viele andere gängige Funktionen, wie das Signieren von Transaktionen oder das Parsen der vom Knoten gesendeten/empfangenen Daten. Beachten Sie, dass anspruchsvollere Bot-Betreiber ihren eigenen Knoten betreiben, um Netzwerklatenz zu vermeiden. Dies kann leicht ein paar hundert Dollar pro Monat kosten, sodass es sich für einen Anfänger möglicherweise nicht lohnt. Es kann einige Sekunden dauern, bis JSON-RPC-Anfragen eine Antwort zurückgeben, wodurch die Menge an Informationen, die zwischen den einzelnen Blöcken abgerufen werden kann, erheblich eingeschränkt wird. Um diesen Engpass zu vermeiden, setzen die meisten Bot-Betreiber einen Smart Contract ein, der alle Informationen, die sie in der Kette benötigen, liest und sie in einer einzigen Transaktion zurückgibt. Sehr anspruchsvolle MEV-Sucher können diesen Teil sogar ganz vermeiden, indem sie den größten Teil des Codes ihres Bots in einer modifizierten Version ihrer Node-Software speichern.

Möglichkeiten finden

Sobald der Bot alle benötigten Informationen aus der Blockchain abgerufen hat, kann er mit der Suche nach Möglichkeiten beginnen. Dies ist der wichtigste Teil des Bots, da er seine Rentabilität bestimmt. Die Strategien sind für jeden Bot einzigartig. Bei einem einfachen Sandwich-Bot besteht er darin, herauszufinden, welche Transaktionen gültige Swap-Transaktionen sind, und den maximalen Gewinn zu berechnen, der durch die Sandwich-Transaktion erzielt werden kann. Bei einem Arbitrage-Bot geht es darum, den maximalen Gewinn zu ermitteln, der durch den Austausch einer bestimmten Menge an Token zwischen zwei Börsen erzielt werden kann, die unterschiedliche Preise für denselben Token haben.

Aktionen in der Kette

Sobald der Betreiber Chancen zur Ausnutzung identifiziert hat, muss er Transaktionen senden, um diese in der Kette umzusetzen. Dies geschieht immer durch das Senden einer Transaktion an einen Smart Contract, der diese On-Chain-Logik enthält. Diese Logik kann einfach darin bestehen, einige Tauschgeschäfte durchzuführen und zu prüfen, ob der Rohgewinn höher ist als die Gaskosten. Die Betreiber müssen bei der Ausarbeitung des Vertrags, der ihre Strategie umsetzt, darauf achten, sicherzustellen, dass Transaktionen so wenig Gas wie möglich verbrauchen, um ihren Gewinn zu maximieren. Intelligente Verträge können in verschiedenen Sprachen geschrieben werden, die zum EVM-Bytecode kompiliert werden. Das beliebteste ist Solidity, das stark von Javascript inspiriert ist. Es ist auch möglich, intelligente Verträge in Vyper zu schreiben, einer Python-ähnlichen Sprache. Betreiber anspruchsvollerer Bots schreiben sehr oft in der Yul-Assembly: um die volle Kontrolle über den Bytecode zu haben, der in der Kette ausgeführt wird. Die meisten Bots konkurrieren tatsächlich um die gleichen Chancen. Der einzige Wettbewerbsvorteil, den Betreiber gegenüber den anderen haben, ist die Effizienz ihres Smart-Contract-Codes, der letztendlich vorgibt, welche Transaktionen in den nächsten Block aufgenommen werden.

Transaktionsausführung

Ethereum-Blöcke bestehen aus Transaktionen, die nacheinander ausgeführt werden. Diese Reihenfolge wird vom Miner/Validator bestimmt, der den nächsten Block erzeugt. Dieser Auftrag ist derjenige, der dem Miner den größten Gewinn einbringt. Bis 2020 mussten Bot-Betreiber durch das Versenden öffentlicher Transaktionen um die Aufnahme konkurrieren. Jetzt können sie ihre Transaktionen stattdessen über das Flashbots-Auktionssystem direkt an Validatoren senden. Die beiden Mechanismen werden im nächsten Abschnitt verglichen, um die Vorteile des Flashbots-Systems besser zu verstehen.

Wie es früher gemacht wurde: Priority Gas Auctions (PGA)

Wenn beim Senden einer öffentlichen Transaktion der von einem Bot-Betreiber festgelegte Gaspreis niedriger wäre als der eines Mitbewerbers, würde die Transaktion fehlschlagen und dem Betreiber sehr hohe Kosten verursachen. Dies liegt daran, dass Validatoren ihren Gewinn maximieren möchten und immer zuerst die Transaktionen einbeziehen, die am meisten Gas zahlen. Um die Wahrscheinlichkeit einer Einbeziehung zu erhöhen, würden die Betreiber einen sehr hohen Gaspreis festlegen, was zu sehr hohen Gaskosten für den Betreiber führen würde, selbst wenn die Transaktion nicht in einem Block enthalten wäre. Bots mussten den Mempool ständig überwachen, um sicherzustellen, dass kein Konkurrent einen höheren Preis festgelegt hatte. Wenn ja, musste eine andere Transaktion mit derselben Nonce gesendet werden, um die vorherige zu ersetzen, jedoch mit einem höheren Gaspreis. Dieses System war sehr ineffizient, da es viel Gas verschwendete und das Bot-Design viel komplexer als nötig machte.

Flashbots-Pakete

Im Jahr 2020 entstand ein neues System namens Flashbots. Es ermöglicht jedem, Transaktionen direkt an Miner zu senden, ohne mit anderen Teilnehmern des Mempools konkurrieren zu müssen. Dieses System wird als Bündelauktion bezeichnet. Es bringt große Vorteile für Bot-Betreiber mit sich:

  • Fehlgeschlagene Transaktionen werden nicht im nächsten Block berücksichtigt, wodurch die Gaskosten für fehlgeschlagene Transaktionen entfallen. Jeder kann von diesem System profitieren, auch wenn er keinen Bot betreibt. Fehlgeschlagene Transaktionen gehören nun der Vergangenheit an.

  • Transaktionen können als Bündel von Transaktionen an Miner gesendet werden. Miner können garantieren, dass zwischen den Transaktionen eines Sandwich-Bündels keine weitere Transaktion eingefügt wird, was das Sandwiching weniger riskant macht. Wenn eine Transaktion fehlschlägt, wird das gesamte Paket verworfen und bietet die gleichen Garantien wie eine einzelne Transaktion.

  • Eliminierung des Front-Running-Risikos. Da Transaktionen nicht öffentlich sind, können sie nicht von anderen Bots ausgeführt werden.

  • Programmatische Zahlung: Der Smart Contract kann die Menge an Gas wählen, die er dem Miner zahlen möchte, abhängig beispielsweise vom Gewinn, den er erzielen wird (der nicht immer im Voraus bekannt ist). Dies maximiert den Gewinn des Bots und ermöglicht es ihm, zu viel für Benzin zu bezahlen. Transaktionen, die am Ende zu wenig (oder überhaupt keine) auszahlen, werden vom Miner einfach verworfen.

Seit The Merge (Paris-Upgrade) ist Ethereum eine Proof-of-Stake-Blockchain. Das bedeutet, dass der Konsens nicht mehr von Minern, sondern von Validatoren erzielt wird. Auch das Flashbots-System wurde an diesen neuen Konsensmechanismus angepasst und das Team hat eine Middleware namens mev-boost vorgeschlagen , die es ermöglicht, Bundles an Validatoren zu senden. Dieses neue System trennt auch den Blockproduzenten vom Validator. Jetzt tun MEV-Suchende und andere Benutzer, die private Pakete an den vorgeschlagenen Validator senden möchten, dies über einen Vermittler. Dies ändert jedoch nicht viel an der Art und Weise, wie Transaktionspakete zuvor versendet wurden.

Beispiele für Open-Source-Code

Bevor Sie mit dem Schreiben eines Bots beginnen, wäre es ratsam, sich vorhandene Open-Source-Bots anzusehen, um ein besseres Verständnis für deren Funktionsweise zu erhalten. Hier ein paar Beispiele:

  • Flashbots simple-arbitrage : Ein vom Team bei Flashbots erstelltes TypeScript-Repo, das einen einfachen Arbitrage-Bot erstellt, der Bundles an Flashbots sendet.

  • Alcibiades Capital mev_bundle_generator : Dieses Repo wurde in Rust geschrieben. Die Yul Smart Contracts könnten für Sie besonders interessant sein. Die Smart Contracts, die in den folgenden Artikeln vorgestellt werden, haben sie weiter verbessert.

Sie sollten nicht zu viel Zeit damit verbringen, den Code dieser Bots im Detail zu verstehen. Wenn Sie vorhaben, einen eigenen Bot zu erstellen, sollten Sie sich die Zeit nehmen, Ihren eigenen Code zu verstehen.

Abschluss

In diesem Artikel wurden die Grundlagen von MEV vorgestellt, aber nicht viel auf die technischen Details eingegangen. Die nächsten Artikel dieser Reihe erklären alles, was Sie wissen müssen, mit Codebeispielen einer vollständigen Python-Implementierung, begleitet von den Smart Contracts Solidity und Yul.

🌟 Eine Initiative, um die Web3-Bildung für die nächste Generation zugänglicher zu machen. 🌟

🌟 Feel free to check out: my.bio/blockliv3Social Media: @blockliv3E-Mail: blockliv3.nft@ud.me

Subscribe to blockliv3 | (GER)
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from blockliv3 | (GER)

Skeleton

Skeleton

Skeleton