Construção de grafos de transações · Aula 6 de 6
Rastreamento entre cadeias
9 min de leitura
Os fundos raramente permanecem em uma única cadeia. Ladrões trocam tokens roubados em uma DEX, fazem a ponte para outra rede, convertem-nos em bitcoin por meio de um protocolo de swap entre cadeias e, em seguida, usam um serviço de exchange instantânea, muitas vezes em questão de horas. Cada movimentação deixa registros em dois ou mais livros-razão que não compartilham um grafo de transações comum. O rastreamento entre cadeias consiste em reconectar esses registros e ser transparente sobre a força de cada reconexão.
Três tipos de vínculo
Dentro de uma mesma cadeia, uma saída gasta ou um evento de transferência é um fato concreto. Entre cadeias, não há uma aresta compartilhada, então o analista precisa estabelecê-la. Todo vínculo entre cadeias se enquadra em um de três níveis:
| Nível | Base | Exemplo |
|---|---|---|
| Determinístico | O próprio protocolo registra o vínculo com um identificador compartilhado | Um ID de depósito de ponte ou uma sequência de mensagem que aparece nos eventos de origem e de destino |
| Registrado pelo protocolo | Os registros públicos do serviço associam transações de entrada e de saída | Uma API de protocolo de swap entre cadeias que lista cada hash de entrada com seu hash de saída |
| Probabilístico | Inferido com base em valor, horário e comportamento correspondentes | Um depósito em um serviço de exchange instantânea e um pagamento de valor semelhante minutos depois em outra cadeia |
Sempre informe o nível de cada vínculo no seu caminho de rastreamento. Um caminho é tão forte quanto seu vínculo mais fraco.
O tempo também se comporta de maneira diferente entre cadeias. Os intervalos entre blocos variam de bem menos de um segundo a cerca de dez minutos, e o atraso entre os dois lados de uma transferência depende do mecanismo: segundos em uma rede de liquidez, minutos em uma ponte que aguarda a finalização da cadeia de origem e cerca de sete dias para um saque padrão de um rollup otimista. Converta todos os horários para UTC, anote a altura do bloco de cada cadeia e defina janelas de correspondência com base no atraso real do mecanismo, em vez de usar uma estimativa fixa.
Swaps e ativos encapsulados na mesma cadeia
Antes de sair de uma cadeia, os fundos muitas vezes mudam de forma. Um swap em DEX é o caso mais simples: em uma única transação, o endereço do usuário envia o token A para um pool e recebe o token B, e ambos ficam visíveis como eventos de transferência com o mesmo hash de transação (consulte a aula Swaps em DEX e fluxos de liquidez). O vínculo é determinístico, mas o valor muda com o preço, então seu rastreamento precisa mudar de ativo e registrar a taxa.
Ativos encapsulados representam um ativo em outra forma. O WETH encapsula ETH na própria Ethereum: o contrato do WETH emite um evento Deposit quando o ETH entra e um evento Withdrawal quando sai, na proporção de um para um. Tokens de bitcoin encapsulado na Ethereum são cunhados e queimados por um custodiante ou por uma ponte, então o vínculo com o bitcoin real passa pelos registros desse emissor, não pelos registros de nenhuma das duas cadeias. Versões encapsuladas do mesmo token podem coexistir em uma rede com diferentes endereços de contrato; por isso, sempre identifique um token pelo endereço do contrato, nunca pelo ticker.
Pontes
Uma ponte transfere valor entre cadeias. Três modelos predominam:
- Bloqueio e cunhagem: o ativo é bloqueado em um contrato na cadeia de origem e uma versão encapsulada é cunhada na cadeia de destino. O processo inverso é queima e liberação.
- Rede de liquidez: o usuário deposita na cadeia de origem e um relayer ou provedor de liquidez paga ativos nativos na cadeia de destino usando seus próprios fundos, recebendo o reembolso posteriormente. É rápido, mas o pagamento vem do endereço de outra pessoa.
- Protocolos de passagem de mensagens: uma camada genérica de mensagens leva uma mensagem de uma cadeia a outra, e aplicações como pontes de tokens são construídas sobre ela.
A maioria das pontes atribui a cada transferência um identificador que aparece nos dois lados. O contrato principal da Wormhole, por exemplo, emite LogMessagePublished(address indexed sender, uint64 sequence, uint32 nonce, bytes payload, uint8 consistencyLevel) na cadeia de origem. A mensagem assinada que a cadeia de destino aceita é indexada de forma única pela cadeia emissora, pelo endereço emissor e pelo número de sequência; assim, a correspondência desses três valores conecta os dois lados de forma determinística. Outras pontes usam um ID de depósito, um nonce ou um hash de mensagem com a mesma finalidade. As pontes canônicas de rollups são abordadas na aula Camadas 2, sidechains e pontes como fontes de dados.
A regra prática: antes de fazer a correspondência por valor, leia o evento da ponte na cadeia de origem, encontre o identificador e os campos de destino (ID da cadeia de destino, destinatário, token, valor) e procure o mesmo identificador na cadeia de destino. Só recorra ao valor e ao horário quando não houver um identificador.
Protocolos de swap entre cadeias
Alguns protocolos fazem swap de ativos nativos entre cadeias sem encapsulá-los. THORChain é o exemplo mais conhecido. Para trocar bitcoin por ether, o usuário envia BTC para o endereço de cofre do protocolo com um memorando em uma saída OP_RETURN (mantido dentro de 80 bytes, o limite padrão de relay há muito estabelecido para esse tipo de dado) que indica o ativo e o endereço de destino. Uma transação fictícia decodificada:
txid 2c9d…71be (Bitcoin, fictícia)
vout 0 0.75000000 BTC bc1q…vlt8 endereço de entrada do cofre do protocolo de swap
vout 1 OP_RETURN "=:ETH.ETH:0xA1b2…9F" memorando: swap a preço de mercado para ETH, destinatário 0xA1b2…9F
vout 2 0.21843000 BTC bc1q…k2ze troco
O memorando =:ETH.ETH:0xA1b2…9F significa “fazer swap a preço de mercado para ETH nativo na Ethereum e pagar 0xA1b2…9F”. O endereço de destino é escrito na transação da cadeia de origem, e os registros públicos do protocolo associam o hash de entrada ao pagamento de ETH de saída. Por isso, esses swaps, embora rápidos, estão entre as formas mais rastreáveis de mudar de cadeia. Após o roubo de cerca de US$ 1,5 bilhão da Bybit em fevereiro de 2025, os invasores converteram grande parte do ETH roubado em bitcoin, principalmente por meio da THORChain; uma estimativa publicada em 27 de fevereiro de 2025 pela pesquisadora de segurança Taylor Monahan contabilizou pelo menos 161.490 ETH movimentados pela THORChain em 3.934 transações ao longo de cerca de cinco dias.
Exchanges instantâneas e correspondência por valor e horário
Os serviços de exchange instantânea recebem um depósito em um ativo e pagam outro, geralmente sem exigir uma conta. Eles são custodiais, então o vínculo está nos registros deles, e os analistas on-chain só conseguem fazer a correspondência por valor e horário.
Exemplo trabalhado. Uma carteira sob investigação envia 2.00000000 BTC para um endereço de depósito de uma exchange instantânea às 14:02 UTC. Naquele momento, 1 BTC = US$ 60.000 e 1 ETH = US$ 2.400, então 2 BTC valem 50 ETH. Considerando uma taxa de serviço de 0,5% a 1%, além dos custos de rede, o pagamento esperado fica aproximadamente entre 49,4 e 49,75 ETH. A consulta abaixo lista os pagamentos de ETH do serviço na hora seguinte, dentro de uma faixa de valor de 5%:
SELECT o.txid, o.to_address, o.block_timestamp, o.amount_eth,
ABS(o.amount_eth - 49.6) / 49.6 AS rel_gap -- distância em relação ao valor esperado
FROM service_outflows_eth o
WHERE o.block_timestamp >= TIMESTAMP '2026-05-11 14:02:00'
AND o.block_timestamp < TIMESTAMP '2026-05-11 15:02:00'
AND o.amount_eth BETWEEN 47.5 AND 50.0 -- faixa de 5% abaixo de 50 ETH
ORDER BY rel_gap;
Ela retorna quatro pagamentos: 49,61 ETH às 14:19, 49,58 ETH às 14:51, 49,20 ETH às 14:33 e 48,95 ETH às 14:48. Os dois primeiros se enquadram na faixa esperada; os dois últimos, não. A correspondência reduziu quatro candidatos a dois, mas não estabeleceu um vínculo. Evidências adicionais podem diferenciá-los: algum dos destinatários envia fundos posteriormente para um endereço de depósito de exchange usado antes pelo investigado? Ele compartilha fontes de financiamento de gás ou hábitos de horário com as carteiras conhecidas do investigado? Cada fato independente fortalece ou enfraquece um candidato.
Quantificação da incerteza
Vínculos probabilísticos exigem números, não apenas adjetivos:
- Tamanho do conjunto de candidatos: quantos pagamentos se enquadram na janela e na faixa. Um candidato entre quatro é muito diferente de um entre quarenta.
- Taxa de correspondência casual: aplique a mesma regra de correspondência a uma amostra de depósitos não relacionados feitos ao mesmo serviço em horários aleatórios. Se 60% dos depósitos aleatórios também encontrarem uma “correspondência”, uma correspondência é uma evidência fraca; se forem 2%, é forte.
- Sensibilidade: amplie e reduza a janela de tempo e a faixa de valor. Um vínculo que aparece apenas sob uma configuração restrita é frágil.
- Corroboração: conte os sinais independentes (valor, horário, comportamento do destino, convergência posterior com carteiras conhecidas) e anote quaisquer sinais que contradigam o vínculo.
Em seguida, expresse o resultado com uma linguagem calibrada e um nível de confiança para cada constatação (consulte a aula Confiança, incerteza e linguagem), mantenha os vínculos determinísticos e probabilísticos visualmente distintos nos diagramas (por exemplo, com arestas contínuas e tracejadas) e liste os identificadores e as consultas em um apêndice para que o caminho possa ser reconstruído nas duas cadeias.
Foco no exame: os três níveis de vínculo entre cadeias (determinístico, registrado pelo protocolo, probabilístico) e por que um caminho é tão forte quanto seu vínculo mais fraco; swaps em DEX e ativos encapsulados como mudanças de forma na mesma cadeia, incluindo os eventos Deposit e Withdrawal do WETH e a identificação de tokens pelo endereço do contrato; pontes de bloqueio e cunhagem, queima e liberação, rede de liquidez e passagem de mensagens; correspondência de transferências por ponte por meio de identificadores compartilhados, como a cadeia emissora, o endereço emissor e a sequência da Wormhole; leitura de um memorando de swap em uma saída OP_RETURN; correspondência por valor e horário com expectativas ajustadas pelas taxas; tamanho do conjunto de candidatos, taxa de correspondência casual, sensibilidade e corroboração.
Questões de prática
Verifique o que você aprendeu. Estas questões não contam para o exame.
Entre para salvar seu progresso e continuar de onde parou. É grátis. Entrar