O recente lançamento do dYdX V4 atraiu muita atenção e participação na troca de contratos perpétuos. O dYdX aplicou com sucesso exemplos de negociação alavancada, e não devemos apenas esperar pelo grande potencial do dYdX V4, mas também prestar mais atenção à segurança dos acordos alavancados. Em seguida, usaremos análises de código específicas e exemplos para orientá-lo através das diferentes estratégias de alavancagem e considerações de segurança.
Em finanças, a alavancagem é uma estratégia que depende do empréstimo de dinheiro para aumentar o potencial retorno de um investimento. Simplificando, investidores ou traders pedem dinheiro emprestado para ampliar a sua exposição a tipos específicos de ativos, projetos ou instrumentos muito mais do que conseguem alcançar apenas com base no seu próprio capital. Frequentemente, através do uso da alavancagem, os investidores conseguem ampliar o seu poder de compra no mercado.
O uso de alavancagem é uma das características mais importantes e comuns da negociação de ativos criptográficos. Pouco depois do estabelecimento de trocas descentralizadas, a negociação com alavancagem tornou-se cada vez mais popular, embora o mercado de criptomoedas já estivesse a mostrar uma elevada volatilidade.
Tal como na finança tradicional, os traders recorrem à alavancagem quer simplesmente para pedir capital emprestado e aumentar o seu poder de compra, quer para aproveitar vários derivados financeiros, como futuros e opções.
A taxa de alavancagem também aumentou de 3x e 5x para mais de 100x. Maior alavancagem significa maior risco, mas, como visto na maioria das bolsas centralizadas, este é um risco que os traders agressivos em busca de retornos mais elevados estão dispostos a assumir à medida que o volume de negociação alavancada cresce.
No que diz respeito ao DeFi, os produtos alavancados estão principalmente divididos em quatro tipos, e os mecanismos para gerar alavancagem são diferentes: empréstimos alavancados, alavancagem de negociação margem, alavancagem de contrato perpétuo e tokens alavancados.
O empréstimo e empréstimo DeFi é uma das primeiras e maiores aplicações DeFi. Gigantes como MakerDAO, Compound, AAVE e Vênus já estão a operar no mercado. A lógica para obter alavancagem através do empréstimo de ativos cripto é simples.
Por exemplo, se tiver $10,000 em Ether (ETH) e for otimista, pode depositar o seu ETH como garantia no Compound, emprestar $5,000 em USDC e depois usar esse negócio de $5,000 em USDC em troca de mais $5,000 em ETH. Desta forma, terá 1.5 vezes alavancagem no ETH e, comparado ao seu capital inicial de $10,000, terá $1.5 milhões de exposição em ETH.
Da mesma forma, se for pessimista, pode optar por depositar stablecoins e emprestar ETH. Se o preço do ETH cair, pode comprar ETH no mercado a um preço mais baixo e pagar as suas dívidas.
Tenha em conta que, uma vez que estará a pedir emprestado a um protocolo descentralizado, poderá ser liquidado se o valor do colateral baixar ou se o valor do ativo que está a pedir emprestado exceder um determinado limite.
Com empréstimos DeFi, você pode fazer o que quiser com esses ativos digitais. A negociação de margem DeFi concentra-se mais em aumentar o tamanho da posição (aumentando o poder de compra) e é considerada uma verdadeira "posição alavancada". No entanto, há uma diferença importante - enquanto as posições de margem ainda estão abertas, os ativos dos traders atuam como garantia para os fundos emprestados.
dYdX é uma plataforma bem conhecida de negociação de margem descentralizada que permite até 5x de alavancagem. Na negociação de margem da dYdX, os traders usam seus próprios fundos como garantia, ampliam seu capital original por várias vezes e usam esses fundos ampliados para investir em maior escala.
Os traders são obrigados a pagar juros e taxas associadas à transação. Esta posição não é fictícia; envolve efetivamente empréstimos e compra/venda reais.
Se o mercado se mover numa direção desfavorável, os ativos do trader podem não ser capazes de reembolsar totalmente o empréstimo. Para evitar que isso aconteça, o acordo liquidará as suas posições antes de atingir uma certa taxa de liquidação.
Como é que a alavancagem muda na negociação com margem——
Digamos que está otimista em relação ao ETH 3 vezes na negociação com margem, mas não quer ajustar constantemente a sua exposição.
Você possui $100 em USDC e empresta mais $200 em USDC para negociar $300 em ETH para estabelecer a posição longa em ETH necessária. O nível de alavancagem é $300/$100 = 3x.
Se o preço do ETH subir 20%, o seu lucro seria de 300 (1 +20%) -300 = $60. O risco de ser liquidado é menor, enquanto o nível de alavancagem real é reduzido para 360/ (360-200) = 2,25x. Em outras palavras, você reduzirá automaticamente sua alavancagem quando o preço do ETH subir.
Se o preço do ETH cair 20%, a sua perda seria de 300 (1-20%) -300 = -60 dólares. Quando se trata de liquidação, encontra-se numa posição mais perigosa e o nível real de alavancagem é automaticamente aumentado para 240/(240-200) = 6x. Em outras palavras, reequilibra a sua alavancagem quando o preço do ETH cai, o que indica que está numa posição de risco mais elevado do que antes.
Portanto, embora possa pensar que pode manter alavancagem constante ao negociar com uma margem fixa de 3x, a alavancagem em tempo real está em constante mudança.Por favor, verifique o gráfico abaixo para ver como a alavancagem irá mudar dependendo das mudanças de preço [1].
Os contratos perpétuos são semelhantes aos contratos de futuros tradicionais, mas não têm uma data de vencimento. Os contratos perpétuos imitam um mercado à vista baseado em margem, de modo que a negociação está próxima do preço do índice de referência subjacente.
Existem muitos projetos DeFi que oferecem contratos perpétuos para traders, como dYdX, MCDEX, Perpetual Protocol, Incomplete, etc. Muitos traders podem achar difícil distinguir entre trading com margem e contratos perpétuos — na verdade, todos envolvem alavancagem do usuário.
No entanto, existem algumas diferenças nos mecanismos de alavancagem, taxas e níveis de alavancagem.
Um contrato perpétuo é um produto derivado que negoceia ativos sintéticos e tem a característica de negociar com margem. O preço do ativo subjacente é seguido de forma sintética, sem a necessidade de negociar o ativo subjacente real. No entanto, a negociação com margem envolve o empréstimo e a negociação de ativos criptográficos reais.
Com o advento de contratos perpétuos, surgiu o conceito de taxas de financiamento. O objetivo é manter o preço da transação de um contrato perpétuo consistente com o preço de referência subjacente. Se o preço do contrato for superior ao preço à vista, então os touros pagarão aos shorts. Em outras palavras, os traders precisam constantemente pagar taxas pelo empréstimo.
A alavancagem nos contratos perpétuos é geralmente superior à da negociação com margem e pode chegar a 100x. A liquidação e os mecanismos de alavancagem real são os mesmos da negociação com margem.
Os tokens alavancados são derivados que proporcionam aos detentores exposição alavancada ao mercado de criptomoedas sem a necessidade de se preocupar com a gestão ativa de posições alavancadas. Embora proporcionem aos detentores exposição alavancada, não requerem lidar com margem, liquidação, colateral ou taxas de financiamento.
A maior diferença entre tokens alavancados e negociação com margem/contratos perpétuos é que os tokens alavancados serão reequilibrados periodicamente ou quando um determinado limiar for atingido para manter um nível específico de alavancagem.
Isso é claramente diferente da negociação com margem e contratos perpétuos — a alavancagem real desses produtos está constantemente mudando de acordo com as flutuações de preços, mesmo que o trader possa especificar inicialmente um nível de alavancagem.
Vamos dar uma olhada em como o reequilíbrio funciona no exemplo de 3x ETH acima:
Você tem $100 de USDC e compra um token alavancado ETHBULL (3x). O protocolo automaticamente vai pegar emprestado $200 em USDC e negociar $200 em ETH.
Suponha que o preço do ETH tenha subido 20%, enquanto o preço do token ETHBULL (3x) sobe para 300* (1 +20%) -200 = $160 antes do reequilíbrio. Sua alavancagem real agora é de 2,25 (360/160), abaixo da sua alavancagem alvo.
Como parte do processo de reequilíbrio, o protocolo irá pedir mais dólares à reserva de stablecoins e comprar tokens ETH adicionais para trazer a alavancagem de volta para 3x. No nosso exemplo, o protocolo iria pedir emprestados mais $120 e trocá-los por ETH. Assim, a alavancagem total novamente se torna (360+120) /160 = 3 vezes.
Suponha que o preço do ETH caiu 20%, enquanto o preço do token ETHBULL (3x) cai para 300* (1-20%) -200 = $40 antes do reequilíbrio. Sua alavancagem real agora será de 6 (240/40), acima de sua alavancagem alvo.
Neste caso, o acordo venderia tokens ETH e pagaria dívidas pendentes para reduzir a alavancagem. Neste exemplo, o protocolo venderia $120 em ETH para pagar o pool. A dívida passaria a ser de $80, e a alavancagem total seria novamente (240-120) /40 = 3x.
Em outras palavras, os tokens alavancados serão automaticamente re-alavancados em lucros e desalavancados em perdas para restaurar seu nível alvo de alavancagem. Se esse mecanismo funcionar bem, mesmo em tendências de mercado adversas, os detentores de tokens alavancados não serão liquidados porque o mecanismo de desalavancagem continuará reduzindo o nível de alavancagem efetivo dos usuários.
Como resultado, a piscina de empréstimos no modelo de token alavancado estará isenta do risco de liquidação e é mais segura do que a piscina de empréstimos na negociação de margem.
Agora que aprendemos sobre alguns tipos comuns de protocolos DeFi de alavancagem, vamos discutir a aplicação da alavancagem em detalhe em relação a protocolos DeFi específicos.
GMX [2]é uma troca descentralizada de spot e perpetual que oferece aos traders a capacidade de negociar ativos com até 50 vezes de alavancagem. O acordo atualmente funciona na Arbitrum e Avalanche. Na GMX, os traders estão totalmente cientes da situação de sua contraparte, o que é completamente diferente de negociar em CEX. Ao contrário de outros acordos de contrato perpétuo como dYdX, a GMX opera totalmente on-chain e utiliza a funcionalidade AMM para possibilitar a negociação alavancada.
O que distingue a GMX de outros serviços é que é uma bolsa descentralizada que oferece serviços de negociação alavancada. Neste sentido, combina uma experiência semelhante a outras bolsas DeFi como Uniswap com serviços de negociação alavancada oferecidos pela Binance e outros.
GMX tem uma piscina de liquidez GLP, que é uma piscina de vários ativos que fornece liquidez para negociação de margem: os usuários podem ir longo/corto e executar negociações, emitindo e destruindo tokens GLP. A piscina ganha taxas de LP de negociações e negociações alavancadas, que são distribuídas para os detentores de GMX e GLP.
Para negociar com alavancagem, os traders depositam garantias num acordo. Os traders podem escolher uma alavancagem de até 50x. Quanto maior a alavancagem, maior o preço de liquidação, que aumentará gradualmente à medida que os custos de empréstimo aumentam.
Por exemplo, ao fazer uma posição longa em ETH, os traders estão a 'arrendar' o espaço ascendente do ETH a partir da pool GLP; ao fazer uma posição curta em ETH, os traders estão a 'alugar' o espaço ascendente de stablecoins contra ETH a partir da pool GLP. No entanto, os ativos na pool GLP não são realmente alugados.
Ao fechar uma posição, se o trader apostar corretamente, os lucros serão pagos na forma de aumento de tokens a partir do pool GLP; caso contrário, as perdas serão deduzidas do colateral e pagas ao pool. GLP lucra com as perdas e lucros dos traders.
No processo, os traders pagam taxas de transação, taxas de abertura/fecho e taxas de empréstimo em troca de espaço ascendente para long/short tokens especificados (BTC, ETH, AVAX, UNI e LINK) contra o dólar dos EUA.
Merkle Trade[3]é uma plataforma de negociação descentralizada que oferece negociação de criptomoedas, forex e commodities com alavancagem de até 1.000x e recursos avançados de negociação centrados no usuário. A Merkle Trade é alimentada pela blockchain Aptos e possui desempenho e escalabilidade de primeira classe. Em comparação com a Gains Network, que oferece a mesma alta alavancagem, tem menores atrasos e taxas de transação.
Ao contrário da maioria das bolsas, não há livro de ordens na Merkle Trade. Em vez disso, a Merkle LP atua como contraparte de cada negociação, e quando os traders perdem dinheiro, ela recebe colateral e paga lucros em negociações fechadas com retornos positivos.
A Merkle Trade foi projetada desde o início para oferecer uma ampla variedade de pares de negociação, incluindo criptomoedas, forex e commodities, e algumas das alavancagens mais altas do mercado; até 150x em criptomoedas e até 1.000x em forex.
Gerar blockchain com Aptos, que tem a menor latência até à data, pode proporcionar a experiência de transação on-chain mais rápida. Para os traders, isto significa uma experiência de negociação mais rápida e menos derrapagem de preço devido a atrasos na execução.
Os traders negociam com um pool de liquidez (Merkle LP), que atua como contraparte de todas as transações no contrato. Todas as transações e liquidações são executadas por contratos inteligentes, e não há hospedagem de fundos do usuário em nenhum momento.
A Merkle Trade afirma ter uma das taxas mais baixas do mercado até à data. No lançamento, as taxas para pares de negociação de criptomoedas eram tão baixas quanto 0.05%, e as taxas para pares de negociação forex eram tão baixas quanto 0.0075%.
DYDX
dYdX[4]é uma bolsa descentralizada (DEX) que capacita os utilizadores a negociar de forma eficiente contratos perpétuos, mantendo controlo total sobre os ativos. Desde o seu lançamento em 2021, o dYdX V3 adotou uma solução de escalonamento única de segunda camada não custodial para implementar a sua bolsa, contudo o seu livro de ordens e motor de correspondência ainda são geridos centralmente.
Agora, com o dYdX V4, o protocolo está crescendo para a sua própria cadeia, e o protocolo inteiro está a ser completamente reestruturado para alcançar completa descentralização, ao mesmo tempo que aumenta a capacidade de processamento. O dYdX também inclui três funções: empréstimos, negociação alavancada e contratos perpétuos. A negociação alavancada vem com uma função de empréstimo. Os fundos depositados pelos usuários automaticamente formam um pool de fundos. Se houver capital insuficiente durante a negociação, o juro é automaticamente emprestado e pago.
Apresentamos os tipos comuns e aplicações de alavancagem no DeFi. Além disso, ainda existem muitas questões de segurança no design de alavancagem que merecem a nossa atenção. Vamos analisar as questões de segurança e os pontos de auditoria da alavancagem DeFi com base em casos específicos de auditoria.
Na maioria das aplicações de troca alavancada, existem ordens de limite e ordens de mercado. A diferenciação estrita e verificação das ordens de limite e ordens de mercado é muito necessária.A seguir, faremos uma análise detalhada dos problemas que encontramos na auditoria de Merkle Trade [5].
deixe agora = timestamp: :now_seconds (); se (agora - order.created_timestamp > 30) { cancelar_order_internal(_order_id, order, T_CANCEL_ORDER_EXPIRED); retorno };
Esta parte do código executa as verificações na função de ordem, onde verifica se já passaram mais de 30 segundos desde que a ordem foi criada. Se as condições forem cumpridas, chame cancel_order_internal () para cancelar a ordem. No entanto, se a ordem for uma ordem limite, significa que a ordem tem um preço específico definido pelo trader e estão dispostos a comprar ou vender o ativo a esse preço. Não deve haver tal julgamento ao executar ordens de limite; isso pode fazer com que a maioria das ordens de limite não sejam executadas. Portanto, é importante diferenciar estritamente a lógica de negociação entre ordens de limite e ordens de mercado.
Os erros de cálculo sempre foram um problema muito comum no DeFi e também são particularmente comuns na alavancagem. Usaremos os problemas descobertos pelo protocolo Unstoppable em auditorias de terceiros para examinar minuciosamente os problemas de cálculo da alavancagem.
Vamos analisar o código para calcular a alavancagem no Unstoppable:
def _calculate_calculation ( _position_value: uint256, _debt_value: uint256, _margin_value: uint256) - > uint256: if _position_value < = _debt_value: #bad debt Return max_value (uint256) Return ( precision * (_debt_value + _margin_value) /(_position_value - _debt_value) /PRECISION )
A função _calculate_margin causou uma cálculo incorreto da alavancagem ao utilizar _debt_value + _margin_value como numerador em vez de _position_value. Os três parâmetros de entrada da função _position_value, _debt_value e _margin_value são todos determinados pelas informações de preço fornecidas pelos oráculos on-chain da Chainlink. Aqui, _debt_value indica o valor da conversão da quota de dívida da posição em montante de dívida em dólares. _margin_value indica o valor atual do montante de margem inicial da posição (em dólares americanos). _position_value indica o valor atual (em dólares americanos) do montante de posição inicial da posição.
O problema com o cálculo acima é que _debt_value + _margin_value não representa o valor da posição. A alavancagem é a proporção entre o valor atual da posição e o valor atual da margem. _position_value - _debt_value está correto. Indica o valor atual da margem, mas _debt_value + _margin_value não representa o valor atual da posição, porque não há garantia de que tokens de dívida e tokens de posição tenham flutuações de preço relacionadas.
Por exemplo, o token de dívida é ETH e o token de posição é BTC.
Alice usa 1 ETH como margem, empresta 14 ETH ($2.000 cada) e obtém 1 BTC ($30.000 cada) em tokens de posição. A alavancagem é de 14.
No dia seguinte, o preço do ETH manteve-se em $2,000/ETH, mas o preço do BTC caiu de $30,000/BTC para $29,000/BTC. Neste ponto, a alavancagem deve ser (_position_value == 29,000)/(_position_value == 29,000 - _debt_value == 28,000) = 29, não o valor calculado no contrato: (_debt_value == 28,000 + _margin_value == 2,000)/(_position_value == 29,000 - _debt_value == 28,000) = 30.
Por conseguinte, para corrigir isto, a fórmula correta mencionada acima deve ser utilizada para calcular a alavancagem em contratos inteligentes. Um cálculo errado da alavancagem pode levar a liquidações injustas ou posições excessivamente alavancadas perante flutuações de preços.
Nos contratos inteligentes, garantir o cálculo adequado de alavancagem é crucial para manter a robustez do sistema e os interesses dos utilizadores. O cálculo correto da alavancagem deve ser baseado na proporção entre o valor atual da posição e o valor atual da margem. Se a fórmula de cálculo errada for usada, pode causar uma reação inadequada do sistema às alterações de preço, liquidar posições que não devem ser liquidadas ou permitir que posições excessivamente alavancadas continuem a existir, aumentando assim o risco do sistema e dos utilizadores.
Erro de lógica
Erros lógicos requerem atenção especial em auditorias de contratos inteligentes, especialmente em lógicas complexas como DeFi trading alavancado.
Vamos discutir as questões lógicas a ter em conta na alavancagem DeFi usando questões descobertas por Tigris[7](Tigris, uma plataforma descentralizada de negociação alavancada sintética com base em Arbitrum e Polygon) numa auditoria de terceiros.
Vamos dar uma olhada na lógica da função de fecho do limite de preço em Tigris:
função limitClose (uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) externo{_checkDelay(_id, falso);(uint _limitPrice, address _tigAsset) = tradingExtension._limitClose(_id, _tp, _priceData, _signature);_closePosition(_id, DIVISION_CONSTANT, _limitPrice, address(0), _tigAsset, verdadeiro);}função _limitClose (uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) externo view retorna (uint _limitPrice, address _TIGAsset) {_checkGas();iPosition.trade memory _trade = position.trades(_id);_tigAsset = _trade.tigAsset;getVerifiedPrice(_trade.asset, _priceData, _signature, 0);uint256 _price = _priceData.price;if (_trade.orderType! = 0) revert("4"); //isLimit if (_tp) {if (_trade.tpPrice == 0) revert("7"); //limitNotSet if (_trade.direction) {if (_trade.tpPrice > _price) revert("6"); //LimitNotMet} else {if (_trade.tpPrice < _price) revert("6"); //LimitNotMet}_limitPrice = _trade.tpPrice;} else {if (_trade.slprice == 0) revert("7"); //limitNotSet if (_trade.direction) {if (_trade.slPrice < _price) revert("6"); //LimitNotMet} else {if (_trade.slPrice > _price) revert("6"); //LimitNotMet} //@audit stop loss is closed at user specified price NOT market price _limitPrice = _trade.slprice;}}
Ao usar stop-loss para fechar uma posição, o preço de fecho do utilizador é o preço de stop-loss definido pelo utilizador, não o preço atual do ativo. No caso de mercados direcionais e alta alavancagem, os utilizadores podem abusar disso para alcançar negociações quase sem risco. Os utilizadores podem abrir uma posição longa e definir um preço de stop-loss que seja $0.01 inferior ao preço atual.
Se o preço cair imediatamente na próxima atualização, eles fecharão a sua posição ao preço de entrada e apenas pagarão as taxas de abertura e fecho. Se os preços subirem, é provável que ganhem muito dinheiro. Como resultado, os utilizadores podem abusar dos métodos de preços de stop-loss para abrir negociações com alta alavancagem, alto potencial de ganho e baixo risco de queda.
Price Tubs
O impacto das flutuações de preços na alavancagem DeFi é muito importante. Apenas considerando sempre as flutuações de preços podemos garantir a segurança dos acordos de alavancagem. Vamos usar o DeFiner [8]protocol como exemplo para uma análise aprofundada dos problemas descobertos em uma auditoria de terceiros:
O protocolo DeFiner passa por duas verificações antes de processar levantamentos.
Primeiro, o método verifica se o valor solicitado pelo usuário para sacar excede o saldo desse ativo:
função de autorização (endereço _accountAddr, endereço _token, uint256 _amount) externo apenasAutorizado retorna (uint256) { // Verificar se o montante é inferior ao saldo do utilizador exigir (_amount < = getDepositBalanceCurrent (_token, _accountAddr), "Saldo ganho."); uint256 borrowLtv = globalConfig.tokenInfoLogistry().getBorrowLtv(_token);
Em segundo lugar, o método verifica se os levantamentos farão com que a taxa de alavancagem do utilizador seja demasiado elevada. O montante levantado será subtraído do "poder de empréstimo" do preço atual do utilizador. Se o valor total do empréstimo do utilizador exceder o novo poder de empréstimo, o método falha porque o utilizador já não tem colateral suficiente para suportar a sua posição de empréstimo. No entanto, este requisito só será verificado se o utilizador não estiver excessivamente alavancado:
if (getBorrowEth(_accountAddr) < = getBorrowPower(_accountAddr)) require(getBorrowEth(_accountAddr) < = getBorrowPower(_accountAddr).sub(_amount.mul(globalConfig.tokenInfoRegistry().priceFromAddress(_token)).mul(borrowLtv).div(utils.getDivisor(address(globalConfig), _token)).div(100)), "Colóquio do Colégio quando";
Se os utilizadores tiverem emprestado mais do que o seu 'poder de empréstimo' permite, podem retirar dinheiro independentemente. Isto pode acontecer em várias situações, sendo a mais comum as flutuações de preço. O acordo não considerou o impacto das flutuações de preço no acordo, o que causou este problema.
Para além dos efeitos de não distinguir entre ordens de limite e ordens de mercado, erros de cálculo, erros lógicos e flutuações de preço mencionadas acima, existem muitos pontos de segurança relacionados com acordos de alavancagem que exigem a nossa atenção. Isto inclui, mas não se limita a, questões como ataques de empréstimo relâmpago, manipulação de preço, segurança do profeta, controlo de autoridade, verificações de alavancagem insuficientes ou falta de verificações. Estes fatores devem ser cuidadosamente considerados ao projetar e implementar acordos de alavancagem para garantir a robustez do acordo e a segurança dos ativos do utilizador. Medidas preventivas, monitorização em tempo real e planos de resposta de emergência são também essenciais para reduzir os riscos potenciais e proteger os interesses dos utilizadores.
Conclusão
A introdução de negociação alavancada em protocolos DeFi de fato proporcionou ao mercado uma maior manobrabilidade, ao mesmo tempo que trouxe mecanismos de negociação mais complexos. Embora a negociação alavancada forneça aos usuários mais oportunidades de investimento, seus riscos potenciais e desafios para a segurança do protocolo também se tornaram mais significativos.
À medida que a alavancagem aumenta, a operação dos acordos torna-se mais flexível, mas, como resultado, tornam-se mais vulneráveis e suscetíveis a várias ameaças de segurança. Isso inclui a potencial falha em fazer uma distinção rigorosa entre ordens de limite e ordens de mercado, erros de cálculo, erros lógicos e extrema sensibilidade a fatores como flutuações de preço. Neste caso, devemos prestar mais atenção à segurança do protocolo para garantir que os ativos dos utilizadores sejam protegidos de forma eficaz.
Como uma equipe líder de segurança blockchain no campo Web3, a ScaleBit está distribuída no Vale do Silício, Singapura, Hong Kong, Taiwan, etc. Nós fornecemos soluções de segurança blockchain para mais de 200 instituições e projetos no setor global Web3, acumulamos mais de 180.000 linhas de código de auditoria e protegemos mais de $8 bilhões em ativos de usuários. Tornar a Segurança Acessível para Todos! Se você tiver alguma necessidade de auditoria de segurança, sinta-se à vontade para entrar em contato conosco. Iremos fornecer soluções de segurança detalhadas, abrangentes e profissionais para protegê-lo e o campo Web3 com segurança!
Este artigo foi reimpresso de [ScaleBit]e os direitos de autor pertencem ao autor original [PolarisSe tiver alguma objeção à reprodução, entre em contato com a equipe Gate Learn e a equipe lidará com isso o mais rápido possível, de acordo com os procedimentos relevantes.
Aviso legal: As opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem qualquer conselho de investimento.
As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
O recente lançamento do dYdX V4 atraiu muita atenção e participação na troca de contratos perpétuos. O dYdX aplicou com sucesso exemplos de negociação alavancada, e não devemos apenas esperar pelo grande potencial do dYdX V4, mas também prestar mais atenção à segurança dos acordos alavancados. Em seguida, usaremos análises de código específicas e exemplos para orientá-lo através das diferentes estratégias de alavancagem e considerações de segurança.
Em finanças, a alavancagem é uma estratégia que depende do empréstimo de dinheiro para aumentar o potencial retorno de um investimento. Simplificando, investidores ou traders pedem dinheiro emprestado para ampliar a sua exposição a tipos específicos de ativos, projetos ou instrumentos muito mais do que conseguem alcançar apenas com base no seu próprio capital. Frequentemente, através do uso da alavancagem, os investidores conseguem ampliar o seu poder de compra no mercado.
O uso de alavancagem é uma das características mais importantes e comuns da negociação de ativos criptográficos. Pouco depois do estabelecimento de trocas descentralizadas, a negociação com alavancagem tornou-se cada vez mais popular, embora o mercado de criptomoedas já estivesse a mostrar uma elevada volatilidade.
Tal como na finança tradicional, os traders recorrem à alavancagem quer simplesmente para pedir capital emprestado e aumentar o seu poder de compra, quer para aproveitar vários derivados financeiros, como futuros e opções.
A taxa de alavancagem também aumentou de 3x e 5x para mais de 100x. Maior alavancagem significa maior risco, mas, como visto na maioria das bolsas centralizadas, este é um risco que os traders agressivos em busca de retornos mais elevados estão dispostos a assumir à medida que o volume de negociação alavancada cresce.
No que diz respeito ao DeFi, os produtos alavancados estão principalmente divididos em quatro tipos, e os mecanismos para gerar alavancagem são diferentes: empréstimos alavancados, alavancagem de negociação margem, alavancagem de contrato perpétuo e tokens alavancados.
O empréstimo e empréstimo DeFi é uma das primeiras e maiores aplicações DeFi. Gigantes como MakerDAO, Compound, AAVE e Vênus já estão a operar no mercado. A lógica para obter alavancagem através do empréstimo de ativos cripto é simples.
Por exemplo, se tiver $10,000 em Ether (ETH) e for otimista, pode depositar o seu ETH como garantia no Compound, emprestar $5,000 em USDC e depois usar esse negócio de $5,000 em USDC em troca de mais $5,000 em ETH. Desta forma, terá 1.5 vezes alavancagem no ETH e, comparado ao seu capital inicial de $10,000, terá $1.5 milhões de exposição em ETH.
Da mesma forma, se for pessimista, pode optar por depositar stablecoins e emprestar ETH. Se o preço do ETH cair, pode comprar ETH no mercado a um preço mais baixo e pagar as suas dívidas.
Tenha em conta que, uma vez que estará a pedir emprestado a um protocolo descentralizado, poderá ser liquidado se o valor do colateral baixar ou se o valor do ativo que está a pedir emprestado exceder um determinado limite.
Com empréstimos DeFi, você pode fazer o que quiser com esses ativos digitais. A negociação de margem DeFi concentra-se mais em aumentar o tamanho da posição (aumentando o poder de compra) e é considerada uma verdadeira "posição alavancada". No entanto, há uma diferença importante - enquanto as posições de margem ainda estão abertas, os ativos dos traders atuam como garantia para os fundos emprestados.
dYdX é uma plataforma bem conhecida de negociação de margem descentralizada que permite até 5x de alavancagem. Na negociação de margem da dYdX, os traders usam seus próprios fundos como garantia, ampliam seu capital original por várias vezes e usam esses fundos ampliados para investir em maior escala.
Os traders são obrigados a pagar juros e taxas associadas à transação. Esta posição não é fictícia; envolve efetivamente empréstimos e compra/venda reais.
Se o mercado se mover numa direção desfavorável, os ativos do trader podem não ser capazes de reembolsar totalmente o empréstimo. Para evitar que isso aconteça, o acordo liquidará as suas posições antes de atingir uma certa taxa de liquidação.
Como é que a alavancagem muda na negociação com margem——
Digamos que está otimista em relação ao ETH 3 vezes na negociação com margem, mas não quer ajustar constantemente a sua exposição.
Você possui $100 em USDC e empresta mais $200 em USDC para negociar $300 em ETH para estabelecer a posição longa em ETH necessária. O nível de alavancagem é $300/$100 = 3x.
Se o preço do ETH subir 20%, o seu lucro seria de 300 (1 +20%) -300 = $60. O risco de ser liquidado é menor, enquanto o nível de alavancagem real é reduzido para 360/ (360-200) = 2,25x. Em outras palavras, você reduzirá automaticamente sua alavancagem quando o preço do ETH subir.
Se o preço do ETH cair 20%, a sua perda seria de 300 (1-20%) -300 = -60 dólares. Quando se trata de liquidação, encontra-se numa posição mais perigosa e o nível real de alavancagem é automaticamente aumentado para 240/(240-200) = 6x. Em outras palavras, reequilibra a sua alavancagem quando o preço do ETH cai, o que indica que está numa posição de risco mais elevado do que antes.
Portanto, embora possa pensar que pode manter alavancagem constante ao negociar com uma margem fixa de 3x, a alavancagem em tempo real está em constante mudança.Por favor, verifique o gráfico abaixo para ver como a alavancagem irá mudar dependendo das mudanças de preço [1].
Os contratos perpétuos são semelhantes aos contratos de futuros tradicionais, mas não têm uma data de vencimento. Os contratos perpétuos imitam um mercado à vista baseado em margem, de modo que a negociação está próxima do preço do índice de referência subjacente.
Existem muitos projetos DeFi que oferecem contratos perpétuos para traders, como dYdX, MCDEX, Perpetual Protocol, Incomplete, etc. Muitos traders podem achar difícil distinguir entre trading com margem e contratos perpétuos — na verdade, todos envolvem alavancagem do usuário.
No entanto, existem algumas diferenças nos mecanismos de alavancagem, taxas e níveis de alavancagem.
Um contrato perpétuo é um produto derivado que negoceia ativos sintéticos e tem a característica de negociar com margem. O preço do ativo subjacente é seguido de forma sintética, sem a necessidade de negociar o ativo subjacente real. No entanto, a negociação com margem envolve o empréstimo e a negociação de ativos criptográficos reais.
Com o advento de contratos perpétuos, surgiu o conceito de taxas de financiamento. O objetivo é manter o preço da transação de um contrato perpétuo consistente com o preço de referência subjacente. Se o preço do contrato for superior ao preço à vista, então os touros pagarão aos shorts. Em outras palavras, os traders precisam constantemente pagar taxas pelo empréstimo.
A alavancagem nos contratos perpétuos é geralmente superior à da negociação com margem e pode chegar a 100x. A liquidação e os mecanismos de alavancagem real são os mesmos da negociação com margem.
Os tokens alavancados são derivados que proporcionam aos detentores exposição alavancada ao mercado de criptomoedas sem a necessidade de se preocupar com a gestão ativa de posições alavancadas. Embora proporcionem aos detentores exposição alavancada, não requerem lidar com margem, liquidação, colateral ou taxas de financiamento.
A maior diferença entre tokens alavancados e negociação com margem/contratos perpétuos é que os tokens alavancados serão reequilibrados periodicamente ou quando um determinado limiar for atingido para manter um nível específico de alavancagem.
Isso é claramente diferente da negociação com margem e contratos perpétuos — a alavancagem real desses produtos está constantemente mudando de acordo com as flutuações de preços, mesmo que o trader possa especificar inicialmente um nível de alavancagem.
Vamos dar uma olhada em como o reequilíbrio funciona no exemplo de 3x ETH acima:
Você tem $100 de USDC e compra um token alavancado ETHBULL (3x). O protocolo automaticamente vai pegar emprestado $200 em USDC e negociar $200 em ETH.
Suponha que o preço do ETH tenha subido 20%, enquanto o preço do token ETHBULL (3x) sobe para 300* (1 +20%) -200 = $160 antes do reequilíbrio. Sua alavancagem real agora é de 2,25 (360/160), abaixo da sua alavancagem alvo.
Como parte do processo de reequilíbrio, o protocolo irá pedir mais dólares à reserva de stablecoins e comprar tokens ETH adicionais para trazer a alavancagem de volta para 3x. No nosso exemplo, o protocolo iria pedir emprestados mais $120 e trocá-los por ETH. Assim, a alavancagem total novamente se torna (360+120) /160 = 3 vezes.
Suponha que o preço do ETH caiu 20%, enquanto o preço do token ETHBULL (3x) cai para 300* (1-20%) -200 = $40 antes do reequilíbrio. Sua alavancagem real agora será de 6 (240/40), acima de sua alavancagem alvo.
Neste caso, o acordo venderia tokens ETH e pagaria dívidas pendentes para reduzir a alavancagem. Neste exemplo, o protocolo venderia $120 em ETH para pagar o pool. A dívida passaria a ser de $80, e a alavancagem total seria novamente (240-120) /40 = 3x.
Em outras palavras, os tokens alavancados serão automaticamente re-alavancados em lucros e desalavancados em perdas para restaurar seu nível alvo de alavancagem. Se esse mecanismo funcionar bem, mesmo em tendências de mercado adversas, os detentores de tokens alavancados não serão liquidados porque o mecanismo de desalavancagem continuará reduzindo o nível de alavancagem efetivo dos usuários.
Como resultado, a piscina de empréstimos no modelo de token alavancado estará isenta do risco de liquidação e é mais segura do que a piscina de empréstimos na negociação de margem.
Agora que aprendemos sobre alguns tipos comuns de protocolos DeFi de alavancagem, vamos discutir a aplicação da alavancagem em detalhe em relação a protocolos DeFi específicos.
GMX [2]é uma troca descentralizada de spot e perpetual que oferece aos traders a capacidade de negociar ativos com até 50 vezes de alavancagem. O acordo atualmente funciona na Arbitrum e Avalanche. Na GMX, os traders estão totalmente cientes da situação de sua contraparte, o que é completamente diferente de negociar em CEX. Ao contrário de outros acordos de contrato perpétuo como dYdX, a GMX opera totalmente on-chain e utiliza a funcionalidade AMM para possibilitar a negociação alavancada.
O que distingue a GMX de outros serviços é que é uma bolsa descentralizada que oferece serviços de negociação alavancada. Neste sentido, combina uma experiência semelhante a outras bolsas DeFi como Uniswap com serviços de negociação alavancada oferecidos pela Binance e outros.
GMX tem uma piscina de liquidez GLP, que é uma piscina de vários ativos que fornece liquidez para negociação de margem: os usuários podem ir longo/corto e executar negociações, emitindo e destruindo tokens GLP. A piscina ganha taxas de LP de negociações e negociações alavancadas, que são distribuídas para os detentores de GMX e GLP.
Para negociar com alavancagem, os traders depositam garantias num acordo. Os traders podem escolher uma alavancagem de até 50x. Quanto maior a alavancagem, maior o preço de liquidação, que aumentará gradualmente à medida que os custos de empréstimo aumentam.
Por exemplo, ao fazer uma posição longa em ETH, os traders estão a 'arrendar' o espaço ascendente do ETH a partir da pool GLP; ao fazer uma posição curta em ETH, os traders estão a 'alugar' o espaço ascendente de stablecoins contra ETH a partir da pool GLP. No entanto, os ativos na pool GLP não são realmente alugados.
Ao fechar uma posição, se o trader apostar corretamente, os lucros serão pagos na forma de aumento de tokens a partir do pool GLP; caso contrário, as perdas serão deduzidas do colateral e pagas ao pool. GLP lucra com as perdas e lucros dos traders.
No processo, os traders pagam taxas de transação, taxas de abertura/fecho e taxas de empréstimo em troca de espaço ascendente para long/short tokens especificados (BTC, ETH, AVAX, UNI e LINK) contra o dólar dos EUA.
Merkle Trade[3]é uma plataforma de negociação descentralizada que oferece negociação de criptomoedas, forex e commodities com alavancagem de até 1.000x e recursos avançados de negociação centrados no usuário. A Merkle Trade é alimentada pela blockchain Aptos e possui desempenho e escalabilidade de primeira classe. Em comparação com a Gains Network, que oferece a mesma alta alavancagem, tem menores atrasos e taxas de transação.
Ao contrário da maioria das bolsas, não há livro de ordens na Merkle Trade. Em vez disso, a Merkle LP atua como contraparte de cada negociação, e quando os traders perdem dinheiro, ela recebe colateral e paga lucros em negociações fechadas com retornos positivos.
A Merkle Trade foi projetada desde o início para oferecer uma ampla variedade de pares de negociação, incluindo criptomoedas, forex e commodities, e algumas das alavancagens mais altas do mercado; até 150x em criptomoedas e até 1.000x em forex.
Gerar blockchain com Aptos, que tem a menor latência até à data, pode proporcionar a experiência de transação on-chain mais rápida. Para os traders, isto significa uma experiência de negociação mais rápida e menos derrapagem de preço devido a atrasos na execução.
Os traders negociam com um pool de liquidez (Merkle LP), que atua como contraparte de todas as transações no contrato. Todas as transações e liquidações são executadas por contratos inteligentes, e não há hospedagem de fundos do usuário em nenhum momento.
A Merkle Trade afirma ter uma das taxas mais baixas do mercado até à data. No lançamento, as taxas para pares de negociação de criptomoedas eram tão baixas quanto 0.05%, e as taxas para pares de negociação forex eram tão baixas quanto 0.0075%.
DYDX
dYdX[4]é uma bolsa descentralizada (DEX) que capacita os utilizadores a negociar de forma eficiente contratos perpétuos, mantendo controlo total sobre os ativos. Desde o seu lançamento em 2021, o dYdX V3 adotou uma solução de escalonamento única de segunda camada não custodial para implementar a sua bolsa, contudo o seu livro de ordens e motor de correspondência ainda são geridos centralmente.
Agora, com o dYdX V4, o protocolo está crescendo para a sua própria cadeia, e o protocolo inteiro está a ser completamente reestruturado para alcançar completa descentralização, ao mesmo tempo que aumenta a capacidade de processamento. O dYdX também inclui três funções: empréstimos, negociação alavancada e contratos perpétuos. A negociação alavancada vem com uma função de empréstimo. Os fundos depositados pelos usuários automaticamente formam um pool de fundos. Se houver capital insuficiente durante a negociação, o juro é automaticamente emprestado e pago.
Apresentamos os tipos comuns e aplicações de alavancagem no DeFi. Além disso, ainda existem muitas questões de segurança no design de alavancagem que merecem a nossa atenção. Vamos analisar as questões de segurança e os pontos de auditoria da alavancagem DeFi com base em casos específicos de auditoria.
Na maioria das aplicações de troca alavancada, existem ordens de limite e ordens de mercado. A diferenciação estrita e verificação das ordens de limite e ordens de mercado é muito necessária.A seguir, faremos uma análise detalhada dos problemas que encontramos na auditoria de Merkle Trade [5].
deixe agora = timestamp: :now_seconds (); se (agora - order.created_timestamp > 30) { cancelar_order_internal(_order_id, order, T_CANCEL_ORDER_EXPIRED); retorno };
Esta parte do código executa as verificações na função de ordem, onde verifica se já passaram mais de 30 segundos desde que a ordem foi criada. Se as condições forem cumpridas, chame cancel_order_internal () para cancelar a ordem. No entanto, se a ordem for uma ordem limite, significa que a ordem tem um preço específico definido pelo trader e estão dispostos a comprar ou vender o ativo a esse preço. Não deve haver tal julgamento ao executar ordens de limite; isso pode fazer com que a maioria das ordens de limite não sejam executadas. Portanto, é importante diferenciar estritamente a lógica de negociação entre ordens de limite e ordens de mercado.
Os erros de cálculo sempre foram um problema muito comum no DeFi e também são particularmente comuns na alavancagem. Usaremos os problemas descobertos pelo protocolo Unstoppable em auditorias de terceiros para examinar minuciosamente os problemas de cálculo da alavancagem.
Vamos analisar o código para calcular a alavancagem no Unstoppable:
def _calculate_calculation ( _position_value: uint256, _debt_value: uint256, _margin_value: uint256) - > uint256: if _position_value < = _debt_value: #bad debt Return max_value (uint256) Return ( precision * (_debt_value + _margin_value) /(_position_value - _debt_value) /PRECISION )
A função _calculate_margin causou uma cálculo incorreto da alavancagem ao utilizar _debt_value + _margin_value como numerador em vez de _position_value. Os três parâmetros de entrada da função _position_value, _debt_value e _margin_value são todos determinados pelas informações de preço fornecidas pelos oráculos on-chain da Chainlink. Aqui, _debt_value indica o valor da conversão da quota de dívida da posição em montante de dívida em dólares. _margin_value indica o valor atual do montante de margem inicial da posição (em dólares americanos). _position_value indica o valor atual (em dólares americanos) do montante de posição inicial da posição.
O problema com o cálculo acima é que _debt_value + _margin_value não representa o valor da posição. A alavancagem é a proporção entre o valor atual da posição e o valor atual da margem. _position_value - _debt_value está correto. Indica o valor atual da margem, mas _debt_value + _margin_value não representa o valor atual da posição, porque não há garantia de que tokens de dívida e tokens de posição tenham flutuações de preço relacionadas.
Por exemplo, o token de dívida é ETH e o token de posição é BTC.
Alice usa 1 ETH como margem, empresta 14 ETH ($2.000 cada) e obtém 1 BTC ($30.000 cada) em tokens de posição. A alavancagem é de 14.
No dia seguinte, o preço do ETH manteve-se em $2,000/ETH, mas o preço do BTC caiu de $30,000/BTC para $29,000/BTC. Neste ponto, a alavancagem deve ser (_position_value == 29,000)/(_position_value == 29,000 - _debt_value == 28,000) = 29, não o valor calculado no contrato: (_debt_value == 28,000 + _margin_value == 2,000)/(_position_value == 29,000 - _debt_value == 28,000) = 30.
Por conseguinte, para corrigir isto, a fórmula correta mencionada acima deve ser utilizada para calcular a alavancagem em contratos inteligentes. Um cálculo errado da alavancagem pode levar a liquidações injustas ou posições excessivamente alavancadas perante flutuações de preços.
Nos contratos inteligentes, garantir o cálculo adequado de alavancagem é crucial para manter a robustez do sistema e os interesses dos utilizadores. O cálculo correto da alavancagem deve ser baseado na proporção entre o valor atual da posição e o valor atual da margem. Se a fórmula de cálculo errada for usada, pode causar uma reação inadequada do sistema às alterações de preço, liquidar posições que não devem ser liquidadas ou permitir que posições excessivamente alavancadas continuem a existir, aumentando assim o risco do sistema e dos utilizadores.
Erro de lógica
Erros lógicos requerem atenção especial em auditorias de contratos inteligentes, especialmente em lógicas complexas como DeFi trading alavancado.
Vamos discutir as questões lógicas a ter em conta na alavancagem DeFi usando questões descobertas por Tigris[7](Tigris, uma plataforma descentralizada de negociação alavancada sintética com base em Arbitrum e Polygon) numa auditoria de terceiros.
Vamos dar uma olhada na lógica da função de fecho do limite de preço em Tigris:
função limitClose (uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) externo{_checkDelay(_id, falso);(uint _limitPrice, address _tigAsset) = tradingExtension._limitClose(_id, _tp, _priceData, _signature);_closePosition(_id, DIVISION_CONSTANT, _limitPrice, address(0), _tigAsset, verdadeiro);}função _limitClose (uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) externo view retorna (uint _limitPrice, address _TIGAsset) {_checkGas();iPosition.trade memory _trade = position.trades(_id);_tigAsset = _trade.tigAsset;getVerifiedPrice(_trade.asset, _priceData, _signature, 0);uint256 _price = _priceData.price;if (_trade.orderType! = 0) revert("4"); //isLimit if (_tp) {if (_trade.tpPrice == 0) revert("7"); //limitNotSet if (_trade.direction) {if (_trade.tpPrice > _price) revert("6"); //LimitNotMet} else {if (_trade.tpPrice < _price) revert("6"); //LimitNotMet}_limitPrice = _trade.tpPrice;} else {if (_trade.slprice == 0) revert("7"); //limitNotSet if (_trade.direction) {if (_trade.slPrice < _price) revert("6"); //LimitNotMet} else {if (_trade.slPrice > _price) revert("6"); //LimitNotMet} //@audit stop loss is closed at user specified price NOT market price _limitPrice = _trade.slprice;}}
Ao usar stop-loss para fechar uma posição, o preço de fecho do utilizador é o preço de stop-loss definido pelo utilizador, não o preço atual do ativo. No caso de mercados direcionais e alta alavancagem, os utilizadores podem abusar disso para alcançar negociações quase sem risco. Os utilizadores podem abrir uma posição longa e definir um preço de stop-loss que seja $0.01 inferior ao preço atual.
Se o preço cair imediatamente na próxima atualização, eles fecharão a sua posição ao preço de entrada e apenas pagarão as taxas de abertura e fecho. Se os preços subirem, é provável que ganhem muito dinheiro. Como resultado, os utilizadores podem abusar dos métodos de preços de stop-loss para abrir negociações com alta alavancagem, alto potencial de ganho e baixo risco de queda.
Price Tubs
O impacto das flutuações de preços na alavancagem DeFi é muito importante. Apenas considerando sempre as flutuações de preços podemos garantir a segurança dos acordos de alavancagem. Vamos usar o DeFiner [8]protocol como exemplo para uma análise aprofundada dos problemas descobertos em uma auditoria de terceiros:
O protocolo DeFiner passa por duas verificações antes de processar levantamentos.
Primeiro, o método verifica se o valor solicitado pelo usuário para sacar excede o saldo desse ativo:
função de autorização (endereço _accountAddr, endereço _token, uint256 _amount) externo apenasAutorizado retorna (uint256) { // Verificar se o montante é inferior ao saldo do utilizador exigir (_amount < = getDepositBalanceCurrent (_token, _accountAddr), "Saldo ganho."); uint256 borrowLtv = globalConfig.tokenInfoLogistry().getBorrowLtv(_token);
Em segundo lugar, o método verifica se os levantamentos farão com que a taxa de alavancagem do utilizador seja demasiado elevada. O montante levantado será subtraído do "poder de empréstimo" do preço atual do utilizador. Se o valor total do empréstimo do utilizador exceder o novo poder de empréstimo, o método falha porque o utilizador já não tem colateral suficiente para suportar a sua posição de empréstimo. No entanto, este requisito só será verificado se o utilizador não estiver excessivamente alavancado:
if (getBorrowEth(_accountAddr) < = getBorrowPower(_accountAddr)) require(getBorrowEth(_accountAddr) < = getBorrowPower(_accountAddr).sub(_amount.mul(globalConfig.tokenInfoRegistry().priceFromAddress(_token)).mul(borrowLtv).div(utils.getDivisor(address(globalConfig), _token)).div(100)), "Colóquio do Colégio quando";
Se os utilizadores tiverem emprestado mais do que o seu 'poder de empréstimo' permite, podem retirar dinheiro independentemente. Isto pode acontecer em várias situações, sendo a mais comum as flutuações de preço. O acordo não considerou o impacto das flutuações de preço no acordo, o que causou este problema.
Para além dos efeitos de não distinguir entre ordens de limite e ordens de mercado, erros de cálculo, erros lógicos e flutuações de preço mencionadas acima, existem muitos pontos de segurança relacionados com acordos de alavancagem que exigem a nossa atenção. Isto inclui, mas não se limita a, questões como ataques de empréstimo relâmpago, manipulação de preço, segurança do profeta, controlo de autoridade, verificações de alavancagem insuficientes ou falta de verificações. Estes fatores devem ser cuidadosamente considerados ao projetar e implementar acordos de alavancagem para garantir a robustez do acordo e a segurança dos ativos do utilizador. Medidas preventivas, monitorização em tempo real e planos de resposta de emergência são também essenciais para reduzir os riscos potenciais e proteger os interesses dos utilizadores.
Conclusão
A introdução de negociação alavancada em protocolos DeFi de fato proporcionou ao mercado uma maior manobrabilidade, ao mesmo tempo que trouxe mecanismos de negociação mais complexos. Embora a negociação alavancada forneça aos usuários mais oportunidades de investimento, seus riscos potenciais e desafios para a segurança do protocolo também se tornaram mais significativos.
À medida que a alavancagem aumenta, a operação dos acordos torna-se mais flexível, mas, como resultado, tornam-se mais vulneráveis e suscetíveis a várias ameaças de segurança. Isso inclui a potencial falha em fazer uma distinção rigorosa entre ordens de limite e ordens de mercado, erros de cálculo, erros lógicos e extrema sensibilidade a fatores como flutuações de preço. Neste caso, devemos prestar mais atenção à segurança do protocolo para garantir que os ativos dos utilizadores sejam protegidos de forma eficaz.
Como uma equipe líder de segurança blockchain no campo Web3, a ScaleBit está distribuída no Vale do Silício, Singapura, Hong Kong, Taiwan, etc. Nós fornecemos soluções de segurança blockchain para mais de 200 instituições e projetos no setor global Web3, acumulamos mais de 180.000 linhas de código de auditoria e protegemos mais de $8 bilhões em ativos de usuários. Tornar a Segurança Acessível para Todos! Se você tiver alguma necessidade de auditoria de segurança, sinta-se à vontade para entrar em contato conosco. Iremos fornecer soluções de segurança detalhadas, abrangentes e profissionais para protegê-lo e o campo Web3 com segurança!
Este artigo foi reimpresso de [ScaleBit]e os direitos de autor pertencem ao autor original [PolarisSe tiver alguma objeção à reprodução, entre em contato com a equipe Gate Learn e a equipe lidará com isso o mais rápido possível, de acordo com os procedimentos relevantes.
Aviso legal: As opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem qualquer conselho de investimento.
As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, é proibido copiar, distribuir ou plagiar os artigos traduzidos.