O que são Flash Loans?

Luís Pedro Pinto
Chainlink Community
8 min readAug 11, 2022

Tradução de: https://blog.chain.link/flash-loans/

Atualizado em 2 de maio de 2022.

Um Flash Loan é um tipo de empréstimo sem garantia que permite que um usuário empreste ativos sem garantia inicial, desde que os ativos emprestados sejam pagos dentro da mesma transação blockchain.

O ecossistema de finanças descentralizadas (DeFi) começou recriando serviços financeiros tradicionais, como empréstimos e empréstimos, bolsas, mercados de futuros e opções, para blockchains. À medida que o ecossistema se desenvolveu, foram criados fundamentalmente novos serviços que só são possíveis graças às propriedades inerentes da tecnologia blockchain e à composição sem permissão habilitada por aplicativos de contrato inteligente.

Assim como o conceito de agricultura de rendimento, os empréstimos instantâneos são um novo e excitante primitivo financeiro. Os flash loans permitem que os usuários tomem emprestado ativos de um pool de liquidez on-chain sem garantia inicial, desde que o valor emprestado de liquidez, mais uma pequena taxa, seja devolvido ao pool na mesma transação. Se o mutuário não pagar o empréstimo na mesma transação, toda a transação será revertida, incluindo o empréstimo inicial e quaisquer ações tomadas posteriormente. Esse mecanismo inovador aumenta o acesso ao capital para usuários em uma variedade de casos de uso, garantindo a solvência contínua do pool de liquidez subjacente on-chain.

Neste artigo, descrevemos como os flash loans funcionam, para que são usados ​​e o que os protocolos DeFi podem fazer para mitigar os possíveis vetores de ataque criados por essa nova primitiva financeira.

Como funcionam os Flash Loans?

No caso de empréstimos garantidos, os mutuários precisam colocar capital (garantia) para emprestar fundos. Se o mutuário não cumprir os termos do empréstimo, o credor ainda poderá cobrir o empréstimo usando a garantia do mutuário. Empréstimos flash não têm esse requisito; o empréstimo só pode existir se o mutuário o pagar de volta na mesma transação. Como resultado, a inadimplência em um empréstimo rápido não é possível, pois toda a transação seria simplesmente revertida.

Por um curto período de tempo — o período de uma única transação — um empréstimo rápido pode transformar qualquer pessoa em um ator muito bem capitalizado. As centenas de milhões de dólares de liquidez fornecidos por empréstimos instantâneos criam oportunidades únicas para arbitragem, liquidações, troca de garantias e criação de posições alavancadas. Também cria certos riscos, especialmente para um ecossistema nascente de protocolos financeiros com vários graus de descentralização e segurança. Esses riscos devem ser entendidos pelos desenvolvedores de contratos inteligentes para que aplicativos mais robustos possam ser criados para os usuários.

Para que são usados os empréstimos Flash?

O uso mais comum de empréstimos flash é para arbitragem. Ao aproveitar uma grande quantidade de capital para preencher uma ineficiência no mercado, onde um ativo tem taxas de câmbio diferentes em diferentes mercados, os arbitradores podem gerar lucro ao equilibrar o mercado e melhorar a liquidez para todos no mercado DeFi.

Outro caso de uso para flash loans são as liquidações. Muitos protocolos de empréstimo incentivam liquidantes terceirizados que podem ganhar uma recompensa pela liquidação de empréstimos que não atendem a um determinado requisito de taxa de garantia. O acesso a grandes quantias de capital por meio de empréstimos rápidos pode ajudar a garantir que os empréstimos com garantias insuficientes sejam liquidados no prazo e que o protocolo subjacente permaneça solvente.

Empréstimos relâmpago também podem ser usados ​​para trocas de garantias — uma técnica em que um usuário fecha seu empréstimo com fundos emprestados para abrir imediatamente um novo empréstimo com um ativo diferente como garantia. Os flash loans também podem simplificar o processo de criação de uma posição alavancada ou permitir que os empréstimos sejam transferidos sem problemas entre os protocolos.

Empréstimos Flash e Price Oracle Attacks

Os flash loans têm uma reputação controversa, pois, além dos casos de uso acima, eles também podem ser usados ​​para financiar vários tipos de ataques a protocolos DeFi. Depois que uma vulnerabilidade é descoberta por um agente malicioso, o invasor pode manipular certas funções do protocolo usando capital adquirido por meio de um empréstimo instantâneo e obter lucro enquanto potencialmente drena fundos de seus contratos inteligentes. Além disso, como as transações de empréstimo em flash revertem em caso de falha, os hackers não precisam colocar uma grande quantidade de seu próprio capital em risco para financiar um ataque.

É importante observar uma distinção importante aqui — empréstimos relâmpago não são inerentemente o problema, pois tudo o que eles fazem é fornecer uma fonte de capital. O verdadeiro problema em questão são as vulnerabilidades existentes em um protocolo que podem ser reveladas por meio de um ataque financiado por empréstimos instantâneos. A longo prazo, os flash loans podem até ser benéficos para a segurança do ecossistema DeFi, pois os engenheiros de protocolo precisam considerar os possíveis vetores de ataque que os flash loans podem descobrir, fornecendo acesso instantâneo a uma grande quantidade de liquidez.

Embora os ataques geralmente diferem em metodologia e escopo, um ataque comumente atribuído a flash loans envolve a manipulação de protocolos que usam um preço à vista de uma exchange descentralizada (DEX) como seu único oráculo de preço. Conforme explicado em A Importância da Qualidade de Dados para Contratos Inteligentes DeFi, os protocolos que obtêm preços de uma única fonte centralizada são facilmente exploráveis ​​por agentes mal-intencionados bem capitalizados que podem manipular o mercado com uma grande negociação. Os protocolos DeFi geralmente procuram maximizar sua resistência à descentralização e à censura — oráculos de preços centralizados minam esse objetivo, agindo como um único ponto de falha.

Aqui está um exemplo de um ataque financiado por empréstimo em flash em um protocolo de empréstimo DeFi usando um feed de preço à vista baseado em DEX como seu único oráculo de preço:

  1. O invasor empresta uma grande quantidade de token A de um protocolo que suporta flash loans.
  2. O atacante troca o token A pelo token B em um DEX (reduzindo o preço spot do token A e aumentando o preço spot do token B no DEX).
  3. O invasor deposita o token B comprado como garantia em um protocolo DeFi que usa o preço à vista da DEX acima como seu único feed de preço e usa o preço à vista manipulado para emprestar uma quantidade maior de token A do que normalmente seria possível.
  4. O invasor usa uma parte do token A emprestado para pagar totalmente o empréstimo em flash original e manter os tokens restantes, gerando lucro usando o feed de preço manipulado do protocolo.
  5. Como os preços spot dos tokens A e B na DEX são arbitrados de volta ao preço real de todo o mercado, o protocolo DeFi fica com uma posição subgarantida.
Etapas tomadas por um agente mal-intencionado durante um ataque de oráculo de preço de empréstimo em flash

Como o invasor conseguiu abrir um empréstimo em flash e manipular a troca que o protocolo DeFi usava como seu único oráculo de preço à vista, o invasor conseguiu aumentar o valor relatado do token usado como garantia e diminuir o valor relatado do token usado como dívida. Isso permitiu que o invasor tomasse emprestado mais fundos do que deveria, criando uma posição que não pode ser totalmente liquidada, pois a garantia passou a valer menos que a dívida. Esse ataque pode ocorrer em uma única transação, mas pode ser repetido várias vezes em várias transações, aumentando o dano.

Além disso, quando usadas como feeds de preços, as exchanges on-chain únicas também fornecem uma cobertura de mercado extremamente limitada, pois representam a atividade de negociação de apenas uma bolsa. Isso deixa os protocolos que dependem do preço à vista dessa DEX vulnerável a pontos de preço manipulados se o volume mudar para diferentes bolsas ou um ator bem capitalizado manipular temporariamente o preço nessa bolsa. É especialmente arriscado para ativos de menor liquidez, que estão sendo cada vez mais usados ​​como garantia nos protocolos de empréstimo DeFi.

Com isso em mente, esse estilo de ataque é totalmente evitável com uma solução oracle descentralizada com cobertura de mercado adequada.

Como os Oracles Chainlink previnem ataques de Flash Loans

Para gerar cobertura total do mercado, os Chainlink Price Feeds são alimentados por redes descentralizadas de nós que agregam dados de preços não de uma única fonte, mas de várias empresas independentes de agregação de dados. Esses agregadores de dados rastreiam todos os ambientes de negociação líquidos — incluindo exchanges centralizadas e descentralizadas — para gerar preços médios ponderados por volume que refletem o preço dos ativos em todo o mercado. Esses agregadores de dados também geralmente levam em consideração várias diferenças entre as exchanges e filtram ativamente os outliers do mercado, como flash crashes e wash trading.

Se você quiser se aprofundar nas vantagens de usar Chainlink Price Feeds em protocolos DeFi, leia Como os Chainlink Price Feeds protegem o ecossistema DeFi.

Como os empréstimos instantâneos existem apenas dentro do prazo de uma única transação on-chain, qualquer manipulação que ocorra é revertida ao final da transação. Como os Chainlink Price Feeds agregam dados de preços off-chain de uma ampla coleção de fontes e publicam dados on-chain de forma assíncrona, os flash loans não têm efeito sobre os valores agregados nos relatórios Oracle.

Para evitar ataques de oráculo de preços relacionados a flash loans, é altamente recomendável que os desenvolvedores de contratos inteligentes evitem preços à vista DEX manipuláveis ​​e, em vez disso, utilizem os Chainlink Price Feeds como fonte de dados de mercado validados. Isso ajuda a garantir que os protocolos DeFi sempre recebam um preço agregado que reflita a atividade comercial em todo o mercado e intocável por flash loans, mitigando toda uma categoria de vetores de ataque oráculo de preço.

Flash loans são ineficazes contra os feeds de preços Chainlink.

Conclusão

Empréstimos relâmpago são uma primitiva financeira sofisticada em DeFi que desbloqueia aplicações financeiras complexas e reduz a barreira de entrada para uma nova onda de participantes do mercado. Embora os flash loans tenham sido utilizados para financiar ataques aos protocolos DeFi, eles são simplesmente uma ferramenta financeira disponível para desenvolvedores e usuários — eles não criam vulnerabilidades, mas revelam vulnerabilidades que podem já existir em um protocolo, sendo o mais comum o oráculo de preço defeituoso desenhos.

Chainlink é uma rede oracle descentralizada que ajuda os protocolos DeFi a se tornarem mais resistentes a adulterações, particularmente em relação à função crítica de fornecer dados de mercado em tempo real que acionarão uma cascata de outras transações em outros aplicativos Web3. Somente por meio de uma abordagem de segurança em primeiro lugar os protocolos DeFi podem se adaptar a novos riscos, manter a confiança e escalar de forma sustentável para atrair bilhões de usuários e trilhões de dólares em valor.

Se você é um desenvolvedor e deseja conectar rapidamente seu aplicativo ao Chainlink Price Feeds, visite a documentação do desenvolvedor e participe da discussão técnica no Discord. Se você quiser discutir a integração mais detalhadamente, entre em contato aqui.

--

--