• bitcoinBitcoin (BTC) $ 62,879.00
  • ethereumEthereum (ETH) $ 3,030.93
  • tetherTether (USDT) $ 0.999713
  • bnbBNB (BNB) $ 593.22
  • solanaSolana (SOL) $ 153.37
  • usd-coinUSDC (USDC) $ 1.00
  • xrpXRP (XRP) $ 0.516562
  • staked-etherLido Staked Ether (STETH) $ 3,029.30
  • the-open-networkToncoin (TON) $ 6.82
  • dogecoinDogecoin (DOGE) $ 0.151273
  • cardanoCardano (ADA) $ 0.463210
  • shiba-inuShiba Inu (SHIB) $ 0.000023
  • avalanche-2Avalanche (AVAX) $ 35.72
  • tronTRON (TRX) $ 0.124842
  • wrapped-bitcoinWrapped Bitcoin (WBTC) $ 62,846.00
  • polkadotPolkadot (DOT) $ 7.08
  • bitcoin-cashBitcoin Cash (BCH) $ 452.79
  • chainlinkChainlink (LINK) $ 14.24
  • nearNEAR Protocol (NEAR) $ 7.49
  • matic-networkPolygon (MATIC) $ 0.697422
  • litecoinLitecoin (LTC) $ 83.21
  • fetch-aiFetch.ai (FET) $ 2.29
  • internet-computerInternet Computer (ICP) $ 12.43
  • uniswapUniswap (UNI) $ 7.51
  • leo-tokenLEO Token (LEO) $ 5.90
  • daiDai (DAI) $ 0.999026
  • render-tokenRender (RNDR) $ 11.18
  • ethereum-classicEthereum Classic (ETC) $ 27.55
  • hedera-hashgraphHedera (HBAR) $ 0.109895
  • first-digital-usdFirst Digital USD (FDUSD) $ 0.999971
  • aptosAptos (APT) $ 8.85
  • pepePepe (PEPE) $ 0.000009
  • cosmosCosmos Hub (ATOM) $ 9.14
  • mantleMantle (MNT) $ 1.04
  • crypto-com-chainCronos (CRO) $ 0.127312
  • immutable-xImmutable (IMX) $ 2.26
  • filecoinFilecoin (FIL) $ 5.93
  • wrapped-eethWrapped eETH (WEETH) $ 3,147.39
  • dogwifcoindogwifhat (WIF) $ 3.19
  • stellarStellar (XLM) $ 0.108934
  • kaspaKaspa (KAS) $ 0.129755
  • blockstackStacks (STX) $ 2.09
  • okbOKB (OKB) $ 50.49
  • renzo-restaked-ethRenzo Restaked ETH (EZETH) $ 2,982.84
  • the-graphThe Graph (GRT) $ 0.305933
  • arweaveArweave (AR) $ 44.10
  • optimismOptimism (OP) $ 2.66
  • arbitrumArbitrum (ARB) $ 1.04
  • bittensorBittensor (TAO) $ 391.22
  • vechainVeChain (VET) $ 0.036050
  • makerMaker (MKR) $ 2,721.14
  • suiSui (SUI) $ 1.06
  • moneroMonero (XMR) $ 133.54
  • ethena-usdeEthena USDe (USDE) $ 1.00
  • theta-tokenTheta Network (THETA) $ 2.28
  • injective-protocolInjective (INJ) $ 24.80
  • thorchainTHORChain (RUNE) $ 6.45
  • fantomFantom (FTM) $ 0.727444
  • celestiaCelestia (TIA) $ 9.78
  • flokiFLOKI (FLOKI) $ 0.000179
  • rocket-pool-ethRocket Pool ETH (RETH) $ 3,353.18
  • lido-daoLido DAO (LDO) $ 1.89
  • bonkBonk (BONK) $ 0.000025
  • galaGALA (GALA) $ 0.044632
  • algorandAlgorand (ALGO) $ 0.193180
  • bitget-tokenBitget Token (BGB) $ 1.11
  • coredaoorgCore (CORE) $ 1.72
  • sei-networkSei (SEI) $ 0.538828
  • jupiter-exchange-solanaJupiter (JUP) $ 1.11
  • mantle-staked-etherMantle Staked Ether (METH) $ 3,119.17
  • quant-networkQuant (QNT) $ 99.50
  • whitebitWhiteBIT Coin (WBT) $ 9.94
  • flowFlow (FLOW) $ 0.912176
  • aaveAave (AAVE) $ 89.98
  • akash-networkAkash Network (AKT) $ 5.76
  • ethenaEthena (ENA) $ 0.911528
  • bitcoin-svBitcoin SV (BSV) $ 64.88
  • beam-2Beam (BEAM) $ 0.024985
  • singularitynetSingularityNET (AGIX) $ 0.959893
  • dydx-chaindYdX (DYDX) $ 2.19
  • worldcoin-wldWorldcoin (WLD) $ 5.75
  • ondo-financeOndo (ONDO) $ 0.815779
  • bittorrentBitTorrent (BTT) $ 0.000001
  • chilizChiliz (CHZ) $ 0.129083
  • flare-networksFlare (FLR) $ 0.029283
  • wormholeWormhole (W) $ 0.630627
  • zebec-protocolZebec Protocol (ZBC) $ 0.021995
  • ribbon-financeRibbon Finance (RBN) $ 1.15
  • elrond-erd-2MultiversX (EGLD) $ 41.49
  • neoNEO (NEO) $ 15.73
  • axie-infinityAxie Infinity (AXS) $ 7.65
  • gatechain-tokenGate (GT) $ 8.26
  • the-sandboxThe Sandbox (SAND) $ 0.446526
  • kucoin-sharesKuCoin (KCS) $ 10.46
  • cheeleeCheelee (CHEEL) $ 17.42
  • tokenize-xchangeTokenize Xchange (TKX) $ 11.97
  • ecasheCash (XEC) $ 0.000048
  • eosEOS (EOS) $ 0.822427
  • msolMarinade Staked SOL (MSOL) $ 182.48
  • tezosTezos (XTZ) $ 0.955680
  • aioz-networkAIOZ Network (AIOZ) $ 0.857952
  • jasmycoinJasmyCoin (JASMY) $ 0.019144
  • starknetStarknet (STRK) $ 1.27
  • mina-protocolMina Protocol (MINA) $ 0.839494
  • roninRonin (RON) $ 2.79
  • conflux-tokenConflux (CFX) $ 0.217633
  • havvenSynthetix Network (SNX) $ 2.66
  • ordinalsORDI (ORDI) $ 39.20
  • decentralandDecentraland (MANA) $ 0.438313
  • kelp-dao-restaked-ethKelp DAO Restaked ETH (RSETH) $ 3,056.22
  • apecoinApeCoin (APE) $ 1.28
  • book-of-memeBOOK OF MEME (BOME) $ 0.011650
  • heliumHelium (HNT) $ 4.87
  • gnosisGnosis (GNO) $ 302.82
  • nervos-networkNervos Network (CKB) $ 0.017665
  • dexeDeXe (DEXE) $ 13.39
  • pyth-networkPyth Network (PYTH) $ 0.496844
  • iotaIOTA (IOTA) $ 0.226889
  • kavaKava (KAVA) $ 0.674620
  • safeSafe (SAFE) $ 1.71
  • axelarAxelar (AXL) $ 1.11
  • usddUSDD (USDD) $ 0.998621
  • theta-fuelTheta Fuel (TFUEL) $ 0.109094
  • nexoNEXO (NEXO) $ 1.27
  • lido-staked-solLido Staked SOL (STSOL) $ 181.92
  • pancakeswap-tokenPancakeSwap (CAKE) $ 2.70
  • ether-fi-staked-ethether.fi Staked ETH (EETH) $ 3,037.87
  • echelon-primeEchelon Prime (PRIME) $ 16.95
  • fraxFrax (FRAX) $ 0.998413
  • klay-tokenKlaytn (KLAY) $ 0.178198
  • ocean-protocolOcean Protocol (OCEAN) $ 0.964971
  • golemGolem (GLM) $ 0.624177
  • blurBlur (BLUR) $ 0.390528
  • terra-lunaTerra Luna Classic (LUNC) $ 0.000107
  • fasttokenFasttoken (FTN) $ 1.95
  • oasis-networkOasis Network (ROSE) $ 0.090811
  • frax-etherFrax Ether (FRXETH) $ 3,024.71
  • bitcoin-goldBitcoin Gold (BTG) $ 34.46
  • arkhamArkham (ARKM) $ 2.76
  • swethSwell Ethereum (SWETH) $ 3,183.27
  • mantra-daoMANTRA (OM) $ 0.723792
  • dydxdYdX (ETHDYDX) $ 2.19
  • tether-goldTether Gold (XAUT) $ 2,373.45
  • wemix-tokenWEMIX (WEMIX) $ 1.61
  • osmosisOsmosis (OSMO) $ 0.873762
  • livepeerLivepeer (LPT) $ 17.90
  • illuviumIlluvium (ILV) $ 88.72
  • sats-ordinalsSATS (Ordinals) (SATS) $ 0.00000027
  • woo-networkWOO (WOO) $ 0.300378
  • coinbase-wrapped-staked-ethCoinbase Wrapped Staked ETH (CBETH) $ 3,241.22
  • curve-dao-tokenCurve DAO (CRV) $ 0.447297
  • popcatPopcat (POPCAT) $ 0.537989
  • astarAstar (ASTR) $ 0.094168
  • xdce-crowd-saleXDC Network (XDC) $ 0.037461
  • venomVenom (VENOM) $ 0.314850
  • dymensionDymension (DYM) $ 3.04
  • true-usdTrueUSD (TUSD) $ 0.999704
  • jito-governance-tokenJito (JTO) $ 4.19
  • mx-tokenMX (MX) $ 4.99
  • radixRadix (XRD) $ 0.046411
  • apenftAPENFT (NFT) $ 0.00000049
  • aerodrome-financeAerodrome Finance (AERO) $ 1.07
  • staked-frax-etherStaked Frax Ether (SFRXETH) $ 3,271.98
  • iotexIoTeX (IOTX) $ 0.050348
  • raydiumRaydium (RAY) $ 1.78
  • trust-wallet-tokenTrust Wallet (TWT) $ 1.12
  • ankrAnkr Network (ANKR) $ 0.046503
  • altlayerAltLayer (ALT) $ 0.338113
  • pendlePendle (PENDLE) $ 4.70
  • stepnGMT (GMT) $ 0.226100
  • celoCelo (CELO) $ 0.846559
  • ethereum-name-serviceEthereum Name Service (ENS) $ 14.53
  • corgiaiCorgiAI (CORGIAI) $ 0.001316
  • superfarmSuperVerse (SUPER) $ 0.988578
  • zilliqaZilliqa (ZIL) $ 0.024325
  • memecoin-2Memecoin (MEME) $ 0.025482
  • 1inch1inch (1INCH) $ 0.381369
  • ether-fiEther.fi (ETHFI) $ 3.80
  • enjincoinEnjin Coin (ENJ) $ 0.298089
  • pax-goldPAX Gold (PAXG) $ 2,348.93
  • manta-networkManta Network (MANTA) $ 1.71
  • terra-luna-2Terra (LUNA) $ 0.616896
  • ravencoinRavencoin (RVN) $ 0.030653
  • holotokenHolo (HOT) $ 0.002381
  • amp-tokenAmp (AMP) $ 0.007458
  • 0x0x Protocol (ZRX) $ 0.490996
  • rocket-poolRocket Pool (RPL) $ 20.14
  • siacoinSiacoin (SC) $ 0.007122
  • zetachainZetaChain (ZETA) $ 1.69
  • polymeshPolymesh (POLYX) $ 0.381198
  • qtumQtum (QTUM) $ 3.80
  • compound-governance-tokenCompound (COMP) $ 58.24
  • aelfaelf (ELF) $ 0.548226
  • project-galaxyGalxe (GAL) $ 3.42
  • skaleSKALE (SKL) $ 0.074957
  • ethereum-pow-iouEthereumPoW (ETHW) $ 3.58
  • stader-ethxStader ETHx (ETHX) $ 3,112.62
  • paypal-usdPayPal USD (PYUSD) $ 0.999066
  • compound-wrapped-btccWBTC (CWBTC) $ 1,262.18
  • nosanaNosana (NOS) $ 4.49

$25M MEV Exploit Teaches a Valuable Lesson About Relay Providers

0 157

$25M MEV Exploit Teaches a Valuable Lesson About Relay Providers

It’s like an episode of the long-running TV crime drama series, CSI.

Gathered in a research facility – usually set to an energetic rock anthem that belies the boredom of lab work — a forensics team busily fills test tubes and draws samples from the latest victim of some horrific event. The researchers gather to share complicated theories and argue about how the perpetrators must have performed this episode’s terrible deed.

Constructing a complex story, they work their way back through the evidence and continue debating possibilities. But soon, in a span of about 40 minutes plus commercials, following some investigative work, a few plot twists – and perhaps a car chase – the team arrives at a dramatic conclusion and solves the crime, learning a valuable lesson in the process.

No car chases came to fruition during a recent episode of Bell Curve. Nevertheless, Hasu, strategy lead at Flashbots, and Matt Cutler, CEO and co-founder of Blocknative, had their hands full with an investigation into the forensics of an MEV exploit that seized $25 million in funds from bots on the Ethereum network.

In this particular case, the evidence pointed squarely at the exploitation of a flaw in the MEV relay mechanism – and punctuated the fact that only one little bug in the relay system can potentially put the entire system at risk.

Hasu broke down the details of the exploit. The way it was supposed to work, he says, “is that the relay shows the block header to the proposer. And then the proposer selects the highest block header and signs it.” After receiving the signature, “the relay reveals the block body to the proposer and the proposer can then publish the full block.”

“In this case,” Hasu explains, there was a bug “that caused the relay not to check whether a particular part of the validator signature was actually valid.”

The validator sent an invalid signature, failing to make a full block, “so the relay couldn’t publish the block to the network.”

The inevitable plot twist

When the relay released information about the MEV transactions to the proposer, “the proposer had all of the transactions,” Hasu says, so “they could construct their own block and steal the MEV.”

This heist alone, however, would have only resulted in a trivial amount of funds being stolen, Hasu explained. What takes this scheme to the epic level is the next step in the story arc.

The exploiters placed “very specifically parameterized traits,” Hasu says, “in very low liquidity Uniswap pools that baited very specific sandwich bots to make very risky trades.” They then re-sandwiched these particular trades to drain the sandwich spots of a fortune.

“You had this explosive cocktail where four sandwich bots lost, collectively, around 20 million dollars in that transaction.”

“Clearly, whoever did this,” Cutler comments, “it was well-orchestrated. It required some time to set up and test. And they had a very deep understanding of how this stuff actually worked and where there were gaps.”

Case closed?

Upon solving the mystery, the pair then discussed the lesson to be learned from this exploit episode.

Cutler points out that the centralization of relay providers is partly at fault for the incident. “These are the sorts of things that happen when you have a small number of actors who are responsible for large sets of the network, handling lots of value, and you have very clever adversarial actors out there who are looking to gain an advantage, right?”

Because of the need for searchers to trust relay providers, Cutler argues, “they can sometimes maybe not be as careful as they should be.”

“And that trust, when it gets pierced,” he says, “there can be significant economic consequences of that, which is why we all go for trustless, permissionless systems.”

“That reduces the likelihood of any of these sorts of situations happening.”

Hasu counters Cutler’s argument saying that a larger number of relay providers does not, in fact, reduce risk.

The validator, he explains, is free to choose from any available relay provider, so it only takes one faulty relay to successfully attack the entire system. Adding more relay providers could do the opposite, he says, actually increasing the probability of vulnerabilities.

A social layer must be considered, Cutler retorts. In an “alternate timeline” of many relay code producers, Cutler suggests, “perhaps one of those code producers says, ‘Hey, I noticed that we’re not checking everything here.’”

“Hey, everybody, this strikes me as something that’s vulnerable.”

“And we all go, ‘Oh, good catch. Thanks.’”

It’s a case of getting more eyes on the subject, Cutler says. “The more people who are thinking about it, the more likely gaps are to be spotted.”

Or, Cutler jokes, “Just write code that doesn’t have bugs. We’ve been saying that for 60 years now, right?”

But it’s never as simple as it seems in any forensic drama. “The reality is, Cutler concludes, “this stuff is complicated.”

Source

Leave A Reply

Your email address will not be published.