Profundizando en las implicaciones de seguridad de la estructura de tarifas en un protocolo CDP

Avanzado11/26/2024, 6:59:35 AM
Este artículo tiene como objetivo explorar el papel crítico que desempeñan las tarifas de préstamo único y las tarifas de redención en este contexto. Al examinar escenarios específicos de explotación que podrían surgir sin estas tarifas, demostraré cómo una estructura de tarifas adecuada es esencial para prevenir ataques desestabilizadores, asegurando así la seguridad y viabilidad a largo plazo del protocolo.

Introducción

En el mundo en rápida evolución de DeFi, asegurar la estabilidad y seguridad del protocolo es esencial. Durante una reciente revisión de seguridad de un proyecto CDP, observé cómo ciertas vulnerabilidades específicas podrían surgir bajo ciertas configuraciones. Si bien la configuración de parámetros actual en este proyecto es sólida, comprender estos riesgos potenciales es crucial para mantener la integridad del protocolo.

Este artículo tiene como objetivo explorar el papel crítico que desempeñan las tarifas de préstamo únicas y las tarifas de redención en este contexto. Al examinar escenarios específicos de explotación que podrían surgir sin estas tarifas, demostraré cómo una estructura de tarifas adecuada es esencial para prevenir ataques desestabilizadores, asegurando así la seguridad y viabilidad a largo plazo del protocolo.

Resumen del mecanismo CDP del protocolo

Tomando inspiración de uno de los protocolos originales, Liquity, y sus derivados, muchos modelos CDP (Posición de Deuda Colateralizada) generan stablecoins descentralizadas a través de sobre-colateralización. Estos modelos a menudo incorporan un conjunto complejo pero sofisticado de mecanismos diseñados para mantener el anclaje al dólar estadounidense, al tiempo que aseguran la seguridad del protocolo en diversas condiciones, minimizando efectivamente el riesgo de deuda incobrable. Estos protocolos se distinguen por sus adaptaciones clave, que incluyen incentivos económicos a medida que se alinean más estrechamente con los objetivos específicos del protocolo.

Conceptos clave del protocolo

  1. Préstamo
  • Los usuarios pueden aprovechar sus activos como garantía para pedir prestada la stablecoin del protocolo.
  • El colateral se deposita en un Taller — una bóveda que contiene el colateral y realiza un seguimiento de la deuda asociada.
  1. Relación de colateral (CR)
  • La Relación de Colateral es la proporción de colateral a la deuda de la stablecoin dentro de un Trove.
  • El protocolo impone una ratio mínima de garantía (MCR) del 110%, lo que significa que por cada $1,000 de stablecoin prestada, se debe tener al menos $1,100 de colateral.
  1. Redención
  • Para mantener el peg del stablecoin al dólar estadounidense, los usuarios pueden canjear el stablecoin por su colateral subyacente a una tasa de 1 stablecoin por $1 de colateral.
  • Durante el canje, el sistema selecciona Troves con la Ratio de Garantía (CR) más baja para cumplir con el canje, lo que significa que los usuarios con las posiciones más arriesgadas son los primeros en ser canjeados.
  1. Liquidación
  • Si el CR de un Tropa cae por debajo del MCR, la Tropa está sujeta a liquidación.
  • Durante la liquidación, la stablecoin en el Pool de Estabilidad se utiliza para pagar la deuda, y el colateral correspondiente se redistribuye al Pool de Estabilidad, beneficiando a los stakers.
  1. Modo de Recuperación
  • El Modo de Recuperación se activa cuando la Relación Total de Colateral (TCR) de todo el sistema cae por debajo del 150%.
  • Durante este modo, solo se pueden crear Tesoros con CRs por encima del TCR, y las liquidaciones tienen prioridad para restaurar la salud general del sistema.
  • En el modo de recuperación, los Trols con CRs por debajo de la TCR pueden ser liquidados, incluso si su CR está por encima de la relación mínima de colateral (MCR). Esto se hace para restaurar la salud general del sistema.
  • Las operaciones de préstamo y reembolso que llevarían al sistema al Modo de Recuperación están prohibidas.

Entendiendo la tarifa de redención única y la tarifa de préstamo

Tarifa de redención

La tarifa de rescate es un cargo aplicado cuando un usuario rescata la stablecoin del protocolo por su colateral subyacente. Esta tarifa está diseñada para estabilizar el valor de la stablecoin al hacer que el proceso de rescate sea más costoso cuando las redenciones son frecuentes, evitando así redenciones excesivas que podrían desestabilizar el protocolo.

La tarifa de redención se calcula en función del baseRate del protocolo, un parámetro de ajuste dinámico que refleja la actividad reciente dentro del sistema. Específicamente, el baseRate aumenta con cada redención, lo que hace que las redenciones posteriores sean más caras.

Este aumento es proporcional a la fracción del suministro total de stablecoin que se redime. Con el tiempo, si no se producen redenciones, la tasa base se decae gradualmente a cero, con una vida media de aproximadamente 12 horas.

La tarifa de redención se calcula utilizando la fórmula:

Por ejemplo, si la tasa base es del 1% y un usuario canjea 100 stablecoins cuando el precio del colateral es de $50,000, la comisión de canje sería:

Por lo tanto, el usuario recibiría un poco menos de colateral después de tener en cuenta la tasa de redención. Este mecanismo garantiza que las redenciones sigan siendo económicamente sensatas al mismo tiempo que protege el protocolo de actividades de arbitraje que podrían desestabilizarlo.

Tarifa de préstamo

La tasa de préstamo es otra tarifa única que se cobra cuando un usuario toma prestadas stablecoins contra su garantía. Esta tarifa se basa de manera similar en la baseRate, pero se aplica en el momento en que las stablecoins se extraen del Trove del usuario (un contrato de bóveda que contiene la garantía y la deuda del usuario).

La tarifa de préstamo se calcula de la siguiente manera:

Por ejemplo, si un usuario desea pedir prestados 4,000 stablecoins y la tasa base está establecida en 0.5%, la tarifa sería:

Esta tarifa se agrega a la deuda del usuario, lo que significa que su deuda total sería la cantidad prestada más la tarifa (por ejemplo, 4,000 stablecoins + 20 stablecoins = 4,020 stablecoins).

Estas tarifas también actúan como anclajes suaves, influenciando indirectamente el precio de mercado de la stablecoin al hacer que sea menos atractivo pedir prestado o canjear en ciertas condiciones, lo que ayuda a mantener la stablecoin estrechamente anclada a $1.

Ahora, exploremos qué podría suceder si estas tarifas cruciales se eliminaran o se establecieran en cero.

Escenarios de explotación sin comisión de redención única

Intercambio DEX sin deslizamiento cero

Sin una comisión de redención única, el protocolo podría transformarse involuntariamente en un intercambio de DEX sin deslizamiento. En tal escenario, los poseedores de grandes cantidades de stablecoins podrían aprovechar el mecanismo de redención para intercambiar stablecoins por colateral sin incurrir en costos significativos, realizando efectivamente operaciones de arbitraje a gran escala. Esto podría llevar a varios resultados negativos, ya que en este entorno sin deslizamiento, las redenciones a gran escala no solo agotarían la liquidez del protocolo, sino que también obligarían a los prestatarios a vender su colateral al precio de mercado actual. Aunque su deuda se reduciría en consecuencia, esta liquidación forzada podría aumentar los costos operativos para los usuarios, especialmente si la stablecoin está operando por debajo de $1.

Además, existe un riesgo de front-running del oráculo: si un usuario nota que una transacción está a punto de actualizar el oráculo del precio del colateral para reflejar un precio más alto, podría canjear rápidamente una gran cantidad de stablecoin antes de la actualización del precio. Una vez que el precio del colateral se actualice y suba, el usuario podría vender luego el colateral canjeado con ganancia, completando un ciclo de arbitraje. Esta práctica no solo explota el protocolo, sino que también deja a los prestatarios en desventaja, ya que podrían verse obligados a vender su colateral a precios menos favorables.

Escenarios de explotación sin tarifa de préstamo único

Manipulación de la tarifa de redención

Uno de los escenarios de explotación más directos implica la manipulación de la tarifa de redención para reducir costos. En protocolos donde no hay una tarifa de préstamo única, los usuarios pueden pedir prestadas grandes cantidades de stablecoin, inflando artificialmente la deuda total del protocolo. Una vez que la deuda está inflada, pueden canjear sus stablecoins a una tarifa más baja, ya que la tarifa de redención se calcula en función de la relación del tamaño de redención con la deuda total.

Esta manipulación socava la estructura de tarifas prevista en el protocolo, lo que lleva a una reducción de los ingresos para el protocolo y potencialmente desestabiliza el sistema. Por ejemplo, los atacantes pueden utilizar préstamos instantáneos para pedir grandes cantidades de garantías, que luego utilizan para acuñar una cantidad sustancial de stablecoins, aumentando así la deuda total del sistema. Luego realizan una operación de rescate, aprovechando la tarifa reducida debido a la deuda inflada, y finalmente, reembolsan el préstamo instantáneo, dejando al protocolo con menos ingresos de lo esperado y puede llevar a una mayor inestabilidad para aquellos usuarios que no habían previsto ser objeto de rescate.

Forzando el Modo de Recuperación del Sistema a través de la Transacción Sandwich de Actualización de Oracle

Otra vulnerabilidad crítica surge de la capacidad de forzar el protocolo en el Modo de Recuperación en un solo bloque, lo que permite la liquidación de posiciones con ratios de garantía previamente saludables. Este exploit se basa en el aprovechamiento de préstamos flash y en el momento del ataque alrededor de una actualización del precio del oráculo.

El ataque se desarrolla de la siguiente manera:

  1. Préstamo Flash y Préstamo:

El atacante primero utiliza un préstamo flash para pedir prestada una gran cantidad de garantía, que luego se deposita como garantía en el protocolo. Utilizando esta garantía, el atacante toma prestables stablecoins al Ratio Mínimo de Garantía (MCR). El atacante puede realizar esta acción para reducir el Ratio Total de Garantía (TCR) a 150%, el umbral para activar el Modo de Recuperación.

  1. Actualización del precio de Oracle:

El atacante espera una actualización del oráculo que refleje una caída en el precio del colateral. A medida que el nuevo precio más bajo se actualiza en el sistema, el valor del colateral cae, lo que hace que el TCR caiga por debajo del 150%.

  1. Activación del Modo de Recuperación y Liquidación:

Con el TCR ahora por debajo del 150%, el protocolo entra automáticamente en modo de recuperación. En este estado, el protocolo permite la liquidación de Troves con Índices de Colateral (CR) por debajo del nuevo TCR. El atacante puede proceder a liquidar Troves de otros usuarios que ahora tienen un CR por debajo del TCR, causándoles pérdidas y obteniendo beneficios de las recompensas por liquidación.

Forzando el Modo de Recuperación del Sistema a través de Redención Elaborada

Basándose en el escenario de ataque anterior, este exploit avanzado permite a un atacante forzar el protocolo en el Modo de Recuperación a través de un proceso de redención cuidadosamente elaborado. A diferencia del ataque anterior, que puede devolver temporalmente el sistema al modo normal después de la liquidación, este método asegura que el sistema permanezca en el Modo de Recuperación, permitiendo al atacante explotar repetidamente la vulnerabilidad.

El problema central, que surge cuando el sistema admite múltiples tipos de garantías, cada una administrada por diferentes Administradores de Trove, radica en la posibilidad de que la Relación de Colateral Total (TCR) en todo el sistema disminuya después de un rescate, incluso cuando la salud de los Administradores de Trove individuales mejora. Este resultado contra intuitivo es el resultado de la compleja interacción entre las relaciones de colateral globales y locales.

Por ejemplo, considera un escenario donde el TCR del sistema está en 150%.

Si un usuario canjea un Trove con una relación de garantía del 160%, lo que hace que ese Trove se cierre, el cálculo resultante empujaría el TCR por debajo del 150%, lo que activaría el Modo de Recuperación.

El ataque se desarrolla de la siguiente manera:

  1. Configuración de la posición inicial:

El atacante abre una posición mínima con una relación de garantía ligeramente superior al 150% en una Trove cuidadosamente seleccionada. Esta configuración es crucial para garantizar que el rescate en el siguiente paso conduzca eficazmente el TCR por debajo del umbral crítico.

  1. Manipulación de TCR:

El atacante utiliza un préstamo flash para abrir otra posición con una relación de garantía en la Relación de Garantía Mínima (MCR) del 110% en cualquier Gerente de Reserva, lo que reduce la Relación Total de Garantía (TCR) del sistema exactamente al 150%. Este paso prepara el sistema para el Modo de Recuperación.

  1. Redención elaborada:

Entonces, el atacante redime la posición abierta en el primer paso. Debido a que esta posición tiene un CR ligeramente superior al 150%, su redención hace que el TCR caiga por debajo del 150%, lo que activa el Modo de Recuperación. La redención no solo afecta a la Trove específica que se está redimiendo, sino que también causa un efecto sistémico que empuja al TCR hacia el Modo de Recuperación.

  1. Liquidación de Posiciones Vulnerables:

Con el sistema ahora en modo de recuperación, el atacante puede liquidar cualquier posición con una relación de colateral por debajo del 150%. Estas liquidaciones podrían restaurar el TCR a más del 150%.

  1. Repetir el Proceso:

El atacante puede repetir los pasos según sea necesario, manteniendo el sistema en un estado de Modo de Recuperación para explotar continuamente los Troves con relaciones de garantía por debajo del 150%.

El papel de las tarifas de redención única y las tarifas de préstamo en la mitigación de estos ataques

Impacto económico de las tarifas en los vectores de ataque

Las tarifas de redención única y las tarifas de préstamo juegan un papel crucial en la mitigación de los riesgos asociados con los vectores de ataque descritos anteriormente. Al introducir un costo para pedir prestado y redimir, estas tarifas hacen económicamente inviable para los atacantes ejecutar manipulaciones rentables a gran escala en la mayoría de los casos.

Por ejemplo, en el escenario de manipulación de la tarifa de redención, una tarifa de préstamo única aumentaría el costo de inflar la deuda del sistema, lo que haría que no fuera rentable para el atacante aprovechar la tarifa de redención. De manera similar, en escenarios donde el atacante intenta activar el Modo de Recuperación, la tarifa de préstamo actuaría como un elemento disuasorio al aumentar el costo de asumir grandes cantidades de deuda para manipular el TCR.

Reflexiones finales sobre la seguridad de los protocolos DeFi

A medida que DeFi evoluciona, los protocolos enfrentarán ataques cada vez más sofisticados. Para mantenerse al tanto, es crucial comprender cómo interactúan diferentes características y potencialmente crean vulnerabilidades. La seguridad efectiva requiere una comprensión profunda de cómo interactúan los diferentes componentes del sistema, así como una atención cuidadosa a los ajustes y parámetros que rigen estas interacciones. Al anticipar de manera proactiva las formas en que las características pueden combinarse para crear vulnerabilidades, los diseñadores pueden construir protocolos que no solo son seguros, sino también resistentes y adaptables a los desafíos futuros.

Descargo de responsabilidad:

  1. Este artículo se reproduce de [SunSec)]. Todos los derechos de autor pertenecen al autor original [Bill]. Si hay objeciones a esta reimpresión, por favor contacte al Gate Aprenderequipo, y ellos lo manejarán rápidamente.
  2. Renuncia de responsabilidad: Las opiniones y puntos de vista expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. El equipo de Aprende en Gate realiza traducciones del artículo a otros idiomas. A menos que se mencione lo contrario, está prohibido copiar, distribuir o plagiar los artículos traducidos.

Profundizando en las implicaciones de seguridad de la estructura de tarifas en un protocolo CDP

Avanzado11/26/2024, 6:59:35 AM
Este artículo tiene como objetivo explorar el papel crítico que desempeñan las tarifas de préstamo único y las tarifas de redención en este contexto. Al examinar escenarios específicos de explotación que podrían surgir sin estas tarifas, demostraré cómo una estructura de tarifas adecuada es esencial para prevenir ataques desestabilizadores, asegurando así la seguridad y viabilidad a largo plazo del protocolo.

Introducción

En el mundo en rápida evolución de DeFi, asegurar la estabilidad y seguridad del protocolo es esencial. Durante una reciente revisión de seguridad de un proyecto CDP, observé cómo ciertas vulnerabilidades específicas podrían surgir bajo ciertas configuraciones. Si bien la configuración de parámetros actual en este proyecto es sólida, comprender estos riesgos potenciales es crucial para mantener la integridad del protocolo.

Este artículo tiene como objetivo explorar el papel crítico que desempeñan las tarifas de préstamo únicas y las tarifas de redención en este contexto. Al examinar escenarios específicos de explotación que podrían surgir sin estas tarifas, demostraré cómo una estructura de tarifas adecuada es esencial para prevenir ataques desestabilizadores, asegurando así la seguridad y viabilidad a largo plazo del protocolo.

Resumen del mecanismo CDP del protocolo

Tomando inspiración de uno de los protocolos originales, Liquity, y sus derivados, muchos modelos CDP (Posición de Deuda Colateralizada) generan stablecoins descentralizadas a través de sobre-colateralización. Estos modelos a menudo incorporan un conjunto complejo pero sofisticado de mecanismos diseñados para mantener el anclaje al dólar estadounidense, al tiempo que aseguran la seguridad del protocolo en diversas condiciones, minimizando efectivamente el riesgo de deuda incobrable. Estos protocolos se distinguen por sus adaptaciones clave, que incluyen incentivos económicos a medida que se alinean más estrechamente con los objetivos específicos del protocolo.

Conceptos clave del protocolo

  1. Préstamo
  • Los usuarios pueden aprovechar sus activos como garantía para pedir prestada la stablecoin del protocolo.
  • El colateral se deposita en un Taller — una bóveda que contiene el colateral y realiza un seguimiento de la deuda asociada.
  1. Relación de colateral (CR)
  • La Relación de Colateral es la proporción de colateral a la deuda de la stablecoin dentro de un Trove.
  • El protocolo impone una ratio mínima de garantía (MCR) del 110%, lo que significa que por cada $1,000 de stablecoin prestada, se debe tener al menos $1,100 de colateral.
  1. Redención
  • Para mantener el peg del stablecoin al dólar estadounidense, los usuarios pueden canjear el stablecoin por su colateral subyacente a una tasa de 1 stablecoin por $1 de colateral.
  • Durante el canje, el sistema selecciona Troves con la Ratio de Garantía (CR) más baja para cumplir con el canje, lo que significa que los usuarios con las posiciones más arriesgadas son los primeros en ser canjeados.
  1. Liquidación
  • Si el CR de un Tropa cae por debajo del MCR, la Tropa está sujeta a liquidación.
  • Durante la liquidación, la stablecoin en el Pool de Estabilidad se utiliza para pagar la deuda, y el colateral correspondiente se redistribuye al Pool de Estabilidad, beneficiando a los stakers.
  1. Modo de Recuperación
  • El Modo de Recuperación se activa cuando la Relación Total de Colateral (TCR) de todo el sistema cae por debajo del 150%.
  • Durante este modo, solo se pueden crear Tesoros con CRs por encima del TCR, y las liquidaciones tienen prioridad para restaurar la salud general del sistema.
  • En el modo de recuperación, los Trols con CRs por debajo de la TCR pueden ser liquidados, incluso si su CR está por encima de la relación mínima de colateral (MCR). Esto se hace para restaurar la salud general del sistema.
  • Las operaciones de préstamo y reembolso que llevarían al sistema al Modo de Recuperación están prohibidas.

Entendiendo la tarifa de redención única y la tarifa de préstamo

Tarifa de redención

La tarifa de rescate es un cargo aplicado cuando un usuario rescata la stablecoin del protocolo por su colateral subyacente. Esta tarifa está diseñada para estabilizar el valor de la stablecoin al hacer que el proceso de rescate sea más costoso cuando las redenciones son frecuentes, evitando así redenciones excesivas que podrían desestabilizar el protocolo.

La tarifa de redención se calcula en función del baseRate del protocolo, un parámetro de ajuste dinámico que refleja la actividad reciente dentro del sistema. Específicamente, el baseRate aumenta con cada redención, lo que hace que las redenciones posteriores sean más caras.

Este aumento es proporcional a la fracción del suministro total de stablecoin que se redime. Con el tiempo, si no se producen redenciones, la tasa base se decae gradualmente a cero, con una vida media de aproximadamente 12 horas.

La tarifa de redención se calcula utilizando la fórmula:

Por ejemplo, si la tasa base es del 1% y un usuario canjea 100 stablecoins cuando el precio del colateral es de $50,000, la comisión de canje sería:

Por lo tanto, el usuario recibiría un poco menos de colateral después de tener en cuenta la tasa de redención. Este mecanismo garantiza que las redenciones sigan siendo económicamente sensatas al mismo tiempo que protege el protocolo de actividades de arbitraje que podrían desestabilizarlo.

Tarifa de préstamo

La tasa de préstamo es otra tarifa única que se cobra cuando un usuario toma prestadas stablecoins contra su garantía. Esta tarifa se basa de manera similar en la baseRate, pero se aplica en el momento en que las stablecoins se extraen del Trove del usuario (un contrato de bóveda que contiene la garantía y la deuda del usuario).

La tarifa de préstamo se calcula de la siguiente manera:

Por ejemplo, si un usuario desea pedir prestados 4,000 stablecoins y la tasa base está establecida en 0.5%, la tarifa sería:

Esta tarifa se agrega a la deuda del usuario, lo que significa que su deuda total sería la cantidad prestada más la tarifa (por ejemplo, 4,000 stablecoins + 20 stablecoins = 4,020 stablecoins).

Estas tarifas también actúan como anclajes suaves, influenciando indirectamente el precio de mercado de la stablecoin al hacer que sea menos atractivo pedir prestado o canjear en ciertas condiciones, lo que ayuda a mantener la stablecoin estrechamente anclada a $1.

Ahora, exploremos qué podría suceder si estas tarifas cruciales se eliminaran o se establecieran en cero.

Escenarios de explotación sin comisión de redención única

Intercambio DEX sin deslizamiento cero

Sin una comisión de redención única, el protocolo podría transformarse involuntariamente en un intercambio de DEX sin deslizamiento. En tal escenario, los poseedores de grandes cantidades de stablecoins podrían aprovechar el mecanismo de redención para intercambiar stablecoins por colateral sin incurrir en costos significativos, realizando efectivamente operaciones de arbitraje a gran escala. Esto podría llevar a varios resultados negativos, ya que en este entorno sin deslizamiento, las redenciones a gran escala no solo agotarían la liquidez del protocolo, sino que también obligarían a los prestatarios a vender su colateral al precio de mercado actual. Aunque su deuda se reduciría en consecuencia, esta liquidación forzada podría aumentar los costos operativos para los usuarios, especialmente si la stablecoin está operando por debajo de $1.

Además, existe un riesgo de front-running del oráculo: si un usuario nota que una transacción está a punto de actualizar el oráculo del precio del colateral para reflejar un precio más alto, podría canjear rápidamente una gran cantidad de stablecoin antes de la actualización del precio. Una vez que el precio del colateral se actualice y suba, el usuario podría vender luego el colateral canjeado con ganancia, completando un ciclo de arbitraje. Esta práctica no solo explota el protocolo, sino que también deja a los prestatarios en desventaja, ya que podrían verse obligados a vender su colateral a precios menos favorables.

Escenarios de explotación sin tarifa de préstamo único

Manipulación de la tarifa de redención

Uno de los escenarios de explotación más directos implica la manipulación de la tarifa de redención para reducir costos. En protocolos donde no hay una tarifa de préstamo única, los usuarios pueden pedir prestadas grandes cantidades de stablecoin, inflando artificialmente la deuda total del protocolo. Una vez que la deuda está inflada, pueden canjear sus stablecoins a una tarifa más baja, ya que la tarifa de redención se calcula en función de la relación del tamaño de redención con la deuda total.

Esta manipulación socava la estructura de tarifas prevista en el protocolo, lo que lleva a una reducción de los ingresos para el protocolo y potencialmente desestabiliza el sistema. Por ejemplo, los atacantes pueden utilizar préstamos instantáneos para pedir grandes cantidades de garantías, que luego utilizan para acuñar una cantidad sustancial de stablecoins, aumentando así la deuda total del sistema. Luego realizan una operación de rescate, aprovechando la tarifa reducida debido a la deuda inflada, y finalmente, reembolsan el préstamo instantáneo, dejando al protocolo con menos ingresos de lo esperado y puede llevar a una mayor inestabilidad para aquellos usuarios que no habían previsto ser objeto de rescate.

Forzando el Modo de Recuperación del Sistema a través de la Transacción Sandwich de Actualización de Oracle

Otra vulnerabilidad crítica surge de la capacidad de forzar el protocolo en el Modo de Recuperación en un solo bloque, lo que permite la liquidación de posiciones con ratios de garantía previamente saludables. Este exploit se basa en el aprovechamiento de préstamos flash y en el momento del ataque alrededor de una actualización del precio del oráculo.

El ataque se desarrolla de la siguiente manera:

  1. Préstamo Flash y Préstamo:

El atacante primero utiliza un préstamo flash para pedir prestada una gran cantidad de garantía, que luego se deposita como garantía en el protocolo. Utilizando esta garantía, el atacante toma prestables stablecoins al Ratio Mínimo de Garantía (MCR). El atacante puede realizar esta acción para reducir el Ratio Total de Garantía (TCR) a 150%, el umbral para activar el Modo de Recuperación.

  1. Actualización del precio de Oracle:

El atacante espera una actualización del oráculo que refleje una caída en el precio del colateral. A medida que el nuevo precio más bajo se actualiza en el sistema, el valor del colateral cae, lo que hace que el TCR caiga por debajo del 150%.

  1. Activación del Modo de Recuperación y Liquidación:

Con el TCR ahora por debajo del 150%, el protocolo entra automáticamente en modo de recuperación. En este estado, el protocolo permite la liquidación de Troves con Índices de Colateral (CR) por debajo del nuevo TCR. El atacante puede proceder a liquidar Troves de otros usuarios que ahora tienen un CR por debajo del TCR, causándoles pérdidas y obteniendo beneficios de las recompensas por liquidación.

Forzando el Modo de Recuperación del Sistema a través de Redención Elaborada

Basándose en el escenario de ataque anterior, este exploit avanzado permite a un atacante forzar el protocolo en el Modo de Recuperación a través de un proceso de redención cuidadosamente elaborado. A diferencia del ataque anterior, que puede devolver temporalmente el sistema al modo normal después de la liquidación, este método asegura que el sistema permanezca en el Modo de Recuperación, permitiendo al atacante explotar repetidamente la vulnerabilidad.

El problema central, que surge cuando el sistema admite múltiples tipos de garantías, cada una administrada por diferentes Administradores de Trove, radica en la posibilidad de que la Relación de Colateral Total (TCR) en todo el sistema disminuya después de un rescate, incluso cuando la salud de los Administradores de Trove individuales mejora. Este resultado contra intuitivo es el resultado de la compleja interacción entre las relaciones de colateral globales y locales.

Por ejemplo, considera un escenario donde el TCR del sistema está en 150%.

Si un usuario canjea un Trove con una relación de garantía del 160%, lo que hace que ese Trove se cierre, el cálculo resultante empujaría el TCR por debajo del 150%, lo que activaría el Modo de Recuperación.

El ataque se desarrolla de la siguiente manera:

  1. Configuración de la posición inicial:

El atacante abre una posición mínima con una relación de garantía ligeramente superior al 150% en una Trove cuidadosamente seleccionada. Esta configuración es crucial para garantizar que el rescate en el siguiente paso conduzca eficazmente el TCR por debajo del umbral crítico.

  1. Manipulación de TCR:

El atacante utiliza un préstamo flash para abrir otra posición con una relación de garantía en la Relación de Garantía Mínima (MCR) del 110% en cualquier Gerente de Reserva, lo que reduce la Relación Total de Garantía (TCR) del sistema exactamente al 150%. Este paso prepara el sistema para el Modo de Recuperación.

  1. Redención elaborada:

Entonces, el atacante redime la posición abierta en el primer paso. Debido a que esta posición tiene un CR ligeramente superior al 150%, su redención hace que el TCR caiga por debajo del 150%, lo que activa el Modo de Recuperación. La redención no solo afecta a la Trove específica que se está redimiendo, sino que también causa un efecto sistémico que empuja al TCR hacia el Modo de Recuperación.

  1. Liquidación de Posiciones Vulnerables:

Con el sistema ahora en modo de recuperación, el atacante puede liquidar cualquier posición con una relación de colateral por debajo del 150%. Estas liquidaciones podrían restaurar el TCR a más del 150%.

  1. Repetir el Proceso:

El atacante puede repetir los pasos según sea necesario, manteniendo el sistema en un estado de Modo de Recuperación para explotar continuamente los Troves con relaciones de garantía por debajo del 150%.

El papel de las tarifas de redención única y las tarifas de préstamo en la mitigación de estos ataques

Impacto económico de las tarifas en los vectores de ataque

Las tarifas de redención única y las tarifas de préstamo juegan un papel crucial en la mitigación de los riesgos asociados con los vectores de ataque descritos anteriormente. Al introducir un costo para pedir prestado y redimir, estas tarifas hacen económicamente inviable para los atacantes ejecutar manipulaciones rentables a gran escala en la mayoría de los casos.

Por ejemplo, en el escenario de manipulación de la tarifa de redención, una tarifa de préstamo única aumentaría el costo de inflar la deuda del sistema, lo que haría que no fuera rentable para el atacante aprovechar la tarifa de redención. De manera similar, en escenarios donde el atacante intenta activar el Modo de Recuperación, la tarifa de préstamo actuaría como un elemento disuasorio al aumentar el costo de asumir grandes cantidades de deuda para manipular el TCR.

Reflexiones finales sobre la seguridad de los protocolos DeFi

A medida que DeFi evoluciona, los protocolos enfrentarán ataques cada vez más sofisticados. Para mantenerse al tanto, es crucial comprender cómo interactúan diferentes características y potencialmente crean vulnerabilidades. La seguridad efectiva requiere una comprensión profunda de cómo interactúan los diferentes componentes del sistema, así como una atención cuidadosa a los ajustes y parámetros que rigen estas interacciones. Al anticipar de manera proactiva las formas en que las características pueden combinarse para crear vulnerabilidades, los diseñadores pueden construir protocolos que no solo son seguros, sino también resistentes y adaptables a los desafíos futuros.

Descargo de responsabilidad:

  1. Este artículo se reproduce de [SunSec)]. Todos los derechos de autor pertenecen al autor original [Bill]. Si hay objeciones a esta reimpresión, por favor contacte al Gate Aprenderequipo, y ellos lo manejarán rápidamente.
  2. Renuncia de responsabilidad: Las opiniones y puntos de vista expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. El equipo de Aprende en Gate realiza traducciones del artículo a otros idiomas. A menos que se mencione lo contrario, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Nu Starten
Meld Je Aan En Ontvang
$100
Voucher!