Fuente: medium.com
Autor:Dominik Harz
Recopilación: almacén de primera
Sin el retraso de la introducción de un nuevo contrato de gobierno, es posible que robe todas las garantías de Maker (700 millones de dólares) y utilice préstamos rápidos para emitir cualquier cantidad de Dai.
Cualquiera puede realizar el ataque, solo necesita pagar la tarifa de transacción (unos pocos dólares), sin tener ningún MKR.
Si Maker no introduce un retraso antes de que el fondo de liquidez del grupo de préstamos flash supere un umbral, hay pocas posibilidades de detener el ataque (condición de carrera).
Maker sabía sobre el ataque y realizó una votación el 21 de febrero para evitarlo.
Introducción
Maker y su moneda estable Dai son los proyectos de finanzas descentralizadas (DeFi) más populares en Ethereum, con alrededor de $ 700 millones bloqueados en contratos inteligentes. El Protocolo Maker se basa en procesos de gobernanza codificados en contratos inteligentes. Los titulares de tokens MKR pueden votar para reemplazar el contrato de gobierno existente, con votos proporcionales a las tenencias de MKR. El número total de tokens MKR es de aproximadamente 987530, con carteras o contratos seleccionados que contienen una gran cantidad de tokens:
[Contrato de gobernanza de Maker: 192910 MKR] Maker Foundation: 117993 MKR a16z: 60000 MKR 0xfc7e22c6afa3ebb723bdde26d6ab3783aab9726b: 51291 MKR 0x000be27f560fef0253cac4da84614K359
Nota: El contrato de gobierno de Maker contiene tokens MKR para varias partes.
Ataque a la gobernanza
En diciembre de 2019, Micah Zoltu señaló cómo atacar los contratos de gobernanza. La idea básica es acumular suficientes tokens MKR para reemplazar el contrato de gobierno existente con el contrato de gobierno malicioso del atacante. De esta manera, un contrato de gobierno malicioso podría otorgar a un atacante el control total sobre el sistema y retirar cualquier garantía en el sistema y Dai.
Para reducir la cantidad de tokens MKR necesarios, propone realizar el ataque al votar sobre nuevos contratos de gobierno. Actualmente, 192 910 tokens MKR están bloqueados en el contrato de gobierno. Sin embargo, si se votan dos o tres contratos en paralelo con distribuciones de fichas similares, el atacante necesitará menos fichas.
Gate.io abrirá la 117.ª ronda de votación para la cotización de divisas a las 12:00 de hoy. RAGE: Según el anuncio oficial, Gate.io abrirá la 117.ª ronda de votación para el proyecto de cotización de divisas a las 12:00 de abril. 19 (hoy) Rage.Fan (RAGE), la fecha límite para votar es el 20 de abril de 2021 a las 10:00 am. En esta ronda de votaciones, si RAGE obtiene 10 millones de votos, Gate.io lanzará el comercio de RAGE a USDT, y los usuarios que participen en la votación podrán compartir un total de alrededor de 100 000 RAGE (10 000 USD) en recompensas de airdrop. [2021/4/19 20:35:19]
Esto solía suceder mucho en el pasado, como se muestra en la siguiente imagen:
La estrategia de ataque obvia es financiar colectivamente los tokens MKR requeridos a través de contratos inteligentes y pagar a cada atacante una parte de la recompensa. Sin embargo, es probable que un atacante necesite acumular alrededor de 50 000 tokens MKR para tener la posibilidad de atacar el sistema sin que Maker se dé cuenta de estos movimientos.
Nueva estrategia de ataque: préstamos rápidos
Sin embargo, si consideramos los préstamos flash, el requisito de una gran cantidad de tokens MKR puede eliminarse por completo. Los préstamos flash son un concepto bastante nuevo, por lo que aquí se brinda una breve explicación. Por lo general, los prestatarios deben proporcionar garantías para obtener préstamos en proyectos DeFi. Por ejemplo, en Maker, A puede pedir prestado Dai depositando ETH. Esto se requiere, y esto opera bajo el modelo de identidades débiles y agentes económicamente sólidos.
Los préstamos flash eliminan este requisito, ya que solo ocurre en una sola transacción:
1.A extrae préstamos de proveedores de liquidez de préstamos flash como Aave o dYdX.
2.A ejecuta alguna acción (p. ej., comercio de arbitraje en Uniswap, Fulcrum, Kyber, etc.).
A pagó el préstamo flash con intereses.
Los préstamos flash funcionan debido a la forma en que está diseñada la máquina virtual Ethereum:
Si en algún momento durante esa transacción, el Préstamo Flash falla, se revertirá toda la transacción. Por lo tanto, A puede asumir el riesgo del préstamo de forma gratuita, y si no puede devolver el préstamo, será como si nunca lo hubiera tomado. Los proveedores de liquidez también ganan: solo prestan fondos si A puede pagar el préstamo.
Arbitraje manipulativo con préstamos flash y oráculos
El 14 y el 18 de febrero, ocurrieron dos incidentes relacionados con préstamos flash, lo que provocó que bZx detuviera la plataforma. En la primera transacción, un solo préstamo flash obtuvo 1193 ETH (aproximadamente $298 250) en ganancias. La operación se ejecutó mediante un contrato inteligente que abrió una posición corta en Fulcrum en wBTC. En la misma transacción, que obtuvo un préstamo de wBTC de Compound y negoció wBTC en la reserva Uniswap de Kyber, lo que provocó un deslizamiento que finalmente también redujo el precio de Fulcrum, se puede encontrar en los detalles completos de la autopsia de bZx.
(Nota de almacén de primera clase: Fulcrum es un producto que proporciona métodos simples y efectivos de negociación de préstamos y márgenes, y afirma que actualmente es la primera y única plataforma de margen libre de confianza, libre de autorización, libre de tarifas de manejo y sin necesidad para crear una cuenta.)
Asimismo, el segundo incidente tuvo lugar el 18 de febrero, obteniendo una ganancia de 2.378 ETH (aproximadamente $600.000) en una sola transacción. La transacción involucró un préstamo inicial de 7500 ETH para tomar una posición larga en el sUSD de Synthetix .
Para el ataque, se supone que 50k MKR es suficiente. Aunque en la práctica la cantidad de tokens podría ser mucho mayor, ¿cómo es que el concepto de préstamos rápidos dificulta asegurar a Maker sin causar demoras en el gobierno? En un enfoque ingenuo, un atacante podría obtener un pequeño préstamo para comprar tokens de 50,000 MKR.
Al tipo de cambio actual, el atacante necesitaría aproximadamente 485 000 ETH para comprar esa cantidad de MKR, y solo un intercambio, Kyber, tiene suficiente capacidad disponible. Sin embargo, el atacante también podría usar múltiples intercambios para comprar 38k MKR de Kyber, 11.5k MKR de Uniswap y 500 MKR de Switcheo, por un total de 378,940 ETH. ¡Este número sigue siendo alto, pero se ha reducido en casi 100,000 ETH!
Un atacante puede usar la estrategia de manipulación del oráculo anterior para reducir efectivamente el precio de MKR en Kyber y Uniswap. Estos son los dos mayores proveedores de MKR y han demostrado ser vulnerables a la manipulación de precios de Oracle, se necesita más análisis para determinar cuánto más bajo puede ser el precio de MKR. Sin embargo, en una moneda menos líquida como wBTC, el atacante pudo manipular las fluctuaciones de precios en aproximadamente un 285%.
Incluso con las operaciones de Oracle, se requiere una gran cantidad de ETH para realizar un ataque a Maker. Un atacante puede aumentar su liquidez extrayendo dos préstamos rápidos en la misma transacción. Aave y dYdX se protegen contra la reentrada y solo permiten un préstamo flash en una sola transacción, pero un atacante puede tomar prestado ETH de ambos protocolos en la misma transacción.
Plan combinado
Obviamente, se pueden combinar el crowdfunding y los préstamos flash. Usando ~107k ETH de liquidez disponible, es posible obtener ~10800 MKR de Kyber. Esto permite que múltiples atacantes reduzcan la cantidad requerida de un MKR combinado de 50k a aproximadamente 39.2k MKR. Como muestra una encuesta informal de Twitter, algunas personas parecen estar interesadas en este tipo de ataque:
También se debe tener en cuenta que los cuatro principales titulares de cuentas (en realidad cinco, pero sin considerar el contrato de gobierno de Maker actual) pudieron llevar a cabo el ataque sin financiación colectiva.
El mejor momento para atacar
Una vez que se puede obtener suficiente liquidez (con o sin una combinación de operaciones de Oracle) a través del grupo de préstamos flash, cualquiera puede hacerse cargo del contrato de gobierno de Maker. Cuando el grupo de liquidez alcanza ese umbral, una vez que los Makers comienzan a votar, los Makers deben asegurarse de que se asignen la menor cantidad posible de tokens MKR. Esta vulnerabilidad podría explotarse si MKR se distribuyera en cualquier momento durante este proceso de votación, cualquier garantía podría eliminarse.
Un atacante podría robar $ 700 millones en garantía ETH y podría crear nuevos Dai a voluntad. Dado que Dai se utiliza como garantía de respaldo para otros protocolos, este tipo de ataque impregnaría los proyectos DeFi en su conjunto. Además, el atacante pudo cambiar su Dai por alrededor de $ 230 millones en otras monedas.
Contramedidas
Maker debería revisar el nuevo contrato de gobernanza para evitar que los préstamos flash ataquen su sistema. Específicamente, Maker Foundation debería poder verificar nuevos contratos de gobierno en busca de código malicioso y permitir suficiente tiempo para reaccionar. Como mínimo, los nuevos contratos de gobernanza no deberían entrar en vigor en una sola transacción. De esta forma, es posible que el atacante no pueda beneficiarse del ataque para pagar el préstamo flash.
Si el atacante no puede pagar el préstamo flash, el ataque nunca ocurre.
Maker someterá dichos contratos a votación el 21 de febrero de 2020. El contrato propuesto activará el Módulo de Seguridad de la Gobernanza y evitará tales ataques de préstamos rápidos.
Tags:
El 12 de febrero, Lakala anunció que Beijing Kaola Kunpeng Technology Growth Fund completó la presentación de un fondo de capital privado.
Las principales divisas experimentaron una fuerte corrección durante el día de ayer y luego se recuperaron fuertemente por la noche.
La Comisión de Bolsa y Valores de Chipre (CySEC) publicó recientemente un informe que analiza las actividades en curso en su Centro de Innovación.
Fuente: medium.comAutor:Dominik Harz Recopilación: almacén de primera Sin el retraso de la introducción de un nuevo contrato de gobierno.
Investigador principal del Instituto de Investigación Blockchain de la Universidad Renmin de China: El RMB digital se convertirá en el "dinero en efectivo" más seguro de la sociedad humana: Según las noticias del 19 d.
Sveriges Riksbank pronto probará una moneda digital nacional basada en blockchain, pero la e-krona puede ser, en el mejor de los casos.
Durante mucho tiempo, como una importante herramienta de inversión, ETF ha sido bien conocido por muchos inversores.