Logo
Nuevos usuarios de RPC: 35% de descuento el primer mesVer oferta
OnFinality Learn
Guías de Red y Protocolo11 min de lectura

Significado de MEV: Valor Máximo Extraíble Explicado para Desarrolladores de Blockchain

Una explicación práctica del significado de MEV, cómo el orden de las transacciones crea valor extraíble y cómo medirlo y razonar sobre ello en tu propia infraestructura.

TL;DR

MEV significa valor máximo extraíble: la ganancia que los productores de bloques u otros participantes privilegiados pueden capturar al elegir qué transacciones incluir, excluir o reordenar dentro de un bloque, más allá de la recompensa estándar por bloque y las tarifas de gas. El término comenzó como "valor extraíble por mineros" en prueba de trabajo y fue renombrado después de que la prueba de participación convirtiera a los validadores en la autoridad de ordenamiento. Este artículo explica el mecanismo, recorre una forma reproducible de inspeccionar los efectos del ordenamiento usando tu propio endpoint RPC, y separa el comportamiento documentado del protocolo de las mediciones que debes ejecutar tú mismo. También cubre solución de problemas, compensaciones y hacia dónde ir después para infraestructura de endpoints.

Qué significa MEV en contextos de blockchain

En las discusiones sobre blockchain, MEV es un acrónimo de valor máximo extraíble. Se refiere a la ganancia máxima que un participante con poder de ordenamiento puede capturar al incluir, excluir o reordenar transacciones dentro de un bloque, por encima de la recompensa ordinaria por bloque y las tarifas de gas que pagan esas transacciones. El concepto se llamó originalmente valor extraíble por mineros porque los mineros de prueba de trabajo controlaban la construcción de bloques. Después del cambio de Ethereum a prueba de participación, los validadores asumieron ese rol, por lo que el término más amplio es ahora el estándar.

Las mismas tres letras también significan mega-electronvoltio en física, una unidad de energía. Ese es un dominio completamente diferente. En un contexto Web3, si alguien pregunta sobre el "significado de MEV", casi siempre se refiere al concepto de ordenamiento de transacciones que se describe aquí.

  • MEV = valor máximo extraíble (ordenamiento de transacciones en blockchain).
  • Anteriormente valor extraíble por mineros; renombrado para prueba de participación y uso multicadena.
  • Se mide en relación con una línea base de recompensa normal por bloque más tarifas de gas.
  • No es inherentemente malicioso, pero algunos patrones de extracción perjudican a los usuarios ordinarios.

Alcance, supuestos y lo que este artículo no afirma

Este artículo asume que estás familiarizado con transacciones, bloques, gas y JSON-RPC. No publica cifras de referencia de ningún proveedor, no afirma qué redes soportan qué herramientas de MEV y no asegura tamaños de mercado actuales. Cualquier cifra que veas en otro lugar debe tratarse como sensible al tiempo y volver a medirse con tus propios datos.

Donde este artículo describe el comportamiento del protocolo, refleja cómo se documenta que funcionan la producción de bloques y el ordenamiento de transacciones. Donde describe la medición, te da un procedimiento para ejecutar contra tu propio endpoint RPC, de modo que los resultados sean tuyos, no prestados.

El modelo mental: el ordenamiento es un recurso escaso

Un bloque tiene espacio limitado, y el orden de las transacciones dentro de él cambia los resultados. Si dos swaps tocan la misma piscina de liquidez, el segundo se ejecuta a un precio diferente que el primero. Si una liquidación se vuelve rentable en un bloque específico, quien incluya primero la transacción de liquidación captura la recompensa. Por lo tanto, el ordenamiento tiene valor económico, y la parte que decide el ordenamiento puede dirigir ese valor.

Los roles comunes son: buscadores, que ejecutan algoritmos para encontrar ordenamientos rentables; constructores, que ensamblan paquetes de transacciones en bloques candidatos; y validadores (o mineros), que proponen bloques y en última instancia deciden qué se incluye. Los usuarios y las aplicaciones están del otro lado, a menudo pagando el costo de un ordenamiento adverso sin verlo directamente.

  • Los buscadores detectan oportunidades y envían paquetes.
  • Los constructores compiten por construir el bloque más rentable.
  • Los validadores proponen bloques y capturan una parte del valor.
  • Los usuarios experimentan MEV como deslizamiento, transacciones fallidas o peores ejecuciones.

Patrones comunes de MEV y cómo se ven en la cadena

Los patrones a continuación son categorías documentadas. Reconocerlos te ayuda a interpretar datos de bloques sin procesar cuando ejecutas tus propias mediciones.

El arbitraje en DEX corrige diferencias de precios entre piscinas y a menudo se considera benigno o incluso útil para la eficiencia del mercado. Las liquidaciones recompensan a quien cierra primero una posición subcolateralizada. Los ataques sándwich envuelven el swap de un usuario con una compra antes y una venta después, moviendo el precio en contra del usuario. El frontrunning generalizado copia una transacción pendiente rentable y envía una competidora con mejores términos. El MEV de NFT abarca el sniping de artículos recién listados o la explotación de mecánicas de acuñación.

  • Arbitraje: generalmente mejora la eficiencia, sigue siendo competitivo.
  • Liquidaciones: sensibles al tiempo, la recompensa va a la primera inclusión.
  • Sándwich: perjudica directamente al usuario atrapado.
  • Frontrunning: copia genérica de actividad pendiente rentable.
  • Sniping de NFT: ventajas de ordenamiento en torno a acuñaciones y listados.

Requisitos previos para medir MEV por ti mismo

Para inspeccionar los efectos del ordenamiento necesitas un endpoint RPC que sirva bloques históricos y recibos de transacciones, además de un entorno de scripting. Puedes usar un endpoint público para exploración ligera, pero para consultas repetidas y rangos de bloques más grandes un endpoint dedicado es más predecible. El servicio de API RPC y las ofertas de nodos dedicados de OnFinality son opciones a evaluar junto con otras; la elección del proveedor es una decisión separada del método de medición.

También debes decidir qué cadena y rango de bloques te interesan. El comportamiento de MEV difiere según la red, así que comienza con una cadena y una ventana acotada en lugar de intentar cubrirlo todo a la vez.

export RPC_URL="https://your-endpoint.example"
export CHAIN_ID="1"
# Confirm the endpoint responds before running any analysis
curl -s -X POST "$RPC_URL" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

Un procedimiento reproducible para inspeccionar el orden de los bloques

El objetivo es extraer un bloque, listar sus transacciones en orden y registrar suficientes metadatos para razonar sobre el ordenamiento. Esto por sí solo no prueba que se extrajo MEV; te da la materia prima para clasificar patrones.

Ejecuta el script a continuación contra tu endpoint, reemplazando el número de bloque por uno que quieras inspeccionar. La salida es una tabla de hashes de transacciones, remitentes, destinatarios y precios de gas en el orden del bloque.

import os, json, urllib.request

RPC_URL = os.environ["RPC_URL"]
BLOCK = "0x" + format(19000000, "x")

def rpc(method, params):
    req = urllib.request.Request(
        RPC_URL,
        data=json.dumps({"jsonrpc":"2.0","id":1,"method":method,"params":params}).encode(),
        headers={"Content-Type":"application/json"},
    )
    with urllib.request.urlopen(req, timeout=30) as r:
        return json.load(r)["result"]

block = rpc("eth_getBlockByNumber", [BLOCK, True])
print("block", block["number"], "txs", len(block["transactions"]))
for i, tx in enumerate(block["transactions"]):
    print(i, tx["hash"], tx["from"], tx.get("to"), tx.get("gasPrice"))

Resultado de verificación esperado y cómo leerlo

Una ejecución exitosa imprime el número de bloque, el conteo de transacciones y una línea por transacción en el orden en que el bloque las lista. Ese ordenamiento es el objeto de estudio. Si el conteo de transacciones es cero o la llamada da error, el endpoint o el número de bloque es lo primero que debes revisar.

Cuando amplíes el script para clasificar transacciones, registra los resultados en una tabla para que las ejecuciones sean comparables. Una plantilla como la siguiente mantiene tus mediciones honestas: completas los números de tus propias ejecuciones y anotas la cadena, el rango de bloques y la marca de tiempo para cada fila.

  • | Ejecución | Cadena | Rango de bloques | Transacciones escaneadas | Arbitraje candidato | Sándwiches candidatos | Notas |
  • |-----|-------|-------------|----------------------|---------------------|----------------------|-------|
  • | 1 | (tu cadena) | (inicio-fin) | (medido) | (medido) | (medido) | (notas del método) |
  • | 2 | (tu cadena) | (inicio-fin) | (medido) | (medido) | (medido) | (notas del método) |

Solución de problemas comunes de medición

El endpoint devuelve null para el bloque. El bloque puede estar fuera del rango que tu proveedor conserva, o el número puede ser futuro. Confirma el último bloque con eth_blockNumber y elige un bloque por debajo de él.

Límites de velocidad o tiempos de espera durante escaneos masivos. Los endpoints públicos a menudo limitan la velocidad. Agrupa solicitudes, añade retroceso exponencial o cambia a un endpoint dedicado. Consulta la guía de endpoints RPC para prácticas generales.

Las transacciones aparecen fuera del orden esperado. Algunos clientes devuelven las transacciones en el orden en que el bloque las lista, que es el orden canónico. Si necesitas trazas de ejecución, usa debug_traceBlockByNumber solo si tu endpoint lo soporta; no todos lo hacen.

Faltan recibos para algunas transacciones. Los recibos pueden retrasarse respecto a la obtención del bloque en algunos proveedores. Reintenta después de un breve retraso o busca los recibos individualmente con eth_getTransactionReceipt.

curl -s -X POST "$RPC_URL" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Limitaciones y compensaciones de este enfoque

La inspección a nivel de bloque muestra el ordenamiento pero no la intención. Una transacción que parece un sándwich puede ser un par de operaciones no relacionadas. La clasificación requiere heurísticas, y las heurísticas producen falsos positivos. Trata cualquier conteo como una estimación y documenta tus reglas.

La profundidad histórica varía según el proveedor. Algunos endpoints solo conservan bloques recientes, por lo que los estudios de largo alcance pueden necesitar un endpoint con capacidad de archivo. El costo y la latencia se compensan con la profundidad y la fiabilidad; una descripción general de precios te ayuda a comparar niveles antes de comprometerte con un escaneo grande.

Por último, MEV es adversarial y cambia rápido. Los patrones que eran comunes en un momento pueden ser desplazados por nuevos mecanismos. Vuelve a ejecutar tus mediciones periódicamente en lugar de confiar en una sola instantánea.

Dónde encaja MEV en tus decisiones de infraestructura

Si estás construyendo un buscador, un explorador de bloques o una tubería de análisis, tu capa RPC es parte de la medición. El ordenamiento consistente, el acceso histórico fiable y los límites de velocidad predecibles importan más que el rendimiento máximo para la mayoría de las cargas de trabajo de análisis. Revisa las redes soportadas para confirmar que la cadena que necesitas está disponible, y considera un nodo dedicado si tus escaneos son de larga duración.

Para equipos que solo necesitan un endpoint rápido para explorar una cadena, las recomendaciones breves del RPC Assistant son un camino más rápido que una evaluación completa de proveedores. El método técnico de este artículo sigue siendo el mismo independientemente del endpoint que elijas.

Próximos pasos: de la definición a la práctica

Comienza con una cadena y un día de bloques. Ejecuta el script de inspección, registra tu tabla y refina tus reglas de clasificación hasta que la tasa de falsos positivos sea aceptable para ti. Luego amplía el rango y compara ejecuciones.

Si quieres profundizar en el lado de la infraestructura, lee la guía de alojamiento de nodos blockchain y la guía de endpoints RPC multicadena. Cuando estés listo para elegir un endpoint para trabajo sostenido, el mejor proveedor RPC para proyectos Web3 del RPC Assistant es un punto de partida razonable.

Nunca te preocupes por la infraestructura nuevamente

OnFinality elimina la carga pesada de DevOps para que puedas construir de forma más inteligente y rápida.

Comenzar