1.45 Millones de USD robados a uno de los MEV Bots más famosos en la Web3 #0xBad #Ethereum
En lo que se refiere a SmartContracts si uno es vulnerable y se puede sacar beneficios de él entonces eventualmente será vulnerado; y es que 0xbad uno de los MEV bots más famosos de la comunidad de Ethereum perdió el pasado 27 de Septiembre 1100 WETH’s (Wrapped Ethereum) equivalente a 1.45 millones de dólares americanos a causa de un exploit en su contrato que permitía ejecutar código de manera arbitraria.
Para explicar qué es lo que ha pasado, antes hay que entender bien algunos conceptos y cómo funcionan estos MEV bots. Vamos a por la explicación, y que nos sirva para aprender.
Figura 1: 1.45 Millones de USD robados a uno de los MEV Bots más famosos en la Web3
Para explicar qué es lo que ha pasado, antes hay que entender bien algunos conceptos y cómo funcionan estos MEV bots. Vamos a por la explicación, y que nos sirva para aprender.
MEV bots
Los MEV bots o “Miner Extractable Value / Maximal Extractable Value” son bots que a través del empleo de información “privilegiada” pueden hacer uso de estrategias de arbitraje, front running y fallos para poder sacar un rédito extra de minar bloques. La información privilegiada de la que disponen este tipo de bots son todas aquellas transacciones que están en la mempool esperando a ser recogidas por algún minero para que éste la incluya en uno de sus bloques (si es que lo llega a hacer alguno).
Figura 2: Libro dedicado a "Bitcoin: La tecnología Blockchain y su investigación" de Yaiza Rubio y Félix Brezo |
Frontrunning
El Front Running es un concepto que lleva mucho tiempo en Wall Street y que también tiene cabida en el mundo crypto; no es más que el uso de información privilegiada para especular con un activo, en nuestro caso un ejemplo claro sería aquel en el cual una transacción enviada a la Blockchain hace que un activo suba de precio x2, el minero lo que haría es comprar ese activo y después justo añadir la transacción que hace que el precio suba.
Los MEV bots suelen estar bastante mal considerados en la comunidad precisamente por usar este tipo de estrategias y similares en las que con diferentes algoritmos y la información de la mempool tratan de sacar beneficio de cualquier manera como con el ejemplo anterior. Cabe destacar que las dinámicas que se acaban generando son dañinas para el usuario normal y corriente.
Antes de la actualización de Ethereum 2.0 que supuso el paso del uso de PoW (Proof of Work) a PoS (Proof of Stake) solo aquellos nodos mineros notables (que tienen poder computacional para validar) podían usar este tipo de bots ya que una pieza clave para que este sistema funcione es el de poder coger una transacción de la mempool e incluirla en el mismo bloque junto con la del bot, de lo contrario te arriesgas a que otra persona lleve a cabo la estrategia en un nuevo bloque antes de que tu envíes la tuya.
Figura 3: Diferencia entre Wallet y Smart Contract Account
Sin embargo los SmartContracts nos permiten realizar distintas acciones en una misma transacción, cosa que es muy útil sobre todo en este caso. Este tipo de cuentas se espera que sean el futuro de Ethereum ya que en palabras de su propio creador en ellas residen muchas posibles soluciones a problemas que dificultan la adopción masiva de la blockchain. (EIP-4337 para más detalles).
Flashbots
Para que el sistema que usan los MEV bots funcione es necesario que estos puedan introducir de manera inmediata transacciones en la cadena de Blockchain, sin tener que pasar por la mempool ya que de otra manera otro MEV bot podría adelantarse a su estrategia. Además en muchas de sus estrategias necesitan poder añadir y ordenar de manera específica transacciones que están en la mempool a espera de ser procesadas; por ello este tipo de bots usan una tecnología llamada Flashbots.
Figura 4: “MEV bots making money from the mempool”
Ataque a 0xbad
Durante los últimos 85 días el bot 0xbad ha estado en activo sacando una gran rentabilidad a su algoritmo de búsqueda de oportunidades. Pero estas rentabilidades las ha sacado a costa de ejecutar cualquier tipo de acción que le reportara un beneficio aunque este fuera mínimo, tanto que ha sido esta misma característica la que le ha hecho perder 1.45 millones de USD.
El atacante creó un honeypot con el que logró que el bot ejecutase una transacción con código que delegaba a un SmartContract creado por el atacante en el que esté a su vez llamaba a la función “approve” del contrato de WETH con su address, inmediatamente después transfirió los WETHs desde la cuenta de 0xbad a la suya . Esta es la transacción en la que se ejecuta el “approve” y esta otra en la que se roban los fondos.
Figura 5: Transacción del ataque
Esto fue posible por que el bot para, poder sacar esa rentabilidad “extra” autorizaba a entidades sin verificación previa, hizo el que gastaran y aprobarán sus tokens por él. De manera normal usando las pools de liquidez de UniSwap no hubiera pasado nada, pero es que el honeypot había sido montado en dxdy que permite código personalizable en sus pools de liquidez.
Después del ataque los creadores de 0xbad enviaron un mensaje a través de la cadena de Blockchain que decía:
“”” Congratulations on this, we got careless and you sure managed to get us good, that was not easy to see. We would like this cooperate with you on resolving this matter. Return the funds to XXX before September 28 at 23:59 GMT and we will consider this a whitehat, we will give you 20% of the retrieved amount as a bug bounty, payable as you see fit. Should the funds not be returned by then, we will have no choice but to pursue accordingly with everything in our power with the appropriate authorities to retrieve our funds. “”
A lo que posteriormente contestó el atacante:
“”” What about normal people who you have mev'ed and literally fucked them? Will you return them? Return the funds to all people before September 28 at 23:59 GMT and we will consider this a whitehat, we will give you 1% of the retrieved amount as a good heart sign, payable as you see fit. Should the funds not be returned by then, we will have no choice but to pursue accordingly with everything in our power with the appropriate authorities to retrieve our funds. “””
Como se puede apreciar no hay muy buena relación entre la comunidad y los bots MEV y es que muchas veces estos hacen perder posiciones importantes en las pools de liquidez a la gente normal o incluso subir el precio de un activo cuando ven una transacción a un DEX que no tiene fijado precio límite mínimo del swapping.
Conclusiones finales
La tecnología creada sobre Blockchain y el mundo del Tokenomics es aún un ecosistema joven y aún queda mucho por explorar y descubrir, pero lo que es seguro es que aun en sus etapas “iniciales” es importante siempre cuidar la seguridad de los sistemas o pueden llegar a ocurrir problemas como éste.
Más artículos de Web3, Blockchain & SmartContracts
- Blockchain & SmartContracts: Una serie para aprender
- BlockChain & SmartContrats: Primer SmartContract con Solidity
- Blockchain & SmartContracts: Cómo probar y desplegar un SmartContract en Ethereum
- WWW, Web 1.0, Web 2.0, Web 3.0, Web3 y ¿Web 4.0?
- Metaverso, multiverso y las tierras digitales en que vivimos en forma de avatar
- Los Fan Tokens vs. las Criptomonedas y los NFTs: Level 101
- Tokenomics: Las criptomonedas y las "Proof-of-work": Level 101
- Los NFTs y el registro mundial de los dueños de activos digitales en el Metaverso
- BitCoin: Blockchain y su investigación
- BlockChain & SmartContrats: El Internet descentralizado y el almacenamiento off-chain en IPFS
- Reentrancy Attack: Cómo te roban criptomonedas por un bug en tu SmartContract
- BlockChain & SmartContract: Bugs que pueden dejar tu SmartContrat "fuera de juego"
- Blockchain & SmartContracts: Patrones y buenas prácticas de seguridad
- Blockchain & SmartContracts: Herramientas de Auditoría de Seguridad de SmartContracts
- BlockChain & SmartContracts: Ataque de phishing a tx.origin y robo de criptomonedas
- BlockChain & SmartContracts: Ataques de Ice Phishing
- Blockchain & SmartContracts: Herramientas de análisis dinámico
- ZIION: Una distribución Linux para auditar SmartContracts (& BlockChain)
- Dominios Web3 en Etherenum Name Service y la trazabilizad de las transacciones Blockchain
- BlockChain & SmartContracts: Actualizar SmartContracts como los grandes protocolos
- Jumping level up (from) web2 (to) web3: Vulnerabilities & SCAMs - SmartContracts
- 20 millones (Euros) en Tokens de Optimism perdidos por no saber cómo funcionan los Wallets Multifirma
- BlockChain & SmartContracts: Cómo crear una DApp de la Web3 con Python (y Flask)
- 570M de USD robados en Tokens BNBs de la Binance Smart Chain (BSC)
- Tokenomics 101: Una explicación con gráficos
- 1.45 Millones de USD robados a uno de los MEV Bots más famosos en la Web3
No hay comentarios:
Publicar un comentario