CryptoTimes

O ataque ao protocolo bZx pode danificar o setor DeFi como um todo?

18 fev 2020, 14:57 - atualizado em 18 fev 2020, 14:57
Recentemente, bZx, protocolo para negociação e empréstimo tokenizados em margem, sofreu dois grandes ataques (Imagem: Crypto Times)

Uma das previsões mais óbvias que fiz nas teses de 2020 foi de que você veria mais explosões das aplicações de finanças descentralizadas (DeFi).

Talvez haverá um evento que prove ser uma crise existencial no limite para DeFi… algum ataque a um grande protocolo que restaure expectativas em relação ao setor, assim como “The Dao” restaurou as expectativas sobre a viabilidade de pools de financiamento alimentadas por contratos inteligentes em 2016.

A façanha mais recente no setor DeFi vem da pretensiosa bZx, que não sofreu apenas um, mas dois ataques distintos (jogadas de arbitragem?) que se alimentaram da iliquidez das DeFi e da infraestrutura imatura de oráculos.

A plataforma de empréstimo e negociação baseada na Ethereum disparou nos rankings do site DeFi Pulse nas últimas semanas até o final de semana passado, quando um hacker conseguiu lucrar US$ 300 mil por conta de uma vulnerabilidade no design.

Parece que o hacker da bZx destacou sabiamente as limitações de se construir aplicações de alto risco hoje em dia usando “money legos” (interoperabilidade das finanças descentralizadas permitem criações de infinitas possibilidades, assim como peças de Lego).

O número de protocolos aplicados para realizar o ataque torna tudo quase performático.

“Money legos” é a expressão em cripto que faz referência ao brinquedo, pois é possível criar infinitas possibilidades encaixando uma pecinha na outra; finanças descentralizadas permitem infinitas criações a partir de diferentes tipos de recurso (Imagem: Pixabay/markusspiske)

Conforme explicou a equipe do bZx:

1) o invasor pegou 10 mil ETH em um empréstimo-relâmpago do dYdX, protocolo de empréstimos em margem (em 6º lugar no DeFi Pulse);

2) depois, enviou 5,5 mil ETH para a plataforma Compound (em 2º) para garantir um empréstimo de 112 WBTC (em 11º), token ERC-20 sintético lastreado em 1 para 1 por BTC;

3) em seguida, enviou 1,3 mil ETH para “pToken sETHBTC5x”, contrato que abriu uma venda de posição a descoberto contra a proporção ETH:WBTC, na Fulcrum, plataforma de negociação Fulcrum da bZx (13º);

4) 5.637 ETH foram automaticamente pegos emprestados e convertidos para 51 WBTC na reserva da Kyber (13º), protocolo descentralizado de câmbio, na Uniswap (em 5º), criadora automática de mercado — o grande deslize foi possível por conta da iliquidez da reserva;

5) o invasor converteu os 112 WBTC emprestados da Compound em 6.871 ETH na Uniswap, resultando em uma arbitragem de 1,2 mil ETH;

6) o invasor pagou novamente o empréstimo-relâmpago de 10 mil ETH da dYdX.

Se isso parecer muito complexo, o resumo é: BANG! US$ 300 mil de lucro + uma lição sobre arbitragem líquida de mercado onde “código é a lei”. Feliz Dia de São Valentim!

A equipe da bZx publicou que “os fundos estão SAFU (seguros)”, momentos antes do segundo ataque acontecer (Imagem: Blog da bZx)

Rapidamente, a bZx pausou seu protocolo quando soube da primeira invasão e interrompeu as negociações após ter publicado ontem, 17, que “os fundos estão SAFU (seguros)”.

Então, o protocolo sofreu outro ataque, com um vetor diferente…  Uhul!

O segundo hacker conseguiu realizar um ataque de “manipulação de oráculo”, de acordo com Kyle Kistner, cofundador da bZx.

Com essa façanha, o hacker conseguiu sair com mais 2.388 ETH (quase US$ 645 mil) e a equipe da bZx teve que interromper operações até conseguir fazer uma auditoria adequada de seus designs de mecanismos.

Vamos lá, de novo…

Dessa vez, um invasor pegou um empréstimo-relâmpago de 7,5 mil ETH e comprou mais de 3,5 mil ETH equivalentes em sUSD na corretora Synthetix (em 3º), depositou a garantia à bZx e usou 900 ETH para comprar sUSD na Kyber e na Uniswap de novo!

Depois, colocou a stablecoin sUSD lastreada em dólar para negociação em US$ 2. Em seguida, pegou um empréstimo de garantia na bZx usando o preço inflacionado do sUSD na Uniswap, pagou o empréstimo-relâmpago inicial e secou o pool de ETH na bZx.

Essa é a desvantagem de depender de apenas um oráculo (ilíquido) para precificar um contrato inteligente.

Oráculos são sistemas que fornecem informações extrassobre um sistema que, por sua vez, não forneceria tais informações (Imagem: Pixabay/geralt)

Poderia ser um líquido positivo para um protocolo descentralizado de oráculo, como Chainlink, que os cofundadores da bZx disseram que pretendem integrá-lo no futuro… caso ainda reste qualquer confiança no protocolo.

A parte mais louca é que você provavelmente viu esse segundo ataque chegar… mais ou menos imediatamente, já que os ativos sob gestão da bZx pularam em quase 50% para US$ 20 milhões após o protocolo voltar ao ar (seu pool em ETH diminuiu para US$ 6 milhões).

Você provavelmente esperaria que atores maliciosos se amontoassem em um protocolo logo após uma grande invasão. E é exatamente isso o que aconteceu.

À primeira vista, esse não é bom para o setor DeFi. Mas eu acho que esses tipos de ataques são saudáveis para o ecossistema emergente e pode ser melhor permitir — ou até encorajar — “jogos arbitrários” como na bZx a fim de tornar esses sistemas mais resilientes antes de crescerem e as invasões causarem mais danos.

É melhor ter queimas controladas do que incêndios florestais. É um mal necessário para a internet do dinheiro.

Por Ryan Selkis, da Messari