Este informe de investigación técnica fue escrito por Polaris del equipo de investigación de ScaleBit, con un agradecimiento especial a Norman y Henry de SnapFingers por sus comentarios de revisión.
TL;DR
Este artículo realiza un estudio en profundidad de la diversidad y los escenarios de aplicación del apalancamiento DeFi, analiza en detalle las vulnerabilidades a nivel de código y propone puntos de seguridad clave para los protocolos de apalancamiento.
Introducción al apalancamiento de DeFi
El reciente lanzamiento de dYdX V4 ha generado mucha atención y participación en intercambios de contratos perpetuos. dYdX ha aplicado con éxito casos de comercio de apalancamiento, y no solo debemos esperar el enorme potencial de dYdX V4, sino también prestar atención a la seguridad del protocolo de apalancamiento. A continuación, utilizaremos ejemplos y análisis de código específicos para familiarizarlo con diferentes estrategias de apalancamiento y consideraciones de seguridad.
¿Qué es el apalancamiento?
En finanzas, el apalancamiento es una estrategia que se basa en pedir prestado fondos para aumentar el rendimiento potencial de una inversión. En pocas palabras, un inversor o comerciante pide prestados fondos para aumentar la exposición a un tipo específico de activo, proyecto o instrumento mucho más allá de lo que podría lograr basándose únicamente en su propio capital. Normalmente, mediante el uso del apalancamiento, los inversores pueden amplificar su poder adquisitivo en el mercado.

Apalancamiento en el comercio DeFi
El uso del apalancamiento es una de las características más importantes y comunes en el comercio de criptoactivos. Poco después de la fundación de los intercambios descentralizados, el comercio con apalancamiento se volvió cada vez más popular, a pesar de que el mercado de criptomonedas ya mostraba altos niveles de volatilidad.
Al igual que con las finanzas tradicionales, los comerciantes utilizan el apalancamiento simplemente para pedir prestado fondos para aumentar su poder adquisitivo o para aprovechar diversos derivados financieros, como futuros y opciones.
El apalancamiento también ha aumentado de 3x, 5x a más de 100x. Un mayor apalancamiento significa un mayor riesgo, pero como se ve en la mayoría de los intercambios centralizados, a medida que crece el volumen de operaciones con apalancamiento, este es un riesgo que los operadores agresivos que buscan mayores rendimientos están dispuestos a asumir.
Explicación detallada de la clasificación del apalancamiento.
En lo que respecta a DeFi, los productos apalancados se dividen principalmente en cuatro tipos, con diferentes mecanismos para generar apalancamiento: préstamos apalancados, apalancamiento comercial de margen, apalancamiento de contrato perpetuo y tokens apalancados.
Préstamos apalancados
Los préstamos y préstamos de DeFi son una de las primeras y más grandes aplicaciones de DeFi, y gigantes como MakerDao, Compound, AAVE, Venus, etc. ya están operando en el mercado. La lógica de ganar apalancamiento prestando criptoactivos es simple.
Por ejemplo, si tienes $10,000 en Ethereum (ETH) y eres optimista, puedes depositar tu ETH en Compound como garantía, prestar $5,000 en USDC y luego intercambiar esos $5,000 en USDC por otros $5,000 en ETH. Esto le dará un apalancamiento de 1,5 veces en ETH, lo que le brindará $15 000 de exposición a ETH en comparación con su capital inicial de $10 000.
Del mismo modo, si es bajista, puede optar por depositar monedas estables y prestar ETH. Si el precio de ETH baja, puede comprar ETH en el mercado a un precio más bajo y saldar la deuda.
Es importante tener en cuenta que, dado que pedirá prestado a través de un protocolo descentralizado, es posible que lo liquiden si el valor de la garantía cae o el valor del activo que está pidiendo prestado excede un cierto umbral.
Apalancamiento comercial de margen
Con los préstamos DeFi, puedes hacer lo que quieras con estos activos digitales. El comercio de margen DeFi se centra más en aumentar el tamaño de la posición (aumentar el poder adquisitivo) y se considera una verdadera "posición apalancada". Sin embargo, hay una diferencia importante: mientras una posición de margen permanece abierta, los activos del comerciante actúan como garantía para los fondos prestados.
dYdX es una conocida plataforma de negociación de margen descentralizada que permite un apalancamiento máximo de 5x. En el comercio de margen en dYdX, los operadores utilizan sus propios fondos como garantía, amplifican su capital original varias veces y utilizan estos fondos amplificados para realizar inversiones más grandes.
Los comerciantes deben pagar intereses y tarifas asociadas con la negociación. La posición no se construye virtualmente, implica endeudamiento real y compra/venta.
Si el mercado se mueve en una dirección adversa, es posible que los activos del comerciante no puedan reembolsar completamente el dinero prestado. Para evitar que esto suceda, el protocolo liquidará su posición antes de alcanzar un determinado índice de liquidación.
¿Cómo cambia el apalancamiento en el comercio de margen?
Supongamos que tiene una posición 3 veces mayor en ETH con margen, pero no está dispuesto a ajustar su exposición de vez en cuando.
Tiene $100 en USDC, pide prestado otros $200 en USDC e intercambia $300 en ETH para establecer la posición larga deseada en ETH. El nivel de apalancamiento es $300 / $100 = 3x.
Si el precio de ETH aumenta un 20%, su beneficio será 300 (1+20%) - 300 = $60. Su riesgo relativo a la liquidación es menor y el nivel de apalancamiento real se reduce a 360/(360-200) = 2,25x. En otras palabras, automáticamente se desapalanca cuando sube el precio de ETH.
Si el precio de ETH cae un 20%, su pérdida será 300 (1-20%) -300 = -$60. Usted se encuentra en una posición más riesgosa cuando se trata de liquidación y el nivel de apalancamiento real aumenta automáticamente a 240/(240-200) = 6x. En otras palabras, reequilibra su apalancamiento cuando el precio de ETH cae, lo que indica que se encuentra en una posición de mayor riesgo que antes.
Entonces, si bien podría pensar que al operar con un margen fijo de 3x, mantiene un apalancamiento constante, el apalancamiento en tiempo real cambia constantemente. Consulte el cuadro a continuación para ver cómo cambiará el apalancamiento según los cambios de precios[1].

Apalancamiento del contrato perpetuo
Los contratos perpetuos son similares a los contratos de futuros tradicionales, pero no tienen fecha de vencimiento. Los contratos perpetuos imitan el mercado spot basado en márgenes y, por lo tanto, cotizan cerca del precio del índice de referencia subyacente.
Hay muchos proyectos DeFi que ofrecen contratos perpetuos a los comerciantes, como dYdX, MCDEX, Perpetual Protocol, Injective, etc. A muchos operadores les puede resultar difícil distinguir la diferencia entre el comercio de margen y los contratos perpetuos; de hecho, ambos implican el apalancamiento del usuario.
Sin embargo, existen algunas diferencias en los mecanismos de apalancamiento, las tarifas y los niveles de apalancamiento.
Los contratos perpetuos son derivados que negocian activos sintéticos y tienen las características de negociarse con margen. El precio del activo subyacente se rastrea de forma sintética sin la necesidad de negociar con el activo subyacente real. Sin embargo, el comercio de margen implica el préstamo y el comercio reales de criptoactivos reales.
Con la aparición de los contratos perpetuos surgió el concepto de tasas de financiación, cuyo propósito es mantener el precio de negociación de los contratos perpetuos consistente con el precio de referencia subyacente. **Si el precio del contrato es superior al precio al contado, las posiciones largas pagarán las posiciones cortas. **En otras palabras, los comerciantes deben pagar tarifas constantemente por pedir dinero prestado.
El apalancamiento en los contratos perpetuos suele ser mayor que en el comercio de margen y puede llegar hasta 100 veces. Los mecanismos de liquidación y apalancamiento real son los mismos que para el comercio de margen.
Fichas apalancadas
Los tokens apalancados son derivados que brindan a sus titulares exposición apalancada al mercado de criptomonedas sin la preocupación de administrar activamente una posición apalancada. Si bien brindan a los tenedores exposición apalancada, no les exigen lidiar con márgenes, liquidación, garantías o tasas de financiación.
La mayor diferencia entre los tokens apalancados y los contratos perpetuos/de comercio de margen es que los tokens apalancados se reequilibrarán periódicamente o cuando se alcance un cierto umbral para mantener un apalancamiento específico.
Obviamente, esto es diferente del comercio de margen y los contratos perpetuos: el apalancamiento real de estos productos cambia constantemente según los movimientos de los precios, aunque el operador haya especificado originalmente un nivel de apalancamiento.
Veamos cómo funciona el reequilibrio en el ejemplo anterior de 3x ETH:
Tienes $100 USDC y compras un token apalancado ETHBULL (3x). El protocolo tomará prestados automáticamente $200 USDC y negociará $200 ETH.
Digamos que el precio de ETH aumenta en un 20% y el precio del token ETHBULL (3x) aumenta a 300*(1+20%)-200 = $160 antes del reequilibrio. Ahora, su apalancamiento real pasa a ser 2,25 (360/160), que es inferior al apalancamiento objetivo.
Como parte del proceso de reequilibrio, el protocolo tomará prestado más USD del grupo de monedas estables y comprará tokens ETH adicionales para que el apalancamiento vuelva a ser 3x. En nuestro ejemplo, el protocolo pedirá prestados otros $120 y los cambiará por ETH. Por lo tanto, el apalancamiento total vuelve a ser (360+120)/160 = 3 veces.
Digamos que el precio de ETH cae un 20% y el precio del token ETHBULL (3x) cae a 300*(1-20%)-200 = $40 antes del reequilibrio. Ahora, su apalancamiento real será 6 (240/40), que es mayor que el apalancamiento objetivo.
En este caso, el protocolo venderá tokens ETH y pagará la deuda pendiente para reducir el apalancamiento. En este ejemplo, el protocolo venderá $120 de ETH para pagar el grupo. La deuda será de $80 y el apalancamiento total será nuevamente (240-120)/40 = 3x.
En otras palabras, los tokens apalancados se volverán a apalancar automáticamente en las ganancias y se desapalancarán en las pérdidas para restaurar sus niveles de apalancamiento objetivo. Si este mecanismo funciona bien, incluso en tendencias adversas del mercado, los poseedores de tokens apalancados no serán liquidados porque el mecanismo de desapalancamiento reducirá continuamente el nivel de apalancamiento efectivo del usuario.
Por lo tanto, los grupos de préstamos en un modelo de token apalancado estarán libres de riesgo de liquidación y son más seguros que los grupos de préstamos en el comercio de margen.
Aprovechar los casos de aplicación
Ya hemos aprendido sobre algunos tipos de apalancamiento comunes del protocolo DeFi. A continuación, explicaremos en detalle la aplicación del apalancamiento según protocolos DeFi específicos.
GMX
GMX [2] es un intercambio perpetuo y al contado descentralizado que brinda a los operadores la capacidad de negociar activos con un apalancamiento de hasta 50 veces. El protocolo actualmente se ejecuta en Arbitrum y Avalanche. En GMX, los operadores tienen pleno conocimiento de sus contrapartes, lo cual es completamente diferente a operar en CEX. GMX se diferencia de otros protocolos de contrato perpetuo, como dYdX, en que opera completamente en cadena y utiliza la funcionalidad AMM para permitir el comercio apalancado.

Lo que distingue a GMX de otros servicios es que es un intercambio descentralizado que ofrece servicios comerciales apalancados. En este sentido, combina una experiencia similar a otros intercambios DeFi como Uniswap con servicios comerciales apalancados ofrecidos por empresas como Binance.
GMX tiene un fondo de liquidez, GLP, que es un fondo de activos múltiples que proporciona liquidez para el comercio de margen: los usuarios pueden operar en largo o en corto y ejecutar operaciones acuñando y quemando tokens GLP. El grupo gana tarifas LP por operaciones comerciales y apalancadas, que se distribuyen a los titulares de GMX y GLP.

Para operar con apalancamiento, los operadores depositan garantías en el protocolo. Los operadores pueden elegir un apalancamiento de hasta 50x. Cuanto mayor sea el apalancamiento, mayor será el precio de liquidación, que aumentará gradualmente a medida que aumenten las tarifas de endeudamiento.
Por ejemplo, cuando se pone en largo en ETH, un operador está "alquilando" la ventaja de ETH del grupo GLP; cuando se pone en corto en ETH, el operador está "alquilando" la ventaja de la moneda estable en relación con ETH del grupo de GLP. Pero los activos del pool GLP en realidad no están arrendados.
Al cerrar una posición, si el operador apuesta correctamente, las ganancias se pagarán del fondo GLP en forma de tokens largos; de lo contrario, las pérdidas se deducirán de la garantía y se pagarán al fondo. GLP se beneficia de las pérdidas de los comerciantes y se beneficia de las ganancias de los comerciantes.
En el proceso, los comerciantes pagan tarifas comerciales, tarifas de apertura/cierre y tarifas de préstamo a cambio de la ventaja de ir en largo o en corto frente al dólar estadounidense en tokens designados (BTC, ETH, AVAX, UNI y LINK).

Comercio Merkle
Merkle Trade[3] es una plataforma comercial descentralizada que ofrece operaciones con criptomonedas, divisas y materias primas con un apalancamiento de hasta 1000x y funciones comerciales avanzadas centradas en el usuario. Merkle Trade funciona con la cadena de bloques Aptos, que ofrece el mejor rendimiento y escalabilidad de su clase. En comparación con Gains Network, tiene menores demoras en las transacciones y tarifas de manejo, al tiempo que proporciona el mismo alto apalancamiento.

A diferencia de la mayoría de los intercambios, no existe un libro de órdenes en Merkle Trade. En cambio, Merkle LP actúa como contraparte en cada operación, recopila garantías cuando los operadores pierden dinero y paga ganancias en las operaciones cerradas con rendimientos positivos.
Opere con criptomonedas, divisas y materias primas con un apalancamiento de hasta 1000 veces
Merkle Trade tiene como objetivo ofrecer una amplia gama de pares comerciales desde el primer día, incluidas criptomonedas, divisas y materias primas, y ofrece uno de los apalancamientos más altos del mercado, hasta 150 veces en criptomonedas y 1000 veces en divisas.
Ejecución de órdenes a precio justo, latencia de milisegundos, deslizamiento mínimo
Impulsado por la cadena de bloques generada por Aptos con la latencia más baja hasta la fecha, la experiencia de transacciones en cadena más rápida posible. Para los comerciantes, esto significa una experiencia comercial más rápida con menos deslizamiento de precios debido a retrasos en la ejecución.
Negociación descentralizada, sin custodia y sin riesgo de contraparte
Los operadores operan con un fondo de liquidez (Merkle LP) que actúa como contraparte de cada operación en el protocolo. Todas las transacciones y liquidaciones se ejecutan mediante contratos inteligentes y no hay custodia de los fondos de los usuarios en ningún momento.
Tarifa mínima de manipulación
Merkle Trade afirma tener una de las tarifas más bajas del mercado hasta la fecha. En el lanzamiento, las tarifas son tan bajas como el 0,05 % para los pares comerciales de criptomonedas y tan bajas como el 0,0075 % para los pares comerciales de divisas.
dYdX
dYdX[4] es un intercambio descentralizado (DEX) que brinda a los usuarios la capacidad de negociar de manera eficiente contratos perpetuos mientras controlan completamente sus activos. Desde su lanzamiento en 2021, dYdX V3 ha adoptado una solución única de escalamiento de capa 2 sin custodia para implementar su intercambio, pero su cartera de pedidos y su motor de comparación aún se administran de manera centralizada.
Y ahora, con dYdX V4, el protocolo está evolucionando hacia su propia cadena y refactorizando completamente todo el protocolo para lograr una descentralización total y al mismo tiempo aumentar el rendimiento. dYdX también incluye tres funciones: préstamos, negociación de margen y contratos perpetuos. El comercio de márgenes viene con una función de préstamo. Los fondos depositados por los usuarios forman automáticamente un fondo común. Si no hay fondos suficientes durante la transacción, automáticamente tomarán prestado y pagarán intereses.

Aprovechar el análisis de seguridad
Hemos introducido los tipos y aplicaciones comunes de apalancamiento en DeFi. De manera similar, todavía hay muchos problemas de seguridad en el diseño del apalancamiento que merecen nuestra atención. Analizaremos los problemas de seguridad y los puntos de auditoría del apalancamiento de DeFi con casos de auditoría específicos.
Distinguir entre órdenes de límite y de mercado
En la mayoría de las aplicaciones de intercambio apalancadas, existen órdenes de límite y órdenes de mercado. Es necesario distinguir y verificar estrictamente las órdenes de límite y las órdenes de mercado. A continuación, realizaremos un análisis detallado de los problemas que encontramos en la auditoría de Merkle Trade [5].
let now = marca de tiempo::now_segundos(); if (ahora - order.created_timestamp > 30) { cancel_order_internal<PairType, CollateralType>( orderid, order, T_CANCEL_ORDER_EXPIRED ); devolver };
Esta parte del código es para realizar la verificación en la función de pedido. En esta función, verifica si han pasado más de 30 segundos desde que se creó el pedido. Si se cumplen las condiciones, se llama a cancel_order_internal() para cancelar el pedido. Sin embargo, si la orden es una orden limitada, significa que la orden tiene un precio específico establecido por el comerciante al que está dispuesto a comprar o vender el activo. Este criterio no debe utilizarse al ejecutar órdenes limitadas, lo que puede provocar que la mayoría de las órdenes limitadas no se ejecuten. Por lo tanto, es importante distinguir estrictamente la lógica comercial de las órdenes limitadas y las órdenes de mercado.
Error de cálculo de apalancamiento
Los errores de cálculo siempre han sido un problema muy común en DeFi, y son especialmente comunes en el apalancamiento. Utilizaremos los problemas encontrados en auditorías de terceros del protocolo Unstoppable[6] para realizar un estudio en profundidad del cálculo del apalancamiento. .
Veamos el código en Unstoppable que calcula el apalancamiento:
def calcular apalancamiento( valor de posición: uint256, valor de deuda: uint256, valor de margen: uint256 ) -> uint256: if valor de posición <= valor de deuda: # deuda incobrable return valor_max(uint256) return ( PRECISIÓN * (_valor_deuda + valor de margen) / (_valor_posición - valor de deuda) / PRECISIÓN ) La función calcular apalancamiento hace que el apalancamiento se calcule incorrectamente al utilizar el valor de la deuda + el valor del margen como numerador en lugar del valor de la posición. Los tres parámetros de entrada de esta función, valor de posición, valor_deuda y valor de margen, están determinados por la información de precios proporcionada por el oráculo en la cadena Chainlink. donde _debt_value representa el valor que convierte la participación de la deuda de la posición en un monto de deuda en USD. _margin_value representa el valor actual (en USD) del monto del margen inicial de la posición. _position_value representa el valor actual (en USD) del monto de la posición inicial de la posición.
El problema con el cálculo anterior es que el valor de la deuda + el valor del margen no representa el valor de la posición. El apalancamiento es la relación entre el valor de la posición actual y el valor del margen actual. _position_value: el valor de la deuda es correcto, representa el valor del margen actual, pero el valor de la deuda + valor del margen no representa el valor actual de la posición, porque no hay garantía de que el token de responsabilidad y el token de posición tengan fluctuaciones de precios relacionadas.
Por ejemplo:
El token de responsabilidad es ETH y el token de posición es BTC.
Utilizando 1 ETH como margen, Alice toma prestados 14 ETH ($2000 por ETH) y recibe 1 BTC ($30 000 por BTC) en tokens de posición. El apalancamiento es 14.
Al día siguiente, el precio de ETH todavía era de $2,000/ETH, pero el precio de BTC cayó de $30,000/BTC a $29,000/BTC.
En este punto, el apalancamiento debería ser (_position_value == 29 000)/(_position_value == 29 000 - deudavalue == 28 000) = 29
En lugar del valor calculado en el contrato: (_valor_deuda == 28.000 + valor de margen == 2.000) / (valor_posición == 29.000 - valor de deuda == 28.000) = 30.
Por lo tanto, para solucionar este problema, se debe utilizar la fórmula correcta mencionada anteriormente para calcular el apalancamiento en los contratos inteligentes. Los errores en el cálculo del apalancamiento pueden dar lugar a liquidaciones injustas o posiciones sobreapalancadas en caso de volatilidad de los precios.
En los contratos inteligentes, garantizar cálculos de apalancamiento correctos es fundamental para mantener la solidez del sistema y los intereses de los usuarios. El cálculo correcto del apalancamiento debe basarse en la relación entre el valor actual de la posición y el valor del margen actual. Si se utiliza una fórmula de cálculo incorrecta, puede hacer que el sistema responda de manera inapropiada a los cambios de precios, liquide posiciones que no deberían liquidarse o permita que sigan existiendo posiciones sobreapalancadas, aumentando así los riesgos para el sistema y los usuarios.
error lógico
Los errores lógicos requieren especial atención en la auditoría de contratos inteligentes, especialmente en lógicas complejas como las transacciones de apalancamiento DeFi.
Utilicemos los problemas encontrados en las auditorías de terceros realizadas por Tigris[7] (Tigris es una plataforma de negociación de apalancamiento sintético descentralizada basada en Arbitrum y Polygon) para discutir las cuestiones lógicas a las que se debe prestar atención en el apalancamiento de DeFi.
Veamos la lógica de la función de cierre de límite en Tigris:
función limitClose( uint id, bool tp, PriceData calldata priceData, bytes calldata firma) externo { checkDelay(id, false); (uint limitPrice, dirección tigAsset) = tradingExtension._limitClose(_id, tp, priceData, firma); closePosition(_id, DIVISION_CONSTANT, limitPrice, dirección(0), tigAsset, verdadero); } función limitClose( uint id, bool tp, PriceData calldata priceData, bytes calldata firma) vista externa devuelve (uint limitPrice, dirección tigAsset) { checkGas(); IPosition.Trade memoria trade = position.trades(id); tigAsset = comercio.tigAsset; getVerifiedPrice(_trade.asset, priceData, firma, 0); uint256 precio = precioData.precio; si (_trade.orderType! = 0) revert("4"); //IsLimit if (_tp) { if (_trade.tpPrice == 0) revert("7"); //LimitNotSet if (_trade.direction) { if (_trade.tpPrice > precio) revert("6"); //LimitNotMet } else { if (trade.tpPrice < precio) revert("6"); //LimitNotMet } limitPrice = trade.tpPrice; } else { if (trade.slPrice == 0) revert("7"); //LimitNotSet if (_trade.direction) { if (_trade.slPrice < precio) revert("6"); //LimitNotMet } else { if (trade.slPrice > precio) revert("6"); //LimitNotMet } //@el stop loss de auditoría se cierra al precio especificado por el usuario, NO al precio de mercado limitPrice = _trade.slPrice; } }
Cuando se utiliza el stop loss para cerrar una posición, el precio de cierre del usuario es el precio del stop loss establecido por el usuario, no el precio actual del activo. En mercados direccionales y con un alto apalancamiento, los usuarios pueden abusar de esto para lograr operaciones prácticamente libres de riesgos. Los usuarios pueden abrir una posición larga y establecer un precio de límite de pérdidas que esté 0,01 dólares por debajo del precio actual.
Si el precio cae inmediatamente en la próxima actualización, cerrarán la posición a su precio de entrada y solo pagarán tarifas de apertura y cierre. Si los precios suben, pueden ganar significativamente. Como resultado, los usuarios pueden abusar del método de fijación de precios de límite de pérdidas para abrir transacciones con alto apalancamiento, alto potencial de ganancias y bajo riesgo de desventajas.
fluctuaciones en los precios
El impacto de las fluctuaciones de precios en el apalancamiento de DeFi es muy importante. Sólo considerando siempre las fluctuaciones de precios se puede garantizar la seguridad del acuerdo de apalancamiento. Tomemos los problemas encontrados en la auditoría de terceros del protocolo DeFiner[8] como ejemplo para un análisis en profundidad:
El protocolo DeFiner realiza dos comprobaciones antes de procesar los retiros.
Primero, el método verifica si el monto solicitado por el usuario para retirar excede el saldo del activo:
function retiro(dirección cuentaAddr, dirección token, monto uint256) external onlyAuthorized return(uint256) { // Verifique si el monto retirado es menor que el saldo del usuario require(amount <= getDepositBalanceCurrent(_token, accountAddr), "Saldo insuficiente."); uint256 pedir prestadoLTV = globalConfig.tokenInfoRegistry().getBorrowLTV(token);
En segundo lugar, el método comprueba si los retiros dejarían al usuario con demasiado apalancamiento. La cantidad retirada se resta del "poder de préstamo" del precio actual del usuario. Si el valor total de endeudamiento del usuario excede el nuevo poder de endeudamiento, el método falla porque el usuario ya no tiene garantía suficiente para respaldar su posición de endeudamiento. Sin embargo, este requisito sólo se comprobará si el usuario aún no está sobreapalancado:
if (getBorrowETH(_accountAddr) <= getBorrowPower(_accountAddr)) require( getBorrowETH(_accountAddr) <= getBorrowPower(_accountAddr).sub( cantidad.mul(globalConfig.tokenInfoRegistry().priceFromAddress(token)) .mul(borrowLTV).div (Utils.getDivisor(address(globalConfig), _token)).div(100) ), "Garantía insuficiente al retirar.");
Si un usuario ha pedido prestado más de lo que le permite su "poder de préstamo", los retiros se pueden realizar de todos modos. Esta situación puede ocurrir en una variedad de situaciones, siendo la más común las fluctuaciones de precios. El protocolo no tuvo en cuenta el impacto de las fluctuaciones de precios en el protocolo, lo que provocó este problema.
otro
Además de la falta de diferenciación entre órdenes de límite y órdenes de mercado, errores de cálculo, errores de lógica y el impacto de las fluctuaciones de precios, hay muchos puntos de seguridad relacionados con los acuerdos de apalancamiento a los que debemos prestar atención. Esto incluye, entre otros, problemas como ataques de préstamos rápidos, manipulación de precios, seguridad de Oracle, control de acceso, controles de apalancamiento estrictos o insuficientes, y otros problemas. Al diseñar e implementar un protocolo de apalancamiento, estos factores deben considerarse cuidadosa y cuidadosamente para garantizar la solidez del protocolo y la seguridad de los activos del usuario. Las medidas preventivas, el seguimiento en tiempo real y los planes de respuesta a emergencias también son clave para reducir los riesgos potenciales y proteger los intereses de los usuarios.
Resumir
La introducción del comercio de apalancamiento en los protocolos DeFi proporciona al mercado una mayor operatividad, pero también trae consigo mecanismos comerciales más complejos. Aunque el comercio apalancado ofrece a los usuarios más oportunidades de inversión, sus riesgos potenciales y desafíos para la seguridad del protocolo también se han vuelto más importantes.
A medida que aumenta el apalancamiento, el funcionamiento del protocolo se vuelve más flexible, pero también se vuelve más frágil y susceptible a diversas amenazas a la seguridad. Esto incluye la posibilidad de no distinguir estrictamente entre órdenes límite y de mercado, errores de cálculo, errores lógicos y una sensibilidad extrema a factores como las fluctuaciones de precios. En este caso, debemos prestar más atención a la seguridad del protocolo para garantizar que los activos de los usuarios estén protegidos de manera efectiva.
ScaleBit es un equipo de seguridad blockchain líder en el campo Web3, ubicado en Silicon Valley, Singapur, Hong Kong, Taiwán y otros lugares. Hemos proporcionado soluciones de seguridad blockchain a más de 200 instituciones y proyectos en el campo global Web3, auditamos un total de más de 180 000 líneas de código y protegemos activos de usuarios por más de 8 mil millones de dólares estadounidenses. ¡Haga que la seguridad sea accesible para todos! Si tiene alguna necesidad de auditoría de seguridad, no dude en contactarnos. Personalizaremos soluciones de seguridad detalladas, integrales y profesionales para protegerlo a usted y al campo Web3.