Descriptografado #05 | Por que os Empréstimos Flash são um novo tipo de ataque?

Os empréstimos em flash estão em destaque ultimamente, à medida que mais incidentes de roubo de dinheiro de protocolos DeFi estão acontecendo...

Empréstimos Flash têm estado no centro das atenções ultimamente à medida que mais incidentes de roubo de protocolo DeFi estão acontecendo, desde Harvest Finance sendo hackeado por mais de US$ 33 milhões até o mais recente incidente de US$ 7 milhões. 

Do ponto de vista do hacker, esse ataque parece uma grande oportunidade de emprestar instantaneamente centenas de milhares de dólares de uma pessoa sem um tostão no valor da ETH. Em seguida, passe por protocolos vulneráveis ​​na cadeia e extraia centenas de dólares de seu bolso e pague seu empréstimo. Tudo isso aconteceu em um piscar de olhos em uma transação Ethereum. 

Não sabemos quem são esses atacantes ou de onde vêm. Todos começaram do nada e foram embora com centenas de milhares de dólares em dinheiro e não deixaram rastros para identificar. 

O que são Empréstimos Flash? 

O conceito de empréstimos flash foi introduzido pela primeira vez por Max Wolff, o criador do Marble Protocol, em 2018.

Empréstimos Flash comumente usados ​​para Ethereum ou ERC20 são emprestados apenas pelo tempo necessário para concluir um bloco de transações no blockchain. Desde que o empréstimo seja reembolsado antes do início do próximo bloco de transações, o mutuário não incorrerá em juros.

Se os credores tradicionais suportam duas formas de risco: risco de inadimplência ou risco de liquidez, o Flash Loans resolve esses dois problemas. Basicamente, os empréstimos em flash funcionam assim: 

Eu te empresto o valor que você quiser em uma única transação. Mas no final desta transação você deve me devolver pelo menos a quantia que lhe emprestei. Se você não pagar, restaurarei automaticamente sua transação, o que significa que ela nunca foi iniciada. 

Isso só existe no Blockchain. Você não pode fazer empréstimos em flash no BitMex. Como o contrato inteligente pode processar cada transação, tudo o que acontece na transação é executado sequencialmente. Você pode considerar isso como seu "tempo de congelamento" da transação enquanto a transação está em andamento.

Os credores tradicionais são compensados ​​por duas coisas: o risco que estão assumindo (riscos de inadimplência e iliquidez) e o custo de oportunidade do capital que emprestam. 

Empréstimos flash são diferentes. Empréstimos flash realmente não têm risco e nenhum custo de oportunidade! Isso ocorre porque os mutuários são “congelados” durante a duração de seus empréstimos rápidos, de modo que o capital do sistema nunca está em risco e nunca é frustrado, de modo que não pode ganhar juros em outro lugar (ou seja, não tem custo de oportunidade).

Isso significa que não há custo para se tornar um credor instantâneo. Dito isso, quanto custa os empréstimos relâmpago no equilíbrio?

Basicamente, os empréstimos em flash são gratuitos. Ou melhor, uma taxa pequena o suficiente para amortizar o custo inclui 3 linhas extras de código para que a propriedade possa se emprestar rapidamente.

Empréstimos flash não podem ser cobrados juros da forma tradicional, pois o empréstimo é válido por tempo zero (qualquer APR * 0 = 0). E, é claro, se as instituições que oferecem empréstimos instantâneos cobram taxas de juros mais altas, elas serão cobradas rapidamente com taxas de juros mais baixas por outros pools de empréstimos instantâneos.

Alguns projetos atualmente aplicam empréstimos instantâneos de taxa zero, como dYdX ou AAVE, que cobram 0,09% do principal para empréstimos instantâneos. 

Para que são usados ​​os empréstimos flash? 

Empréstimos flash eram originalmente conhecidos principalmente por negociação de arbitragem. Marble, o criador da fonte de definição de empréstimos em Flash, diz: 

Com empréstimos instantâneos, os traders podem pedir emprestado ao banco Marble, comprar tokens em uma DEX, vender tokens em outra DEX a um preço mais alto, pagar empréstimos bancários e obter lucros de arbitragem em apenas uma transação” .

De fato, a maioria dos empréstimos é usada para esse fim. 

Descriptografado #05 |  Por que os Empréstimos Flash são um novo tipo de ataque?

Mas o volume é muito pequeno. A AAVE tem pouco mais de US$ 10 mil em empréstimos desde a sua criação. Isso é minúsculo em comparação com o mercado de arbitragem e liquidação no DeFi.

Também porque a maioria das negociações de arbitragem é feita por arbitradores competitivos que executam programas complexos. Eles participam de leilões de gás preferencial na cadeia e usam tokens de gás para otimizar as taxas de transação. É um mercado muito competitivo - essas pessoas ficam perfeitamente felizes em manter alguns tokens em seu balanço para otimizar os ganhos.

Por outro lado, o empréstimo em AAVE custa cerca de 80 mil gás e cobra 0,09% do capital, um preço muito caro para pagar por um arbitrador competitivo em uma pequena margem. De fato, na maioria dos operadores de arbitragem da AAVE, o mutuário acaba pagando mais taxas ao pool de empréstimos do que recebe.

No longo prazo, é improvável que os arbitradores usem empréstimos instantâneos, exceto em circunstâncias excepcionais.

Mas os empréstimos relâmpago têm outros casos de uso mais atraentes no DeFi. Um exemplo é o refinanciamento de empréstimos. 

Exemplo: digamos que você tenha um cofre Maker (CDP) com $ 100 ETH bloqueados nele e você emprestou 40 DAI dele. Então você tem uma posição líquida de $ 60 menos a dívida. Agora você deseja refinanciar em Composto para obter uma melhor taxa de juros. 

Normalmente é necessário recomprar 40 DAI externamente, talvez nessa bolsa para completar o CDP, pois requer algum capital inicial. Em vez disso, você pode fazer um empréstimo rápido de 40 DAI, fechar $ 100 CDP, depositar $ 60 de ETH desbloqueado em Composto, converter outros $ 40 ETH de volta em DAI através do Uniswap e usar isso para pagar empréstimos em flash.

Ataques de empréstimo em flash têm grandes implicações de segurança 

Os primeiros incidentes resultaram do hack do bZx e talvez essa tenha sido a tocha que desencadeou novos ataques.  

Existem duas razões principais pelas quais os empréstimos em flash são particularmente atraentes para os invasores.

Muitos ataques exigem muito capital inicial (como ataques de manipulação de oráculos). 

Empréstimos flash reduzem o risco de exposição a invasores. Se eu tiver uma ideia de como manipular o oráculo com 10 milhões de dólares de Ether, mesmo que eu possua tanto Ether, talvez não queira arriscar meu capital. Meu ETH será afetado, as exchanges podem rejeitar meu depósito e será mais difícil o fluxo do dinheiro. Bastante risco! Mas se eu conseguir um empréstimo rápido de US$ 10 milhões, quem se importa? Todos são opostos. Não é como se a carteira de hipotecas da dYdX fosse considerada adversamente afetada porque é daí que vêm seus empréstimos.

Você pode não gostar que a lista negra de exchanges faça parte do paradigma de segurança blockchain de hoje. É bastante secreto e focado. Mas a realidade é muito importante, dado o cálculo por trás desses ataques.

No whitepaper do Bitcoin, Satoshi afirmou que o Bitcoin está protegido contra ataques porque:

“[O invasor] deve achar mais lucrativo seguir as regras […] do que destruir o sistema e seu próprio valor de ativos.”

Com empréstimos em flash, os invasores não precisam mais gastar muito dinheiro no jogo. Os empréstimos em flash alteram drasticamente o risco para os invasores.

E lembre-se, empréstimos instantâneos podem se acumular! Sob o limite de gás, você pode agregar quaisquer fundos para empréstimos rápidos em uma única transação (até US$ 50 milhões) e reduzir todo esse capital a um contrato vulnerável. É uma memória enorme de US$ 50 milhões que qualquer um pode participar agora, desde que haja dinheiro. É tão escroto!

Claro, agora você não poderá atacar um protocolo se tiver apenas muito dinheiro. Se o DeFi é tão seguro quanto se afirma, tudo isso não importa, que tipo de protocolo não é seguro contra as baleias? Não, exceto que foi apenas negligência.

No entanto, poderíamos ver o próprio Ethereum sujeito a um ataque de 51% por menos de US$ 200 mil/hora. Se o próprio modelo de segurança da Ethereum é basicamente construído em torno de restrições de capital, por que somos tão rápidos em supor que os aplicativos DeFi podem ser hackeados com sucesso por apenas US$ 10 milhões?la?

Como mitigar os ataques de empréstimo flash?

Digamos que eu seja um protocolo DeFi e queira evitar ser atacado por empréstimos relâmpago. A primeira pergunta é: posso detectar se os usuários que interagem comigo estão usando empréstimos em flash?

A resposta simples é não!

O EVM não permite que os irmãos leiam a memória de qualquer outro contrato. Então, se você quiser saber o que está acontecendo em outro contrato, esse contrato lhe dirá. 

Então, se você quiser saber se os empréstimos flash estão sendo usados, você deve perguntar diretamente ao contrato. Hoje, muitos protocolos de empréstimo não respondem a essas consultas (e não há como impor o que um credor expresso faz). 

Além disso, mesmo que você tenha tentado testar qualquer consulta desse tipo, pode ser fácil ser mal direcionado usando um contrato de autorização ou vinculando grupos de empréstimos rápidos. Em geral, não é possível dizer em geral se os depositantes estão usando empréstimos rápidos ou não.

Assim como alguém bate na sua porta e fica na sua frente com uma mala contendo 10 milhões de dólares, você não pode dizer se é o dinheiro deles ou não. Certo? 

Como se proteger de ataques de empréstimos em flash? 

Pare de fornecer o serviço de Empréstimos Flash 

Sério, tentar fazer com que os credores parem de oferecer empréstimos rápidos é como tentar acabar com a poluição sonora. 

A concessão de empréstimos rápidos está sujeita aos interesses pessoais de cada protocolo, e há boas razões para que seus usuários desejem essa funcionalidade. Assim, podemos remover isso com segurança. 

Forçando transações importantes a durar dois blocos

Lembre-se, os empréstimos instantâneos permitem que você peça dinheiro emprestado pela duração de uma única transação. Se você solicitar uma transação de capital intensivo que abrange dois blocos, os usuários deverão emprestar pelo menos dois blocos, anulando qualquer ataque de empréstimo instantâneo. (Nota: Para que isso funcione, os usuários devem bloquear seu valor entre os dois blocos, impedindo-os de reembolsar o empréstimo).

Obviamente, isso leva a uma troca de UX: significa que as transações não estarão mais sincronizadas. É atraente para os usuários e também parece bastante seguro.

Muitos desenvolvedores reclamam de operações assíncronas de contrato inteligente, como interagir com comunicação de camada 2 ou fragmentação cruzada no Ethereum 2.0. 

Ironicamente, a assincronia na verdade torna esses sistemas protegidos contra ataques de empréstimos em flash, já que você não pode passar por um shard ou uma camada 2 em uma única pequena transação. Isso significa que não há ataque de empréstimo em flash em shards ETH 2.0 ou contra DEXs de camada 2.

Solicitar comprovante online do saldo anterior do usuário

Poderíamos derrotar os ataques de empréstimo instantâneo se houvesse alguma maneira de detectar qual era o saldo líquido de um usuário - ou seja, qual era o saldo antes de fazer um empréstimo.

Antes de um usuário interagir com o protocolo de uma plataforma, a plataforma exige uma prova Merkle que comprove que, ao final do bloco anterior, ele possui saldo suficiente para contabilizar o capital que está usando atualmente. A plataforma precisa rastrear isso para cada usuário em cada bloco.

Esta solução tem algumas complicações: verificar essas provas on-chain é extremamente caro on-chain, e nenhum usuário bem-intencionado quer gerá-las e pagar taxas de gás por tudo. . Alternativamente, os usuários podem ter alterado seus saldos anteriormente no mesmo bloco por motivos perfeitamente legítimos. Então teoricamente tem algum mérito, mas não é uma solução prática.

Não existe uma solução única que possa impedir completamente os ataques de empréstimo flash, mas dois aplicativos específicos que podem mitigar esses ataques são: oráculo de preços baseados no mercado e tokens de governança.

Para oráculos de preços baseados no mercado, como Uniswap ou OasisDEX, os ataques de empréstimo em flash impedem que você use as taxas atuais do mercado médio, como oracle. 

O plano do invasor era mover o preço médio de mercado em uma única transação e criar um flash crash, prejudicando o oráculo em termos de preço.

A melhor solução aqui é usar uma média ponderada dos últimos X blocos via TWAP ou VWAP. Uniswap v2 fornecerá esta solução. Há também o Polaris, uma abordagem generalizada para fornecer médias móveis para protocolos DeFi, mas o Polaris foi descontinuado por muitos anos. 

A governança on-chain geralmente é determinada por votação ponderada por moedas entre os detentores de tokens de governança. Mas se esses tokens de governança estiverem em um pool de empréstimos instantâneos, qualquer invasor poderá pegar uma enorme pilha de moedas e confiar no resultado que desejar.

Obviamente, a maioria dos protocolos de governança exige o bloqueio de token durante a votação, o que ajuda a derrotar os ataques de empréstimo instantâneo. Mas algumas formas de votação não exigem isso, como votação de carbono ou contrato operacional do Maker. Com os ataques de empréstimos instantâneos de hoje, esses formulários de votação devem ser considerados completamente quebrados.

O mais lógico é que o token de governança é completamente sem empréstimos, mas depende do mercado. Portanto, todas as ações administrativas devem exigir um bloqueio para evitar ataques de empréstimos flash. O novo token COMP da Compound dá um passo adiante ao cronometrar todos os votos do protocolo, enfraquecendo instantaneamente até mesmo o ataque de empréstimo ocasional contra o token de governança.

De um modo geral, todos os tokens de governança devem ter tempo. O Timelock que executa todas as decisões administrativas deve aguardar um período de tempo antes de entrarem em vigor (para o Timelock Composto é de 2 dias). Isso permite que o sistema se recupere de quaisquer ataques administrativos imprevistos.

Significado a longo prazo 

Acredito que os ataques bZx mudaram tudo.

Este não será o último ataque de empréstimo relâmpago. O segundo ataque bZx é o primeiro clone e duvido que cause uma onda de ataques nos próximos meses. 

E isso aconteceu completamente, em uma série de ataques de empréstimos instantâneos, como Harvest Finance (US$ 33,8 milhões), Value DeFi (US$ 7 milhões), Akro (US$ 2 milhões), Cheese Bank (US$ 3,3 milhões). USD) e, mais recentemente , OUSD (7 milhões de dólares).

Epílogo 

Essa é provavelmente uma das motivações para o Ethereum mudar rapidamente para o Ethereum 2.0. DeFi não é estável na cadeia PoW, se os protocolos DeFi existissem em fragmentos separados no Ethereum 2.0 , eles não seriam vulneráveis ​​a empréstimos em flash.

O ataque de empréstimos em flash nos dá um lembrete pequeno, mas útil, de que toda plataforma está apenas começando, leva muito tempo para obter uma arquitetura sustentável para construir o sistema financeiro do futuro.

O artigo é traduzido e editado a partir do artigo original publicado pela Dragonfly Research. 



03 mais prestigiadas trocas de moedas e margens comerciais (2021)

03 mais prestigiadas trocas de moedas e margens comerciais (2021)

Os recém-chegados devem negociar moedas em qual bolsa? Neste artigo, a Coin98 apresentará as 3 trocas de moedas mais prestigiadas em 2021!

Ren Protocol 2021 - Potencial e oportunidade de expansão multi-cadeia DeFi após ser adquirido por Sam SBF da FTX

Ren Protocol 2021 - Potencial e oportunidade de expansão multi-cadeia DeFi após ser adquirido por Sam SBF da FTX

Comparado com o WBTC com uma capitalização bolsista de 8 mil milhões de USD (rival direto da REN), o número de renBTC alcançado ainda é bastante reduzido. Então qual é a razão?

Guia detalhado do usuário do Tabtrader para iniciantes

Guia detalhado do usuário do Tabtrader para iniciantes

Para que serve o TabTrader? Por que usar o TabTrader? Confira o guia do usuário TabTrader detalhado e fácil de entender para iniciantes aqui !!!

Bitcoin Crash - O crash do mercado e a recuperação alcançaram novos máximos

Bitcoin Crash - O crash do mercado e a recuperação alcançaram novos máximos

Quando o Bitcoin entrou em colapso, também foi o momento em que o mercado estava "vermelho em chamas". Vamos rever com Coin98 os fortes despejos do Bitcoin e a recuperação do mercado.

3 destaques na nova tokenômica do ALPHA

3 destaques na nova tokenômica do ALPHA

O artigo oferece uma perspectiva sobre a tokenômica de acumulação de taxas da Alpha, o que há de especial nela e como isso afeta os apostadores?

O que são derivativos de criptografia? Tipos e riscos de negociação de derivativos (2022)

O que são derivativos de criptografia? Tipos e riscos de negociação de derivativos (2022)

Os derivativos têm contribuído com toneladas de liquidez para o mundo das criptomoedas. Então, o que são derivativos de criptografia? Saiba mais sobre como negociar derivativos de criptomoedas aqui.

O manual SolFarm mais detalhado (2021)

O manual SolFarm mais detalhado (2021)

Instruções para utilizar a SolFarm para obter lucros através do Farming, com operações como: fornecer, retirar liquidez e emprestar.

Cream V2 & Iron Bank - Uma nova brisa no DeFi Lending (Parte 2)

Cream V2 & Iron Bank - Uma nova brisa no DeFi Lending (Parte 2)

Artigo sobre Iron Bank, o principal produto do Cream V2. Ajude a levar os empréstimos em DeFi para o próximo nível.

As 5 principais moedas Web3 em 2021!

As 5 principais moedas Web3 em 2021!

Web3 é um grande tópico e atrai muito interesse da comunidade Crypto. Então, quais são as 5 principais moedas Web3 em 2021?

A tendência de stablecoin algorítmica é 2021?

A tendência de stablecoin algorítmica é 2021?

Este artigo apresentará alguns projetos Fork do grande projeto Algorithmic Stablecoin. Essa é uma tendência em 2021?

Sign up and Earn ⋙
Sign up and Earn ⋙