Cross-chain, DeFi e contratos inteligentes · Aula 3 de 6
Saltos entre cadeias e rastreamento entre cadeias
13 min de leitura
Fundos roubados e de origem criminosa agora atravessam várias blockchains em poucas horas, e cada travessia leva as evidências para um livro-razão diferente, muitas vezes para um detentor de registros diferente em outro país. Dois livros-razão não compartilham uma aresta de transação; portanto, o rastreamento entre cadeias consiste em reconectar seus registros e ser transparente sobre a força de cada reconexão. É também uma corrida contra o tempo: cada salto acrescenta um problema de correspondência, registros a preservar e um vínculo cuja força deve ser declarada. Swaps e exchanges instantâneas são abordados na Aula 5.2; pontes, rollups e outros modelos de cadeia, na Aula 5.4; esta aula aborda o padrão, a classificação dos vínculos entre cadeias, a correspondência quando não há identificador e como registrar e conduzir um caso envolvendo várias cadeias.
Por que os criminosos fazem saltos
Saltos entre cadeias são a movimentação de valor entre blockchains ou tipos de ativos, por meio de pontes, swaps ou serviços de exchange, com o efeito (e muitas vezes o propósito) de dificultar o acompanhamento de um rastro. Os criminosos fazem saltos por várias razões, geralmente ao mesmo tempo:
- Para romper o grafo. Cada travessia obriga o investigador a estabelecer um vínculo que uma ferramenta para uma única cadeia não traçará automaticamente, e algumas ferramentas abrangem apenas determinadas cadeias e pontes.
- Para sair de ativos sujeitos a congelamento. Emissores de stablecoins podem congelar tokens em um endereço (Aula 10.1), por isso ladrões que detêm stablecoins frequentemente as trocam por um ativo nativo em poucos minutos. O inverso também acontece: os fundos são convertidos em stablecoins em uma cadeia com taxas baixas pouco antes da conversão em moeda fiduciária, porque é ali que estão os intermediários e compradores.
- Para alcançar liquidez e vias de saída. Grandes quantias precisam de mercados com profundidade, e os canais de conversão em moeda fiduciária (intermediários OTC, vendedores ponto a ponto, exchanges com controles fracos) favorecem determinadas cadeias e ativos.
- Para fragmentar a jurisdição. Um rastro que passa pela interface de uma ponte em um país, por um serviço de exchange instantânea em um segundo e por uma exchange em um terceiro exige três conjuntos de solicitações legais, cada um com sua própria demora (Aula 1.3).
- Para alcançar sistemas de privacidade. Alguns saltos terminam em uma moeda de privacidade ou em um misturador (Módulo 6).
Fazer saltos não é, por si só, evidência de crime: usuários comuns usam pontes para economizar em taxas ou buscar rendimentos. O relatório do FATF Ativos virtuais: indicadores de alerta de lavagem de dinheiro e financiamento do terrorismo (setembro de 2020) trata como sinais de alerta as transações que usam mais de um tipo de ativo virtual apesar das taxas adicionais e as grandes conversões entre tipos de ativos sem explicação comercial lógica. O indicador é a combinação: velocidade, custo, ausência de finalidade econômica e origem criminosa.
Sequências típicas
Após o roubo na ponte Ronin em março de 2022, uma análise pública de uma empresa de segurança descreveu o ETH roubado passando por um misturador de contrato inteligente, sendo trocado em DEXs por um token atrelado ao bitcoin, transferido por uma ponte para a rede Bitcoin e convertido de sua forma encapsulada em BTC, antes de parte passar por misturadores custodiais de bitcoin. Após o roubo de cerca de US$ 1,5 bilhão da exchange Bybit em fevereiro de 2025, uma estimativa publicada em 27 de fevereiro de 2025 pela pesquisadora de segurança Taylor Monahan contabilizou pelo menos 161.490 ETH movimentados pelo protocolo de swap entre cadeias THORChain em 3.934 transações em cerca de cinco dias, e a atualização da própria vítima de 4 de março de 2025 informou que cerca de 72% do ether roubado (361.255 ETH) havia passado pelo THORChain e cerca de 83% (417.348 ETH) havia sido convertido em bitcoin.
Uma sequência genérica de lavagem para um roubo ou golpe:
| Etapa | Movimentação típica | Objetivo do criminoso |
|---|---|---|
| 1 | Token sujeito a congelamento trocado por um ativo nativo em uma DEX | Escapar de congelamentos pelo emissor |
| 2 | Ativo nativo transferido por uma ponte para um rollup ou outra cadeia | Romper o grafo, reduzir taxas |
| 3 | Swap ou ponte para uma família de ativos diferente (por exemplo, ETH para BTC) | Mudar de livro-razão e de ferramentas |
| 4 | Serviço de exchange instantânea ou misturador | Inserir uma ruptura custodial ou por agrupamento de fundos |
| 5 | Conversão em uma stablecoin em uma cadeia com taxas baixas | Alcançar intermediários e compradores |
| 6 | Depósito em uma exchange, mesa OTC ou vendedor ponto a ponto | Converter em moeda fiduciária |
Mudanças de forma em uma única cadeia
Antes de sair de uma cadeia, os fundos frequentemente mudam de forma, e cada mudança deve ser registrada com sua taxa de conversão. Um swap em DEX é um vínculo determinístico em uma única transação, mas o rastreamento precisa mudar de ativo (Aula 5.2). Ativos encapsulados representam um ativo em outra forma. O WETH encapsula ETH na própria Ethereum: o contrato WETH emite um evento Deposit quando o ETH entra e um evento Withdrawal quando ele sai, na proporção de um para um. Tokens de bitcoin encapsulado na Ethereum são emitidos e queimados por um custodiante ou uma ponte; portanto, o vínculo com o bitcoin real passa pelos registros desse emissor, não por qualquer uma das cadeias. Versões transferidas por pontes do mesmo token podem coexistir em uma rede sob endereços de contrato diferentes, por isso sempre identifique um token por seu endereço de contrato, nunca por seu símbolo.
Classificação dos vínculos entre cadeias
Dentro de uma cadeia, uma saída gasta ou um evento de transferência é um fato incontestável. Entre cadeias, não há uma aresta compartilhada; portanto, cada vínculo se apoia em uma de três bases:
| Base | O que conecta os dois lados | Exemplo | Classificação (escala da Aula 3.2) |
|---|---|---|---|
| Determinística | O protocolo grava um identificador compartilhado, ou o destino, nos dois lados | ID de depósito de ponte ou sequência de mensagem nos eventos de origem e destino; um memo de swap que identifica o destinatário, respondido por um memo de saída que identifica o hash de entrada | A, após verificação nas duas cadeias |
| Registrada pelo protocolo | Os registros do serviço, públicos ou fornecidos, associam entrada e saída | API de um protocolo de swap que lista cada hash de entrada com seu hash de saída; registros de execução de um operador | B, após conferência com as duas cadeias |
| Probabilística | Inferida a partir de valor, tempo e comportamento | Um depósito em um serviço de exchange instantânea e um pagamento de valor semelhante minutos depois em outra cadeia | D até que os registros o confirmem |
Um caminho é tão forte quanto seu vínculo mais fraco. Aplicando isso aos tipos comuns de salto:
| Tipo de salto | Base do vínculo | Quem pode deter registros |
|---|---|---|
| Swap em DEX em uma única cadeia | Determinística | Geralmente ninguém; operadores da interface ou do agregador podem deter logs |
| Ponte com um identificador de mensagem | Determinística | Operador da ponte, retransmissores, interface |
| Protocolo de swap entre cadeias com memos | Registrada pelo protocolo; determinística quando ambos os memos são verificados nas cadeias | Dados públicos do protocolo; operadores de interface |
| Ponte de liquidez ou execução rápida | Determinística se o ID do depósito for reproduzido na execução; caso contrário, probabilística | Operador da ponte, retransmissor |
| Serviço de exchange instantânea | Probabilística até a chegada dos registros | O serviço (ordem, pagamento, dados de IP) |
| Exchange ou mesa OTC | Probabilística na cadeia; documental a partir dos registros | A exchange ou mesa (KYC, livro-razão da conta) |
Disso decorrem três consequências práticas. Primeiro, quando o endereço de destino está gravado na transação de origem (um campo de destinatário da ponte, um memo de swap), o vínculo não depende de correspondência: leia o evento de origem, encontre seus campos de identificador e destino e procure o mesmo identificador na cadeia de destino antes de buscar por valor (a Aula 5.4 apresenta as etapas de correspondência de pontes). Segundo, um salto por um serviço custodial encerra o rastro na cadeia no lado do depósito (Aula 3.4); o que sai é um novo rastro que deve ser vinculado por registros ou por inferência explícita. Terceiro, registre a mudança de ativo em cada salto, com a taxa de conversão e a fonte do preço, porque os valores mudam tanto de forma quanto de livro-razão.
Correspondência por valor e tempo
Quando nenhum identificador conecta os dois lados, você precisa buscar candidatos na cadeia de destino, e a janela de busca deve ser definida pelo mecanismo, não pelo hábito.
Janelas de tempo. Os intervalos entre blocos variam de bem menos de um segundo a cerca de dez minutos, e os atrasos diferem conforme o mecanismo: segundos a poucos minutos para uma execução por retransmissor, minutos para uma ponte que aguarda a finalização na cadeia de origem, cerca de uma semana para uma retirada canônica de um rollup otimista e minutos a horas para um serviço de exchange instantânea, dependendo de sua política de confirmação e de sua fila. Converta todos os carimbos de data e hora para UTC, registre as alturas dos blocos nas duas cadeias e considere diferenças de relógio nos registros dos próprios serviços.
Faixas de valor. A saída esperada é igual à entrada multiplicada pela taxa de câmbio, menos a taxa do serviço, menos as taxas de rede dos dois lados. Calcule uma faixa, não um valor pontual: a taxa de câmbio no depósito e no pagamento pode diferir, e alguns serviços oferecem uma taxa fixa por um curto período. Registre a fonte do preço e o horário de cada cotação.
Um exemplo resolvido
Uma carteira sob investigação envia 2,00000000 BTC para um endereço de depósito de exchange instantânea às 14:02 UTC. Naquele momento, 1 BTC = 60.000 USD e 1 ETH = 2.400 USD, portanto 2 BTC valem 50 ETH. Considerando uma taxa de serviço de 0,5% a 1% mais os custos de rede, o pagamento esperado é de aproximadamente 49,4 a 49,75 ETH. A consulta lista os pagamentos em ETH do serviço na hora seguinte dentro de uma faixa de 5% abaixo de 50 ETH:
-- service_outflows_eth: tabela do caso com os pagamentos em ETH do serviço, criada a partir de
-- transações e rastros, com o valor convertido de wei para ETH
SELECT o.transaction_hash, o.to_address, o.block_timestamp, o.amount_eth,
ABS(o.amount_eth - 49.6) / 49.6 AS rel_gap -- distância do 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 produziu um vínculo. Evidências adicionais podem diferenciá-los: um dos destinatários envia fundos posteriormente para um endereço de depósito de exchange que o investigado usou antes? Ele compartilha fontes de financiamento de gás ou padrões de horário com as carteiras conhecidas do investigado? Cada fato independente fortalece ou enfraquece um candidato.
Quantificação e defesa da correspondência
Vínculos probabilísticos precisam de números, não apenas de 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 ao acaso: execute a mesma regra para uma amostra de depósitos não relacionados no mesmo serviço em horários aleatórios. Se 60% dos depósitos aleatórios também encontram uma "correspondência", uma correspondência é uma evidência fraca; se 2% encontram, é forte.
- Sensibilidade: amplie e reduza a janela e a faixa. Um vínculo que aparece apenas sob uma configuração restrita é frágil.
- Corroboração: conte os sinais independentes (valor, tempo, comportamento do destino, convergência posterior com carteiras conhecidas) e anote qualquer um que contradiga o vínculo.
Anote a janela e a faixa, e sua justificativa, antes de executar a busca: uma correspondência encontrada somente depois que a janela foi ajustada para se adequar a ela tem pouco valor em juízo. Depois, expresse o resultado em linguagem calibrada (Aula 9.2), mantenha os vínculos determinísticos e probabilísticos visualmente distintos nos diagramas (arestas contínuas e tracejadas, Aula 9.3) e liste os identificadores e as consultas em um apêndice para que o caminho possa ser reconstruído nas duas cadeias.
Registro de cada salto
Cada salto merece um registro estruturado nos autos do caso, mantido com as anotações de trabalho e submetido ao cálculo de hash junto com as demais peças de evidência (Aula 8.3). Um exemplo fictício:
{
"hop_id": "H-04",
"type": "bridge_liquidity_fill",
"source": {"chain_id": 1, "txid": "0x5e2a…c71d", "log_index": 212,
"block": 25466930, "block_hash": "0x8b41…e02f",
"time_utc": "2026-06-16T02:58:11Z", "asset": "ETH",
"amount_wei": "600000000000000000000"},
"destination": {"chain_id": 42161, "txid": "0x91bf…04ae", "log_index": 7,
"block": 483120877, "block_hash": "0x2d7c…91a4",
"time_utc": "2026-06-16T02:58:47Z", "asset": "ETH",
"amount_wei": "599640000000000000000"},
"link_key": {"origin_chain_id": 1, "deposit_id": "1840221"},
"grades": {"flow": "A", "basis": "shared key verified on both chains"},
"fee_explained": "0.36 ETH relayer fee quoted in deposit event",
"sources": ["own archive node (ETH)", "provider RPC (ARB), checked on explorer"],
"records_to_request": ["bridge front end: API and IP logs, depositor address"],
"examiner": "EX-07", "recorded_utc": "2026-06-16T09:40:00Z"
}
O registro identifica os dois lados com ID da cadeia, hash da transação, índice do log, altura e hash do bloco, horário UTC, ativo e valor em unidades-base inteiras; a chave que os vincula; a classificação e sua base; uma explicação da diferença de valor (600 − 599,64 = 0,36 ETH); de onde vieram os dados; e quais registros poderiam confirmar ou estender o salto. Uma diferença de valor sem explicação ou uma fonte de dados ausente é uma fragilidade que a defesa encontrará, por isso o registro obriga você a tratar de ambas no momento. Para um salto probabilístico, o mesmo registro contém a janela, a faixa, a contagem de candidatos e a taxa de correspondência ao acaso no lugar da chave de vínculo.
Trabalhando contra o relógio
Os criminosos se movimentam em horas e os procedimentos legais levam dias, por isso o plano para um caso envolvendo várias cadeias é executado em paralelo:
- Mapeie os saltos já visíveis e determine, para cada um, quem pode deter registros: operadores e interfaces de pontes, retransmissores, operadores de interface identificados em campos de afiliados de swaps, serviços de exchange instantânea, exchanges.
- Envie solicitações de preservação a todos eles de uma só vez, não uma após a outra (Aula 1.4).
- Monitore os saldos não movimentados. Um endereço inativo em uma cadeia pode ser o próximo salto de amanhã, e uma retirada que levará dias para ser concluída dá tempo para alertar o serviço recebedor (Aula 5.4).
- Separe os saltos comprovados dos inferidos em cada informe preliminar, porque os informes iniciais frequentemente são o que será divulgado posteriormente.
Foco no exame: por que os criminosos fazem saltos (romper o grafo, sair de ativos sujeitos a congelamento, alcançar liquidez, fragmentar a jurisdição, alcançar sistemas de privacidade) e por que um salto isolado não é evidência de crime; os sinais de alerta do FATF de 2020 sobre múltiplos tipos de ativos e conversões sem finalidade comercial; sequências típicas e os padrões de Ronin e Bybit; Deposit e Withdrawal do WETH, tokens encapsulados emitidos por custodiantes e identificação de tokens pelo endereço de contrato; vínculos determinísticos, registrados pelo protocolo e probabilísticos, suas classificações e a regra do vínculo mais fraco; leitura do evento de origem antes da correspondência por valor; saltos custodiais encerrando o rastro na cadeia; definição de janelas de tempo e faixas de valor a partir do mecanismo e das taxas; o exemplo resolvido de valor e tempo; tamanho do conjunto de candidatos, taxa de correspondência ao acaso, sensibilidade e corroboração; o que um registro de salto contém; solicitações de preservação em paralelo.
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