Malafide MEV (Miner Extractable Value)-aanvallen vormen een aanzienlijk risico voor handelaren op Ethereum. Onze recente analyse toont aan dat er dagelijks bijna 2.000 sandwich-aanvallen plaatsvinden en dat er maandelijks meer dan $2 miljoen uit het netwerk wordt geëxtraheerd. Zelfs handelaren die grote hoeveelheden WETH, WBTC of stabiele swaps uitvoeren, lopen het risico een aanzienlijk deel van hun transacties te verliezen.
MEV gedijt vanwege de transparante aard van blockchains, waar transactiegegevens zichtbaar zijn voordat ze worden uitgevoerd en bevestigd. Een mogelijke oplossing om MEV te verminderen, is de encryptie van de mempool, met name via drempel-encryptie. In eerdere artikelen hebben we twee verschillende modellen voor drempel-geëngageerde mempools onderzocht. Shutter, een van de eerste projecten die drempel-encryptie toepaste ter bescherming van de mempool, introduceerde een op epoch gebaseerde opzet. De nieuwere benadering, Batched Threshold Encryption (BTE), decrypt meerdere transacties met een enkele sleutel, waardoor de communicatiedkosten worden verlaagd en de doorvoersnelheid wordt verhoogd.
Flash Freezing Flash Boys (F3B), ontwikkeld door H. Zhang et al. (2022), is een recent voorgesteld ontwerp voor drempel-encryptie dat encryptie per transactie toepast. Dit systeem lost de beperkingen van eerdere drempel-encryptiesystemen op, die terugvielen op een op epoch gebaseerde aanpak. Projecten zoals FairBlock en de vroege versies van Shutter gebruikten een enkele sleutel om elke transactie binnen een specifieke epoch te coderen. Een epoch is een vast aantal blokken, bijvoorbeeld 32 blokken op Ethereum. Deze aanpak creëerde kwetsbaarheden, omdat sommige transacties die niet binnen het vastgestelde blok werden opgenomen, toch samen met de rest van de batch konden worden gedecrypt. Dit kon leiden tot datalekken en mogelijkheden voor MEV voor validators, die hierdoor kwetsbaar werden voor voorrangsbehandeling.
F3B past drempel-encryptie per transactie toe, wat garandeert dat elke transactie vertrouwelijk blijft totdat deze definitief is. De algemene flow van het F3B-protocol is als volgt: de gebruiker codeert de transactie met een sleutel waar alleen de aangewezen drempelcommissie, het zogenaamde Secret Management Committee (SMC), toegang toe heeft. De versleutelde transactie en de versleutelde sleutel worden gezamenlijk naar de consensusgroep verzonden (Stap 1). Hierdoor kunnen knooppunten transacties opslaan en ordenen, terwijl ze alle vereiste decryptiemetagegevens behouden voor onmiddellijke reconstructie en uitvoering na finaliteit. Tegelijkertijd bereidt de SMC haar decryptie-aandelen voor, maar houdt deze achter totdat de consensus de transactie heeft bevestigd (Stap 2). Zodra een transactie is bevestigd en de SMC voldoende geldige aandelen vrijgeeft (Stap 3), worden de transacties gedecrypt en uitgevoerd (Stap 4).
Per-transactie encryptie was lange tijd onpraktisch vanwege de zware rekenlast voor encryptie en decryptie, evenals de opslagbehoefte door grote versleutelde payloads. F3B lost dit probleem op door alleen een lichte symmetrische sleutel drempelgewijs te encrypten in plaats van de volledige transactie. De transactie zelf wordt vervolgens gecodeerd met deze symmetrische sleutel. Deze aanpak kan de hoeveelheid gegevens die asymmetrisch moet worden gecodeerd met ongeveer 10 keer verminderen voor een eenvoudige swaptransactie.
Flash Freezing Flash Boys kan worden geïmplementeerd met behulp van een van twee cryptografische protocollen, namelijk TDH2 (Threshold Diffie-Hellman 2) of PVSS (Publicly Verifiable Secret Sharing). Het belangrijkste verschil ligt in wie het opzetlasten draagt en hoe vaak de beheerstructuur vastligt, met de bijbehorende voordelen en nadelen in flexibiliteit, latentie en opslagoverhead.
TDH2 steunt op een commissie die een gedistribueerd sleutelgeneratieproces uitvoert om individuele sleutelcomponenten en een collectieve openbare sleutel te produceren. Een gebruiker creëert vervolgens een nieuwe symmetrische sleutel, codeert zijn transactie hiermee en versleutelt deze symmetrische sleutel met de openbare sleutel van de commissie, waarna de consensusgroep dit versleutelde paar in de blockchain opschrijft. Na een vooraf gedefinieerd aantal bevestigingen publiceren de commissieleden gedeeltelijke decrypties van de versleutelde symmetrische sleutel, samen met NIZK (Non-Interactive Zero-Knowledge) bewijzen, die nodig zijn om gekozen-cijfertoestellen te voorkomen. De consensus verifieert deze bewijzen en, zodra er een drempel van geldige aandelen beschikbaar is, reconstrueren en decrypten ze de symmetrische sleutel, decrypten ze de transactie en voeren ze deze uit.
Het tweede schema, PVSS, volgt een andere aanpak. In plaats van dat de commissie in elke epoch een DKG uitvoert, heeft elk commissie lid een langere termijn privé-sleutel en een bijbehorende openbare sleutel, die op de blockchain is opgeslagen en toegankelijk is voor elke gebruiker. Voor elke transactie kiezen de gebruikers een willekeurige polynoom en gebruiken ze Shamir’s secret sharing om geheime aandelen te genereren, die vervolgens voor elke gekozen vertrouwenspersoon worden versleuteld met de respectieve openbare sleutel. De symmetrische sleutel wordt verkregen door het gereconstrueerde geheim te hashen. De versleutelde aandelen worden elk vergezeld van een NIZK-bewijs, dat iedereen in staat stelt om te verifiëren of alle aandelen zijn afgeleid van hetzelfde geheim, samen met een openbare polynoomverbintenis, een record dat de aandeel-geheimrelatie bindt. De stappen van transactietoevoeging, vrijgave van aandelen na finaliteit, sleutelreconstructie, decryptie en uitvoering zijn vergelijkbaar met die in het TDH2-schema.
De TDH2-protocol is efficiënter door een vaste commissie en constante grootte van drempel-encryptiegegevens. PVSS biedt gebruikers daarentegen meer flexibiliteit, omdat ze zelf de commissieleden kunnen selecteren die verantwoordelijk zijn voor hun transactie. Dit gaat echter gepaard met grotere openbare sleutelversleutelingen en hogere rekenlast door de versleuteling per vertrouwenspersoon. In het grotere geheel tonen de prototype-implementatie van het F3B-protocol op gesimuleerde proof-of-stake Ethereum aan dat het een minimale prestatie-overhead heeft. Met een commissie van 128 trustees is de vertraging na finaliteit slechts 197 ms voor TDH2 en 205 ms voor PVSS, wat respectievelijk gelijkstaat aan 0,026% en 0,027% van de finaliteitstijd van Ethereum van 768 seconden. De opslagoverhead bedraagt slechts 80 bytes per transactie voor TDH2, terwijl de overhead van PVSS lineair toeneemt met het aantal trustees vanwege aandelen per lid, bewijsstukken en verbintenissen. Deze resultaten bevestigen dat F3B zijn privacygaranties kan bieden met een verwaarloosbare impact op de prestaties en capaciteit van Ethereum.
F3B stimuleert eerlijk gedrag onder de trustees van het Secret Management Committee door middel van een stakingmechanisme met geblokkeerde waarborg. Vergoedingen motiveren trustees om online te blijven en het vereiste prestatieniveau te handhaven. Een slashing smart contract zorgt ervoor dat, als iemand bewijs van een schending indient, wat aantoont dat decryptie vroegtijdig is uitgevoerd, de wager van de overtreder wordt verbeurd. In TDH2 bestaat zulk bewijs uit de decryptieaandeel van een trustee, dat publiekelijk kan worden geverifieerd tegen de transactiecijfer. In PVSS bestaan de bewijzen uit een gedecrypt aandeel samen met een trustee-specifiek NIZK-bewijs dat het verifieert. Dit mechanisme bestraft aantoonbaar voortijdige openbaarmaking van decryptieaandelen, waardoor de kosten van detecteerbaar wangedrag toenemen. Het voorkomt echter niet dat trustees privaat off-chain samenwerken om transactiegegevens te reconstrueren en te decrypteren zonder aandelen te publiceren. De protocol blijft afhankelijk van de aanname dat de meerderheid van de commissieleden zich eerlijk gedraagt.
Aangezien versleutelde transacties niet onmiddellijk kunnen worden uitgevoerd, is een andere aanvalsvector dat een kwaadwillende gebruiker de blockchain overspoelt met niet-uitvoerbare transacties om de bevestigingstijden te vertragen. Dit is een potentiële aanvalsvector die gemeenschappelijk is voor alle versleutelde mempool-schema’s. F3B vereist dat gebruikers een opslagdeposito plaatsen voor elke versleutelde transactie, wat spammen kostbaar maakt. Het systeem trekt de waarborg vooraf af en vergoedt slechts een deel ervan wanneer de transactie succesvol wordt uitgevoerd.
Flash Freezing Flash Boys biedt een uitgebreide cryptografische aanpak voor het verminderen van MEV, maar zal waarschijnlijk niet worden geïmplementeerd op Ethereum vanwege de complexiteit van de integratie. Hoewel F3B de consensusmechanisme ongemoeid laat en volledige compatibiliteit met bestaande smart contracts behoudt, vereist het aanpassingen aan de uitvoeringslaag om versleutelde transacties en uitgestelde uitvoering te ondersteunen. Dit zou een veel bredere hard fork vereisen dan enige andere update die sinds The Merge is geïntroduceerd.
Toch vertegenwoordigt F3B een waardevolle mijlpaal in onderzoek die verder gaat dan Ethereum. Het vertrouwen-minimaliserende mechanisme voor het delen van privé transactiedata kan worden toegepast op zowel opkomende blockchain-netwerken als gedecentraliseerde toepassingen die uitgestelde uitvoering vereisen. F3B-stijl protocollen kunnen nuttig zijn, zelfs op sub-seconden blockchains, waar lagere blocktijden reeds aanzienlijk MID verminderen, om volledig de front-running gebaseerd op mempool-eliminatie te realiseren. Een voorbeeldtoepassing is het gebruik van F3B in een gesloten biedingssmart contract, waarbij bieders versleutelde biedingen indienen die verborgen blijven tot het einde van de biedingsfase. Hierdoor kunnen biedingen pas na de deadline van de veiling worden onthuld en uitgevoerd, wat manipulatie van biedingen, voorrangsbehandeling of vroegtijdige informatiestromen voorkomt.
Wat zijn sandwich-aanvallen en hoe beïnvloeden ze handelaren?
Sandwich-aanvallen vormen een specifieke vorm van MEV, waarbij een kwaadwillende actor een transactie plaatst voor en na een transactie van een andere handelaar om zo winst te maximaliseren. Dit kan leiden tot aanzienlijke verliezen voor de doelwit-handelaar, die een slechtere prijs ontvangt vanwege de manipulatie van de markt.
Hoe effectief is de F3B-aanpak in vergelijking met eerdere modellen?
F3B biedt significante voordelen ten opzichte van eerdere modellen door encryptie op transactiebasis toe te passen in plaats van op epoch. Dit verlaagt de risico’s van datalekken en maakt transacties vertrouwelijk totdat ze zijn bevestigd, wat de kansen voor MEV vermindert.
Wat zijn de grootste obstakels voor de implementatie van F3B op Ethereum?
De belangrijkste hindernis is de noodzakelijke aanpassing van de uitvoeringslaag van Ethereum om versleutelde transacties en uitgestelde uitvoeringen te ondersteunen, wat een omvangrijke hard fork zou vereisen. Dit is een complexe onderneming die aanzienlijke technische uitdagingen met zich meebrengt.
