Haseeb Qureshi es socio gerente de Dragonfly Capital, un fondo de riesgo criptográfico transfronterizo. Una versión más larga del artículo aparece en Medio .
Los préstamos flash han sido el centro de atención últimamente. Recientemente, dos piratas informáticos utilizaron préstamos flash para atacar el protocolo de comercio de margen bZx, primero en un ataque de $ 350,000 y luego en un ataque imitador de $ 600,000 .
Estos ataques fueron, en una palabra, magníficos. En cada ataque, un atacante sin dinero tomó prestados instantáneamente cientos de miles de dólares de ETH lo entregó a través de una cadena de protocolos vulnerables en cadena, extrajo cientos de miles de dólares en activos robados y luego devolvió sus préstamos masivos de ETH. Todo esto sucedió en un instante, es decir, en una sola transacción de ethereum.
No sabemos quiénes fueron estos atacantes ni de dónde vinieron. Ambos comenzaron básicamente con nada y se fueron con cientos de miles de dólares en valor. Ninguno de los dos dejó rastros para identificarse.
A raíz de estos ataques, he estado pensando mucho en los préstamos flash y sus implicaciones para la seguridad de DeFi. Creo que vale la pena pensarlo en público.
En resumen: creo que los préstamos flash son una gran amenaza para la seguridad. Pero los préstamos flash no van a desaparecer, y debemos pensar cuidadosamente sobre el impacto que tendrán para la seguridad de DeFi en el futuro.
¿Qué es un préstamo flash?
El concepto de préstamo flash se denominó por primera vez en Protocolo de mármol en 2018. El mármol se comercializó como un "banco de contrato inteligente", y su producto era una innovación simple pero brillante de DeFi: préstamos de riesgo cero a través de un contrato inteligente.
¿Cómo puede un préstamo tener riesgo cero?
Los prestamistas tradicionales asumen dos formas de riesgo. El primero es el riesgo de incumplimiento: si el prestatario se escapa con el dinero, eso obviamente apesta. Pero el segundo riesgo para un prestamista es el riesgo de falta de liquidez: si un prestamista presta demasiados de sus activos en el momento equivocado o no recibe reembolsos a tiempo, el prestamista puede ser inesperadamente ilíquido y no poder cumplir con sus propias obligaciones. [19659011] Los préstamos flash mitigan ambos riesgos. Básicamente, un préstamo flash funciona así: le prestaré todo el dinero que desee para esta única transacción. Pero al final de esta transacción, debe pagarme al menos tanto como le presté. Si no puede hacer eso, automáticamente revertiré su transacción. (Sí, los contratos inteligentes pueden hacer eso .)
En pocas palabras, su préstamo flash es atómico. Si no paga el préstamo, todo se revierte como si el préstamo nunca hubiera sucedido.
Algo como esto solo podría existir en blockchains. No podría hacer préstamos flash en, digamos, BitMEX. Esto se debe a que las plataformas de contrato inteligente procesan las transacciones de una en una, por lo que todo lo que sucede en una transacción se ejecuta en serie como una operación por lotes. Puede considerar esto como el "tiempo de congelamiento" de su transacción mientras se está ejecutando. Un intercambio centralizado, por otro lado, puede tener condiciones de carrera de modo que una parte de su pedido no se complete. En blockchain, tiene la garantía de que todo su código se ejecuta una línea después de la siguiente.

Así que pensemos en la economía aquí por un segundo. Los prestamistas tradicionales son compensados por dos cosas: el riesgo que asumen (riesgo de incumplimiento y riesgo de falta de liquidez), y el costo de oportunidad del capital que prestan (por ejemplo, si puedo obtener un 2 por ciento de interés en ese capital , el prestatario debe pagarme más que el 2 por ciento libre de riesgo).
Los préstamos flash son diferentes. ¡Los préstamos flash no tienen riesgo ni costo de oportunidad! Esto se debe a que el prestatario "se congeló" durante la duración de su préstamo instantáneo, por lo que, a los ojos de cualquier otra persona, el capital del sistema nunca estuvo en riesgo y nunca fue gravado, por lo tanto, no podría haber ganado intereses en otro lugar (es decir, no tenía un costo de oportunidad).
Esto significa, en cierto sentido, que no es un costo ser un prestamista flash. Esto es profundamente contradictorio. Entonces, ¿cuánto debería costar un préstamo flash en equilibrio (es decir, cuando la demanda del mercado y la oferta se equilibran)?
Básicamente, los préstamos flash deberían ser gratuitos. O, más adecuadamente, debería haber una tarifa lo suficientemente pequeña como para amortizar el costo de incluir tres líneas adicionales de código para hacer que un activo sea prestable.
Los préstamos flash no pueden cobrar intereses en el sentido tradicional, porque el préstamo está activo para tiempo cero (cualquier APR * 0 = 0). Y, por supuesto, si los prestamistas flash cobran tasas más altas, se verán rápidamente superados por otros grupos de préstamos flash que cobran tasas más bajas.
Los préstamos flash convierten al capital en una verdadera mercancía. Esta carrera hacia el fondo inevitablemente resulta en tarifas cero o una pequeña tarifa nominal. dYdX [trading platform] actualmente cobra tarifas cero por préstamos flash. AAVE, por otro lado, cobra un 0,09 por ciento sobre el principal por préstamos flash. Sospecho que esto no es sostenible y, de hecho, su comunidad ha llamado a reducir las tarifas a cero . (Tenga en cuenta que ninguno de los ataques que vimos usó AAVE como su grupo de préstamos flash.)
Los ataques flash tienen grandes implicaciones de seguridad
Cada vez más creo que lo que los préstamos flash realmente desbloquean son ataques flash: ataques intensivos en capital financiado por préstamos flash. Vimos los primeros atisbos de esto en los recientes hacks de bZx, y sospecho que eso es solo la punta de lanza.
Hay dos razones principales por las que los préstamos flash son especialmente atractivos para los atacantes.
1. Muchos ataques requieren mucho capital inicial (como los ataques de manipulación de oráculo). Si está obteniendo un ROI positivo en $ 10 millones de ETH, probablemente no sea un arbitraje, es probable que no tenga sentido.
2. Los préstamos flash minimizan la contaminación para los atacantes. Si tengo una idea de cómo manipular un oráculo con $ 10 millones de éter, incluso si poseo tanto éter, es posible que no quiera arriesgarlo con mi propio capital. Mi ETH se contaminará, los intercambios pueden rechazar mis depósitos y será difícil de lavar. ¡Es arriesgado! Pero si saco un préstamo instantáneo por $ 10 millones, ¿a quién le importa? Todo está al revés. No es como si el conjunto de garantías de dYdX se considerara contaminado porque de ahí vino mi préstamo: la contaminación en dYdX simplemente se evapora.
Es posible que no le guste que la lista negra de intercambio sea parte del modelo de seguridad de blockchain hoy. Es bastante blando y centralizado. Pero es una realidad importante que informa el cálculo detrás de estos ataques.
En el informe técnico de bitcoin Satoshi afirmó que bitcoin (BTC) está protegido contra ataques porque: [19659029] "[The attacker] debería ser más rentable jugar según las reglas […] que socavar el sistema y la validez de su propia riqueza".
Con los préstamos flash, los atacantes ya no necesitan tener ningún aspecto en el juego . Los préstamos flash cambian materialmente los riesgos para un atacante.

¡Y recuerde, los préstamos flash pueden acumularse! Sujeto al límite de gas, literalmente podría agregar cada grupo de préstamos instantáneos en una sola transacción (más de $ 50 millones) y reducir todo ese capital a un solo contrato vulnerable. Es un ariete de $ 50 millones que ahora cualquiera puede golpear contra cualquier piñata de la cadena, siempre que salga dinero. Esto da miedo.
¿Qué significa todo esto a largo plazo?
Creo que los ataques bZx cambiaron las cosas.
Este no será el último ataque instantáneo. El segundo ataque bZx fue el primer imitador, y sospecho que desencadenará una ola de ataques en los próximos meses. Ahora, miles de adolescentes inteligentes de las partes más remotas del mundo están hurgando en todos estos legos DeFi, examinándolos bajo un microscopio, tratando de descubrir si hay alguna manera de que puedan realizar un ataque repentino. Si logran explotar una vulnerabilidad, también podrían ganar unos cientos de miles de dólares, una suma que cambia la vida en la mayor parte del mundo.
Para los protocolos, los ataques repentinos significan que el modelo de amenaza ahora ha cambiado. Ser golpeado por un ataque de destello después de los hacks de bZx será tan vergonzoso como ser golpeado por el reencuentro después del hack de DAO: serás el hazmerreír de crypto. Deberías haberlo visto venir.
Por último, estos episodios me han hecho pensar en un viejo concepto en cripto: valor extraíble minero (MEV) . MEV es el valor total que los mineros pueden extraer de un sistema blockchain. Esto incluye recompensas y tarifas de bloque, pero también incluye formas más traviesas de extracción de valor, como reordenar transacciones o insertar transacciones ilegales en un bloque.
En el fondo, debe pensar en todos estos ataques flash como transacciones únicas en el Mempool que hacen toneladas de dinero. Por ejemplo, el segundo ataque bZx resultó en una ganancia de $ 645,000 en ETH en una sola transacción. Si eres un minero y estás a punto de comenzar a extraer un nuevo bloque, imagina mirar las transacciones del bloque anterior y decirte a ti mismo … "espera, ¿qué? ¿Por qué estoy a punto de intentar extraer un nuevo bloque por ~ $ 500, cuando ese último bloque contiene $ 645K de ganancias? ”
Todavía estamos lejos de tener una arquitectura sostenible para construir el sistema financiero del futuro.
En lugar de extender la cadena, te interesaría volver atrás y tratar de reescribir la historia de tal manera que fueras el atacante flash. Piénselo: ¡esa transacción por sí sola valió más de cuatro horas de bloques etéreos honestamente extraídos!
Esto es similar a tener un superbloque especial que contiene 1,000 veces la recompensa de bloque normal, tal como espera, el resultado racional de tal superbloque debería ser un montón de mineros que compiten para huérfanos la punta de la cadena y robar ese bloque por sí mismos.
En el equilibrio, todos los ataques rápidos deberían ser extraídos por los mineros. (Tenga en cuenta que también deberían terminar robando todo el arbitraje y liquidaciones en cadena). Irónicamente, esto servirá como un elemento disuasorio contra los ataques instantáneos, ya que dejará a los atacantes incapaces de monetizar sus descubrimientos de estas vulnerabilidades. Quizás eventualmente los mineros comenzarán a solicitar el código de ataque a través de canales privados y pagarán al posible atacante una tarifa de buscador. Técnicamente, esto podría hacerse sin confianza utilizando pruebas de conocimiento cero. (Es raro pensar en eso, ¿verdad?)
Pero eso es bastante ciencia ficción por ahora. Los mineros obviamente no están haciendo esto hoy.
Toneladas de razones. Es difícil, es mucho trabajo, la máquina virtual Ethereum apesta para simular, es arriesgado, habría errores que darían como resultado la pérdida de fondos o bloques huérfanos, causaría un alboroto y el grupo de minería deshonesto podría tener una crisis de relaciones públicas. y ser tildado de "enemigo del ethereum". Por ahora, los mineros probablemente perderían más en negocios y bloques huérfanos de lo que ganarían al tratar de hacer esto.
Eso es cierto hoy. No será cierto por mucho tiempo.
Esto da otra motivación para que ethereum se apure y haga la transición a Ethereum 2.0. DeFi on ethereum, si bien es sorprendente y fascinante, está absolutamente e irrevocablemente roto. DeFi no es estable en una cadena PoW, porque todas las transacciones de alto valor están sujetas a la reapropiación de mineros (también conocido como ataques de bandidos de tiempo ).
Para que estos sistemas funcionen a escala, necesita finalidad: la incapacidad de los mineros para reescribir bloques confirmados. Esto protegerá los bloques anteriores de ser reapropiados. Además, si existen protocolos DeFi en fragmentos Ethereum 2.0 separados, no serán vulnerables a los ataques con flash.
En mi opinión, los ataques con flash nos dan un pequeño pero útil recordatorio de que son los primeros días. Todavía estamos lejos de tener una arquitectura sostenible para construir el sistema financiero del futuro.
Por ahora, los préstamos flash serán la nueva normalidad. Tal vez a la larga, todos los activos en ethereum estarán disponibles para préstamos flash. Toda la garantía en poder de los intercambios, por Uniswap, tal vez todos los ERC-20 mismos.
Quién sabe, solo son unas pocas líneas de código.
Divulgación Leer Más
El líder en Noticias de blockchain, CoinDesk es un medio de comunicación que lucha por los más altos estándares periodísticos y cumple con un estricto conjunto de políticas editoriales . CoinDesk es una subsidiaria operativa independiente de Digital Currency Group, que invierte en criptomonedas y startups de blockchain.
.
[DISPLAY_ULTIMATE_PLUS]
Referencia: https://www.coindesk.com/the-defi-flash-loan-attack-that-changed-everything