Compartilhe este artigo

Tudo o que você sempre quis saber sobre o ataque 'Flash Loan' do DeFi

Aqui está uma análise simples dos ataques bZx e suas implicações mais amplas para os Mercados DeFi emergentes.

Agora há um estudo de caso sobre como o DeFi pode dar errado.

A História Continua abaixo
Não perca outra história.Inscreva-se na Newsletter The Protocol hoje. Ver Todas as Newsletters

bZx, o oitavo maior projeto de Finanças descentralizadas de acordo com Pulso DeFi, sofreu dois ataques no último fim de semana após a introdução de “empréstimos rápidos”, um novo recurso DeFi que limita o risco de um trader ao mesmo tempo que melhora o lado positivo.

Liderada pelo CEO Tom Bean, a equipe bZx estava participando da ETHDenver, uma importante conferência de Ethereum na capital do Colorado, na sexta-feira, quando um invasor desconhecido drenado cerca de US$ 350.000vale a penaéter (ETH) da Fulcrum, a plataforma de empréstimos da startup. Como um post-mortem da empresa descreve, o invasor aproveitou os dados de preços e um bug no código do protocolo bZx para garantir o pagamento.

bZx rapidamente fechou o Fulcrum usando uma chave mestra decididamente não descentralizada. Usuários e analistas viram uma atualização atingir o GitHubhttps://github.com/bZxNetwork/bZx-monorepo/commit/7cfebd9e289d1f7ee541d5a7556e3f679fa216af, o repositório de código, que supostamente bloqueou fundos ameaçados.

A negociação foi retomada no fim de semana com a empresa anunciando sua intenção de conter os danos de várias maneiras, incluindo a liquidação de garantias para pagar um empréstimo agora descoberto, construindo um fundo de seguro e distribuindo perdas entre os usuários da plataforma. Apesar do incidente chocante, os traders que depositaram dinheiro no bZx mal sentirão os efeitos do ataque.

Patch de código do bZx para o primeiro ataque, de acordo com a empresa de segurança de blockchain Peckshield
Patch de código do bZx para o primeiro ataque, de acordo com a empresa de segurança de blockchain Peckshield

Mas isso T foi o fim. Na terça-feira, 18 de fevereiro, os atacantes atacaram o bZx novamente, arrecadando $ 633.000.

Embora as quantias de dinheiro perdidas ainda sejam relativamente pequenas para o mundo das Criptomoeda, os ataques demonstram a entrada do DeFi nas grandes ligas e a atenção que agora receberá de manipuladores e ladrões.

Se tudo isso está fazendo sua cabeça girar, você está em boa companhia. A Tecnologia blockchain era complicada e abstrata o suficiente antes que as pessoas começassem a construir serviços de empréstimo e negociação em cima dela.

Para os perplexos, o CoinDesk oferece a seguinte explicação sobre o hack do bZx e suas lições mais amplas.

A nova fronteira

Como o nome indica, DeFi, ou Finanças descentralizadas, aspira um dia oferecer uma alternativa democratizada ao sistema financeiro legado, onde indivíduos podem obter crédito em uma base peer-to-peer sem depender de bancos ou outros intermediários. Por enquanto, porém, é um playground para traders — e um ONE difícil.

Como os participantes T se conhecem, os empréstimos DeFi são todos baseados em garantias. Ativos digitais como Bitcoin (BTC) e ether (a Criptomoeda nativa da rede Ethereum ) são notoriamente voláteis. Para lidar com isso, aplicativos de empréstimo DeFi como MakerDAO permitem que você pegue emprestado apenas 75 por cento de sua garantia disponível.

Se o preço do seu ativo começar a cair em relação ao mercado, o contrato inteligente que sustenta o aplicativo DeFi venderá seu ativo a um determinado preço à vista para proteger as partes que lhe emprestaram dinheiro contra seu ativo. Pense em um penhorista que só lhe adiantará US$ 225 por uma guitarra elétrica que vale US$ 300.

O ecossistema DeFi também inclui exchanges descentralizadas (DEX), onde os traders trocam Cripto sem a permissão de uma autoridade central, e suas ordens são executadas algoritmicamente no blockchain Ethereum .

Negociar on-chain limita a gama de ativos envolvidos àqueles que rodam em Ethereum (moeda nativa ether e vários sabores de tokens ERC). Mas permite que usuários sofisticados façam alguns truques interessantes, como veremos em breve.

Para que um mercado de crédito DeFi funcione corretamente, os credores devem saber o valor da garantia, então eles precisam de informações sobre preços. Esses são dados geralmente coletados de exchanges de Cripto . No caso da bZx, a fonte foi a Kyber, uma DEX.

O problema é que as informações sobre preços nas exchanges de Cripto estão por todo lugar.

Tomemos como exemplo as diferenças de valor à vista entre as cinco principais bolsas por volume de 24 horas para o ativo digital mais líquido, o Bitcoin:

Amostra de preços de Bitcoin entre as cinco principais bolsas por nível de volume de 24 horas. (Imagem via Messari)
Amostra de preços de Bitcoin entre as cinco principais bolsas por nível de volume de 24 horas. (Imagem via Messari)

Os preços spot são frequentemente muito diferentes uns dos outros porque nenhum local possui um produto de paridade de negociação de Cripto , disse Sergey Nazarov, CEO da Chainlink, uma empresa de dados de preços de Cripto . Ao contrário dos Mercados tradicionais, onde a negociação de, digamos, ações da Apple acontece apenas na Nasdaq, em Cripto quase qualquer pessoa com conhecimento técnico pode iniciar uma troca em seu laptop– na verdade, foi assim que as primeiras bolsas começaram. Agregar preços em um mercado tão fragmentado é uma tarefa hercúlea, disse Nazarov.

Como em outros Mercados financeiros, a ampla discrepância nos preços também cria oportunidades para os traders ganharem dinheiro. Entrem os empréstimos flash.

Muita informação? Para uma explicação mais simples, ouça nosso podcast Mercados Daily.

Empréstimos rápidos

Os empréstimos flash são uma inovação adicional além do DeFi e do Ethereum, o blockchain mais frequentemente associado ao conceito de “dinheiro programável”. O produto foi lançado pela primeira vez pelo protocolo DeFi Aave em janeiro e depois pela bZx em 10 de fevereiro.

Em resumo, empréstimos rápidos permitem que os comerciantes tomem empréstimos sem garantia para aumentar o pagamento de uma negociação singular. Voltando à analogia da casa de penhores, você pode pegar dinheiro emprestado sem entregar sua guitarra.

Por que qualquer credor concordaria com isso, especialmente em um mercado onde os participantes são anônimos? Porque, como o nome indica, empréstimos flash são pagos rapidamente – na mesma transação em que são retirados.

Quem pegaria dinheiro emprestado só para pagar de volta imediatamente? Arbitrageurs espertos, é quem.

Como vimos, diferentes Mercados de Cripto têm preços diferentes para um dado ativo digital. Um usuário pode obter um lucro QUICK tomando fundos emprestados; comprando barato em um mercado; vendendo caro no outro mercado; pagando o empréstimo; e embolsando o lucro. Novamente, tudo isso é feito dentro da mesma transação on-chain, já que os Mercados são DEXs frequentemente rodando em Ethereum. O arbitrador só tinha que codificar todas as etapas no mesmo programa de computador, conhecido como contrato inteligente.

Para começar, os empréstimos flash são quase isentos de risco, pelo menos para o mutuário. Como a rede Ethereum liquida transações atomicamente, o que significa que todas as transações em um livro são executadas ou nenhuma é executada, um trader que não consegue pagar seu empréstimo com sua negociação não perde nada.

Por quê? Porque a transação nunca ocorre.

Como Aave escreve, todas as transações, do empréstimo à negociação, ocorrem de uma vez na rede. Se a rede perceber que um empréstimo rápido não seria pago instantaneamente, ela recusará todas as transações associadas a ele, cancelando efetivamente tudo. Sem dano, sem falta.

Se for aprovado, no entanto, tudo é executado ao mesmo tempo, resultando em uma negociação bem-sucedida. O credor cobra uma pequena taxa, o negociador fica mais rico. Todos ganham.

Se ao menos fosse tão simples.

O ataque

Como os problemas de fim de semana do bZx mostraram, empréstimos rápidos podem ser perigosos quando combinados com código com bugs, feeds de preços instáveis ou ambos.

Em vez de apenas comprar barato e vender caro, o atacante ou atacantes usaram os fundos emprestados para manipular Mercados que eram excepcionalmente vulneráveis ​​a eles. Em ambos os ataques, a bZx levou a pior.

No primeiro ataque, por exemplo, por meio de uma rede complexa de transações, o invasor bombeou e depois despejou WBTC (“Wrapped Bitcoin”, um token de Ethereum lastreado em Bitcoin real) em uma DEX chamada Uniswap; obteve lucros em ether; pagou o empréstimo rápido — e deixou o bzX sem dinheiro em outro empréstimo relacionado ao bombeamento de WBTC .

“A mágica por trás disso é o fato de que o Uniswap WBTC/ ETH foi manipulado até 61,4 para lucro”, de acordo com um análise pela empresa de segurança de blockchain PeckShield. “O preço WBTC/ ETH foi até mesmo inflado para 109,8 quando o preço normal de mercado estava em apenas cerca de 38. Em outras palavras, há um deslizamento de preço intencionalmente enorme, acionado para exploração.”

Neste ataque, um feed de preço mal configurado certamente não ajudou, mas a culpa recai sobre o código, disse o CEO da PeckShield, Jiang Xuxian, à CoinDesk. Onde um fio de segurança deveria ter sido acionado quando o preço saiu do controle, ele falhou, disse Xuxian.

O segundo ataque se resumiu a dados de preços ruins, especificamente da rede DeFi Kyber, disse o cofundador da bZx Kyle Kistner à CoinDesk. Desta vez, o invasor se concentrou na Synthetix USD (SUSD), uma stablecoin atrelada ao dólar na Synthetix Network.

O atacante pegou emprestado 7.500 ether no bZx e então injetou o valor do SUSD na Kyber trocando ether por SUSD. A compra de tanto SUSD fez o preço saltar 2,5x a taxa de mercado prevalecente de $1,escreve PeckShield.

O invasor então aproveitou a dependência da bZx da Kyber para dados de preços, colocando o SUSD como garantia para uma grande quantia de ether na bZx; na verdade, 2.000 ether a mais do que a mesma quantia de SUSD normalmente teria comprado em um mercado aberto.

Após pagar o empréstimo rápido, o invasor deixou de pagar o empréstimo SUSD/ ETH com garantia insuficiente feito no bZx, resultando em um lucro líquido de 2.378 ETH e botões de retenção do bZx.

Lições para DeFi

Para exchanges menores, como bZx, e DeFi em geral, a combinação de recursos financeiros inovadores, como empréstimos rápidos, com dependência sistemática de dados de preços ruins está expondo as exchanges a novos ataques, disse Nazarov, da Chainlink.

“Não use [uma] única bolsa específica como fonte de preço”, disse Nazarov. “Se ela se tornar pouco negociada, as pessoas olham e dizem: ‘Ok, é assim que estou construindo um produto em relação a esse mercado ou a esse dado.’”

Na verdade, o ataque específico contra o bZx foi descrito meses antes de ocorrer pelo hacker white-hat Samczsun em um detalhadopostagem de blog. Como Samczun escreveu na época, levantando a hipótese de uma exploração envolvendo bZx, o token Ethereum conhecido como DAI e outra exchange descentralizada chamada DDEX:

“Ao confiar em um oráculo de preço descentralizado on-chain sem validar as taxas retornadas, DDEX e bZx eram suscetíveis à manipulação atômica de preços. Isso teria resultado na perda de ETH líquido no mercado ETH/ DAI para DDEX, e perda de todos os fundos líquidos em bZx.”

Nazarov disse que o problema não é específico da bZx, mas de muitas exchanges dentro do DeFi que dependem de algumas APIs de preços on-chain. Sua empresa agora está trabalhando com a bZx para resolver o problema, ele acrescentou.

Kistner reconheceu que a equipe do bZx acreditava que os problemas do oráculo foram considerados corrigidos após as divulgações de Samczsun e até mesmo teve o código auditado de forma independente. Como o ataque de terça-feira mostrou, os problemas não foram corrigidos.

“É terrível consultar profissionais de segurança e depois virar motivo de chacota quando você Siga os conselhos deles”, disse Kistner.

Como Nazarov destacou, você pode ter todos os auditores do mundo dando sinal verde para seu código, mas se ele for baseado em dados ruins, como preços na cadeia, o fracasso é inevitável.

“O risco técnico aqui não é apenas sobre o código do contrato. O código pode ser fantástico e auditado o quanto você quiser. Mas o que está acontecendo é que você está criando uma nova funcionalidade que cria novas áreas de superfície que precisam ser protegidas”, disse Nazarov.

Nazarov disse que os ataques, embora infelizes, são uma lição para o DeFi em geral. Dados de preços são “um problema arquitetônico bem conhecido” que precisa ser abordado, ele disse. “Se você está construindo um aplicativo que vai reter fundos de clientes, o fato de ser automatizado é ótimo, mas T significa que seu trabalho do ponto de vista da segurança esteja concluído porque o contrato vai para o Ethereum.”

Na bZx, a equipe voltou sua atenção para proteger a rede. Kistner disse que a negociação será retomada em breve usando oráculos Chainlink para precificação, embora nenhum novo usuário seja integrado. Para o futuro, Kistner disse que a bZx analisará a replicação da infraestrutura da MakerDAO, a maior provedora de DeFi.

“Quando terminarmos de reformular nossos processos internos, queremos definir um padrão de segurança e transparência”, disse ele.

William Foxley

Will Foxley é o anfitrião do The Mining Pod e editor da Blockspace Media. Ex-co-apresentador do The Hash da CoinDesk, Will foi diretor de conteúdo da Compass Mining e repórter de tecnologia da CoinDesk.

William Foxley