Introducción al MEV - MEV SERIES Vol.1

Escrito por Pröfesor Utonio, miembro de DeFi LATAM.

MEV es la sigla de ‘Maximal Extractable Value’ (Valor máximo extraíble), antes llamado ‘Miner Extractable Value’. El término fue originalmente utilizado en el documento Flashboys 2.0, en el que se describe cómo actúan estos individuos o grupos y el problema que conlleva para la network.

MEV es el valor económico que pueden extraer los block proposers (validators en PoS, miners en PoW, sequencers en rollups) a través de la habilidad de incluir, censurar o reordenar transacciones arbitrariamente en los bloques que crean. Ya que son actores privilegiados en el consenso de la blockchain, pueden decidir qué transacciones incluyen en sus bloques y cuales ignoran.

Sin embargo, por más que los mineros sean los encargados de organizar los transacciones dentro de los bloques que construyen, los que realmente extraen el valor son los arbitradores, quienes le pagan al minero en forma de ‘soborno’ un porcentaje de las ganancias obtenidas por el servicio de re-organizacion que los mineros le ofrecen.

El valor extraíble se encuentra tanto en liquidaciones en protocolos de lending, arbitrajes entre exchanges descentralizados, sandwich attacks y frontrunning, entre otros. 

Al enviar una transacción, el usuario debe setear el gas en base al costo de transaccionar en la red en ese momento especifico, lo que determinará si su transacción es finalmente procesada o deberá esperar un tiempo mayor al estándar. Las transacciones que no son procesadas inmediatamente, se almacenan en la mempool – una base de datos local de transacciones en cada nodo a la espera de ser confirmadas - 

Debido a que en Ethereum se crean bloques nuevos cada 12/14 segundos (blocktime), y dado que cada bloque sólo puede contener un número limitado de transacciones, los block producers (mineros) tienen la última palabra en cuanto a qué transacciones escogen y procesan primero de su mempool local.

Esto quiere decir que no hay un orden secuencial sobre qué transacción se envió primero, es más bien arbitrario. Si un usuario envía una tx, pero llega otro usuario dispuesto a pagar un mayor fee, su transacción muy probablemente sea procesada primero.

Por cada transacción que el block producer procesa (en Ethereum, el minero) recibe una porción de los fees que se cobra al usuario, además del block reward por crear el nuevo bloque. El MEV trae una nueva variable a la ecuación: ya que el minero es el que decide qué transacciones se procesan primero en su bloque, y debido a que el fin de éstos es maximizar ganancias, procesarán primero las transacciones en las que los usuarios oferten el mayor gasfee.

Ejemplos:

El arbitraje entre DEXs es la forma más común de extraer MEV. El desbalance en los precios de diversos pares que se generan en los exchanges descentralizados dejan abierta la posibilidad de arbitraje para obtener ganancias. Básicamente, se trata de comprar barato en un AMM (Uniswap, Sushiswap) y vender más caro inmediatamente en otro.

En este ejemplo, un bot de arbitraje obtuvo una ganancia neta de $137k, convirtiendo 207 ETH en 247 ETH de inmediato. Pero para que su transacción sea minada primero tuvo que pagar $21k de fee elevando artificialmente el gwei hasta 47.589,56.

Pero como es una red pública, no somos los únicos al acecho: En este escenario entran los searchers, individuos/grupos que corren software automatizado (bots) para monitorear la mempool pública en busca de oportunidades de extraer este valor.

Estos bots exploran la mempool y verifican las transacciones pendientes de todos los usuarios de la red, detectan estas oportunidades y copian exactamente los datos de la transacción (txid) a la que buscan anteponerse, ofertando un mayor gasfee para que el minero la escoja primero por encima de la transacción original. Esto es lo que se llama frontrunning o Priority Gas Auctions (PGA)

Dependiendo de cuán alto es el profit, el minero puede decidir en última instancia insertar su transacción por encima de las demás y apropiarse de ésta. Actuando económica y racionalmente, obtienen mayores ganancias aparte de los block rewards y fees de la red.

Al configurar un slippage alto (tolerancia ante el deslizamiento de precios) quedamos expuestos al frontrunning. Cuando hacemos un swap y colocamos un slippage alto, estamos aceptando que de moverse el precio del activo, estaremos de acuerdo. Si un bot detecta esto, enviará 2 transacciones a al red:

  • La compra del mismo activo, copiando el txid de nuestra operación pero ofertando un mayor gasfee que el nuestro, para que su tx se confirme primero.
  • La venta de este activo, pero ofertando un gasfee ligeramente menor al nuestro. De esta forma, el bot comprará el activo que estamos intentando comprar y nos lo venderá inmediatamente a un precio mayor al original (a esto se lo llama Sandwich attack).

Así, los bots manipulan el precio sin que los usuarios siquiera lo noten debido a un alto slippage.

Pros y contras:

En un mercado eficiente, estos bots son de utilidad para equilibrar los desbalances en los precios entre diferentes exchanges descentralizados y ayudan a los protocolos de lending realizando liquidaciones para que no quiebren y puedan seguir operando de forma eficiente.

Pero así como son de ayuda, también perjudican a los usuarios finales: los bots de arbitraje compiten entre sí por obtener el arbitraje ofertando cada vez mayores fees, como una especie de subasta, lo que termina inflando artificialmente el precio del gas de la red, volviéndola prohibitiva. 

Timebandit attack: Es un tipo de ataque al consenso que involucra la reorganización de bloques pasados en los que se puede extraer una gran cantidad de MEV.

Supongamos que en un contexto de una caída brusca en el mercado, se genera una gran liquidación en el vault ETH-A de MakerDAO, por un valor de 100 ETH. En este escenario, el minero que crea el bloque puede elegir insertar su transacción en el mismo y apropiarse de la liquidación o dejar que otro la tome, si los fees que recibe lo incentivan a hacerlo.

El comportamiento que se espera de los siguientes mineros sería el de añadir nuevos bloques sobre la blockchain más longeva, y seguir extendiendo la blockchain. Pero conociendo el valor que puede ser extraído de la liquidación del bloque anterior (100 ETH), el nuevo minero puede escoger no seguir extendiendo la blockchain más larga y reescribir la historia para capturar el MEV del bloque anterior (re minar). Esta es una reorganización de 1 bloque, pero si los incentivos son suficientes (Por ejemplo, si el MEV capturable > block reward), pueden ocurrir reorganizaciones de +3 bloques para tratar de capturar el MEV del pasado.

Este es un problema grave para la red, el consenso y los usuarios en general, ya que se podría generar una guerra en la que los mineros al querer capturar este gran valor que se puede extraer, intenten reorganizar infinitamente bloques anteriores sin dejar avanzar la blockchain.

Cuanto más MEV haya para extraer, mayores serán los incentivos para realizar este tipo de ataque.

Flashbots es un colectivo independiente de hackers éticos formado con el fin de mitigar el impacto que genera la extracción de MEV (ej: congestión de la red, inflación artificial del gas, etc) y democratizar el acceso al mismo en Ethereum, tanto de los pequeños participantes como los grandes.

La organización desarrolló el cliente modificado de GoEthereum, MEV-geth, el cual enruta las transacciones de los usuarios hacia los mineros de manera privada sin pasar por la mempool pública, por lo que no pueden ser vistas por el resto de la red, previniendo el frontrunning y optimizando la comunicación entre searchers y mineros. Con esto, cualquiera puede pagar un bribe privado a los mineros para ejecuten su transacción antes de que nadie mas tenga oportunidad.

Recientemente lanzaron Flashbots Protect, un RPC para agregar en la wallet al que los usuarios finales pueden acceder y enviar directamente las transacciones hacia los mineros que corren el cliente mev-geth. Actualmente el 90% del hashrate de Ethereum corren geth-mev.

Flashbots cuenta con un dashboard con diversas métricas, algunas de ellas:

https://dashboard.flashbots.net/network
https://dashboard.flashbots.net/network

Lógicamente, la extracción de MEV se concentra en los principales AMM de Ethereum (Uniswap V2/Sushiswap) con 66% del valor total extraíble entre los dos, ya que es el lugar por excelencia para realizar arbitrajes. La gran parte de las operaciones que incluyen MEV son arbitrajes (96%)

Subscribe to SEED Latam
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.