Por que pontes vivem sendo hackeadas, e o que é de fato um token ponte

·6 min de leitura·Por SSP Editorial Team
Capa da SSP Academy: ataques a pontes entre redes e tokens embrulhados

Por que pontes vivem sendo hackeadas, e o que é de fato um token ponte

Durante boa parte de 2021 e 2022, as pontes entre redes foram a coisa mais confiavelmente roubada de todo o mundo cripto. Não as corretoras, nem as carteiras, nem os contratos inteligentes em geral: as pontes.

A Ronin perdeu cerca de 625 milhões de dólares. A Poly Network perdeu mais de 600 milhões. A Wormhole perdeu por volta de 320 milhões. A Nomad perdeu perto de 200 milhões. Isso dá mais de um bilhão e meio de dólares em quatro incidentes, e a lista é maior que quatro.

Nenhum deles foi falha do Bitcoin, do Ethereum ou de qualquer rede subjacente. Entender por quê é a coisa mais útil que você pode aprender sobre pontes, porque diz exatamente em quem você está confiando ao usar uma.

As redes não conseguem conversar entre si

O problema de raiz é simples e costuma passar batido. O Bitcoin não faz a menor ideia de que o Ethereum existe. Cada rede valida apenas as próprias transações e não tem mecanismo algum para observar o estado de outra. Não existe jeito embutido de uma ficar sabendo o que aconteceu na outra.

Então «mandar BTC para o Ethereum» é impossível no sentido literal. Seus bitcoins não conseguem sair do Bitcoin.

O que acontece de fato é uma substituição. Você manda BTC de verdade para um endereço controlado pela ponte. A ponte percebe, e algo no Ethereum emite para você um token que representa aqueles BTC. Quando você quer sair, queima o token e a ponte libera o original.

A consequência crucial: um token ponte não é o ativo. É um direito sobre um caixa daquele ativo, guardado por quem opera a ponte. Seu valor repousa inteiramente em aquele caixa ainda estar lá e em o operador continuar honrando resgates. Se o caixa é drenado, seu token embrulhado é um recibo de nada — que é precisamente o que os detentores descobriram em cada um dos incidentes acima.

Alguém precisa decidir que o depósito aconteceu

Como nenhuma rede consegue observar a outra, algum terceiro precisa vigiar a rede A e atestar para a rede B que houve um depósito. Esse mecanismo de atestação é a ponte, e é por ali que todo o dinheiro some.

Os desenhos variam em quanta confiança exigem:

Um multisig ou conjunto de validadores — um grupo fixo de signatários cujo quórum autoriza as liberações. Simples, rápido, e forte apenas na medida do menor número de chaves capaz de mover fundos.

Um modelo otimista — mensagens são presumidas válidas a não ser que sejam contestadas dentro de uma janela. Barato, mas depende de alguém realmente estar olhando e de a lógica de contestação estar correta.

Clientes leves e provas — a rede de destino verifica provas criptográficas do estado da rede de origem. A abordagem mais robusta e a mais cara, motivo pelo qual é menos comum do que deveria ser.

Todo o resto é variação. O que importa é que, em quase todos os casos, um pequeno conjunto de partes ou uma única função de verificação se interpõe entre o caixa e um atacante.

As quatro falhas, e o que cada uma ensina

Ronin — chaves comprometidas, não código comprometido. A ponte usava nove validadores, exigindo cinco para autorizar um saque. Um atacante obteve quatro chaves por phishing dirigido e chegou à quinta por meio de um terceiro a quem se havia concedido acesso de assinatura tempos antes e de quem nunca se revogou. Cinco de nove, quórum atingido, fundos liberados. Nada foi quebrado criptograficamente. A checagem de assinaturas funcionou perfeitamente — só que verificou assinaturas de um atacante.

A lição não é «multisig é ruim». É que um quórum só vale o quanto vale a independência de seus signatários. Quatro chaves numa mesma empresa mais uma permissão esquecida não são um cinco-de-nove, são mais parecidas com um um-de-dois fantasiado.

Poly Network — convenceram o contrato a trocar o próprio guarda. O atacante achou um caminho de chamada entre redes que lhe permitiu alterar o papel de keeper — aquilo que decide quais mensagens são legítimas — para um endereço sob seu controle. Depois disso, cada saque fraudulento estava, no que dizia respeito ao contrato, devidamente autorizado.

A lição: a função mais perigosa de uma ponte raramente é a que move dinheiro. É a que decide quem tem permissão para isso.

Wormhole — a própria checagem de assinatura era falha. Uma rotina de verificação podia ser enganada a aceitar um conjunto forjado de assinaturas de guardiões, o que deixou o atacante cunhar 120.000 wETH na Solana que nunca foram lastreados por nada no Ethereum.

A lição: «verificado por assinaturas» não significa nada sem um verificador correto. A criptografia estava bem; o código em volta, não.

Nomad — uma mudança de configuração abriu a porta para todo mundo. Uma atualização de rotina deixou uma raiz confiável definida como valor zero, o que teve o efeito de fazer praticamente qualquer mensagem parecer provada. O exploit não exigia habilidade nenhuma: as pessoas copiavam a transação do primeiro atacante, trocavam pelo próprio endereço e repetiam. Virou uma drenagem coletiva.

A lição, e é a desconfortável: não foi um ataque exótico. Foi um erro de implantação. A maior parte das perdas em pontes se parece mais com operação malfeita do que com criptografia derrotada.

O que isso significa para você

Ativos em ponte carregam o risco da ponte, não o da rede. Ter BTC embrulhado em outra rede não é ter BTC. É ter um direito, garantido pelo componente mais frágil que aquela ponte tiver. Isso pode ser perfeitamente aceitável — mas deveria ser uma decisão, não uma suposição.

Prefira não usar ponte quando houver alternativa. Se você pode comprar o ativo nativamente na rede de destino, ou usar uma corretora centralizada como ponto de travessia, você trocou risco de ponte por um risco diferente e muitas vezes mais bem compreendido. Nenhuma das opções é livre de risco; elas apenas falham de formas diferentes, e os modos de falha de corretoras estão pelo menos bem catalogados.

Não deixe valor estacionado em forma de ponte. O risco de ponte se acumula com o tempo. Atravessar, fazer o que você foi fazer e voltar expõe você brevemente. Segurar um ativo embrulhado por um ano expõe você por um ano.

Julgue uma ponte pelo modelo de confiança, não pela interface. Quantos signatários podem mover os fundos? São organizações independentes ou um único time? O código foi auditado e — mais revelador — sobreviveu ao tempo e ao volume? Um visual bonito não lhe diz nada.

Dimensione a posição pela confiança. A regra direta é não passar por ponte mais do que você estaria disposto a perder se o operador sumisse, porque no pior caso é a mesma coisa.

Onde a SSP se coloca

A SSP suporta mover ativos entre redes EVM, e vale ser exato sobre o que isso protege e o que não protege.

Nosso dois-de-dois protege suas chaves e suas aprovações. Ninguém consegue iniciar uma transação de ponte sem que ambos os seus aparelhos assinem, e você verá em cada um o que está aprovando. Essa propriedade se sustenta por inteiro.

O que ela não consegue fazer é tornar a ponte em si segura. Uma vez que seus ativos estão no contrato de uma ponte, eles são governados pelas regras daquele contrato e pela gestão de chaves daquele operador — não pelo seu multisig. Aprovação em dois aparelhos é excelente proteção contra alguém mover seus fundos sem permissão. Não é proteção nenhuma contra seus fundos serem tomados de um lugar para onde você deliberadamente os mandou.

Não é uma limitação que a gente consiga contornar com engenharia, e fingir o contrário seria desonesto. Pontes são um daqueles lugares da cripto em que a resposta honesta é que a segurança depende quase inteiramente de outra pessoa, e a reação certa é olhar com atenção para quem é essa pessoa antes de atravessar.

Compartilhar este artigo

Artigos relacionados