Cross-chain, DeFi e contratos inteligentes · Aula 6 de 6
Estudo de caso: um rastro de lavagem em múltiplas blockchains
9 min de leitura
As aulas sobre swaps, saltos entre blockchains e pontes apresentadas anteriormente neste módulo abordaram, cada uma, um tipo de salto. Um rastro real os encadeia em poucas horas, e o perito precisa correlacionar cada salto, classificar cada vínculo, decidir de quem solicitar registros enquanto os fundos ainda estão em movimento e, meses depois, apresentar todo o caminho de modo que um tribunal consiga acompanhá-lo. Este caso fictício atravessa Ethereum, Arbitrum, Bitcoin e Tron. Todos os nomes, endereços, hashes e valores são inventados, e os números são conciliados.
O caso e a pergunta
Às 06:30 UTC de 16 de junho de 2026, a Pellwood Interactive, um estúdio de jogos fictício, informa que sua carteira quente de tesouraria 0xC4e1…7aB0 na Ethereum foi esvaziada. Sua equipe de segurança fornece dois hashes de transação e seus logs de gerenciamento de chaves, que mostram que nenhuma das transferências foi aprovada internamente. Os investigadores abrem um caso às 07:15 e designam um perito.
O escopo, registrado nos autos do caso antes da análise (veja a aula O ciclo de vida da investigação: da pergunta à hipótese): pontos de partida T1 e T2; blockchains Ethereum, Arbitrum One, Bitcoin e Tron, com ampliação caso o rastro saia delas; período de 16 a 18 de junho de 2026; interromper o rastreamento nos serviços de custódia. As perguntas: para onde foi o valor roubado, quais serviços o receberam, quais saldos ainda não foram movimentados e qual é a força de cada vínculo? Para a avaliação, o caso usa preços de referência fixos registrados com sua fonte: ETH 2.500 USD, BTC 62.500 USD, USDT e USDC 1 USD.
Etapa 1: Ethereum, roubo e swap
| Ref. | Horário (UTC) | Evento | Valor |
|---|---|---|---|
| T1 | 02:14 | Tesouraria para 0x3f9c…a1d7 (A1) | 2.400.000 USDC |
| T2 | 02:14 | Tesouraria para A1 | 300 ETH |
| T3 | 02:31 | A1 realiza um swap por meio de um agregador de DEX, com saída para A1 | 2.400.000 USDC por 957,12 ETH |
T1 e T2 são transferências determinísticas (grau A para o fluxo). A afirmação de que não foram autorizadas é distinta e se apoia nos logs da Pellwood. T3 é um swap na mesma transação: o perito apura o resultado líquido da rota do agregador e confirma que a saída foi para o próprio A1, não para um terceiro endereço indicado como destinatário. A1 agora detém 1.257,12 ETH. Posteriormente, envia 600 ETH (Etapa 2) e 650 ETH (Etapa 3) e gasta 0,14 ETH em gás, deixando 6,98 ETH sem movimentação.
O motivo de T3 é claro: o USDC pode ser congelado por seu emissor, e ele foi convertido 17 minutos após o roubo, antes que a Pellwood percebesse.
Etapa 2: A ponte para a Arbitrum
Às 02:58:11, A1 deposita 600 ETH em uma ponte com retransmissor. O evento de depósito contém a blockchain de origem 1, o ID de depósito 1840221, a blockchain de destino 42161 e o destinatário 0x7b20…e5c3 (A2). Às 02:58:47, a execução de um retransmissor na Arbitrum repete a blockchain 1 e o ID 1840221 e paga 599,64 ETH a A2. O perito realiza as sete verificações da aula Pontes, camadas 2, sidechains e outras arquiteturas de blockchain: destinatário idêntico, diferença de 0,36 ETH igual à taxa informada no evento de depósito, execução após o depósito, bloco de origem finalizado, ambos os lados consultados novamente em uma segunda fonte. Grau A. O endereço do retransmissor é registrado como um serviço, não como um investigado.
Etapa 3: O protocolo de swap para Bitcoin
Entre 03:10 e 03:42, A1 envia cinco depósitos de 130 ETH cada ao roteador de um protocolo de swap entre blockchains. Três memos indicam bc1q…r7w2 e dois indicam bc1q…m4ke; todos contêm o código de afiliado xx. Entre 03:35 e 04:40, os cofres do protocolo pagam cinco saídas de Bitcoin de 5,16800000 BTC, cada uma com um memo OUT: contendo o hash Ethereum correspondente.
130 ETH aos preços de referência equivalem a 5,2 BTC; a diferença de 0,032 BTC por swap (0,62%) corresponde às taxas e à derrapagem de preço do protocolo, em conformidade com seu modelo de taxas publicado. Cada par é verificado nas duas blockchains a partir dos próprios nós do perito e novamente nos registros públicos do protocolo: grau A. Total: 15,504 BTC para bc1q…r7w2 e 10,336 BTC para bc1q…m4ke, 25,84 BTC ao todo. O código de afiliado identifica a interface que montou os swaps, o que dá origem a uma solicitação de registros.
Etapa 4: Da Arbitrum para a Tron por meio de uma exchange instantânea
A2 envia 200, 200 e 199 ETH às 03:20, 03:26 e 03:41 para três endereços novos que concentram os fundos em um agrupamento de carteiras quentes rotulado como Serviço S, um serviço de exchange instantânea. Esse rótulo é uma heurística (grau C). São gastos 0,0018 ETH em gás e 0,6382 ETH permanecem em A2.
Nenhum identificador vincula os depósitos aos pagamentos, então o perito registra a regra de busca antes de executá-la: pagamentos em USDT na Tron a partir da carteira quente do Serviço S, até 60 minutos após cada depósito, com diferença de até 2% em relação ao valor do depósito ao preço de referência (taxa esperada de cerca de 1%). Resultados: dois candidatos para o primeiro depósito, um para o segundo, três para o terceiro. O melhor candidato de cada um paga ao mesmo endereço Tron, TXk…9pQ: 494.820 USDT às 03:29, 494.760 USDT às 03:38 e 492.300 USDT às 03:55, totalizando 1.481.880 USDT, cada um entre 1,0% e 1,1% abaixo do valor do depósito.
O teste de correspondência por acaso aplica a mesma regra a 200 depósitos do Serviço S de tamanho semelhante em horários aleatórios: 41% encontram pelo menos um candidato, portanto uma única correspondência significaria pouco. Mas em nenhum teste três depósitos de um mesmo endereço convergem para um único endereço de pagamento. A convergência é uma inferência forte, ainda de grau D, e suficiente para justificar uma solicitação. Em 25 de junho, os registros do Serviço S chegam e confirmam as três ordens e o endereço de pagamento. O registro de vínculos documenta a mudança:
{
"link_id": "L6",
"from": "Depósitos do Serviço S 0x51ae…, 0x9c07…, 0xe2f4… (Arbitrum)",
"to": "TXk…9pQ (Tron), pagamentos 494,820 + 494,760 + 492,300 USDT",
"grade_history": [
{"grade": "D", "date": "2026-06-16", "basis": "regra de valor-tempo R-3; 6 candidatos; convergência em 0 de 200 testes"},
{"grade": "B", "date": "2026-06-25", "basis": "registros de ordens do Serviço S, peça de evidência SS-01, SHA-256 7c41…e9b2"}
],
"examiner": "EX-07"
}
O grau anterior é mantido, não sobrescrito, para que o laudo possa mostrar o que se sabia quando cada solicitação foi feita.
Etapa 5: Os pontos finais
Tron. Às 05:05 e 05:40, TXk…9pQ envia 900.000 e 581.000 USDT para TQm…4Lx, um endereço de depósito rotulado como Exchange R; 880 USDT permanecem no endereço de origem. O endereço foi ativado com 30 TRX de um serviço de aluguel de energia, que também pagou suas taxas, portanto nenhum valor roubado foi gasto em taxas.
Bitcoin. Das 18:20 de 16 de junho até 18 de junho, bc1q…r7w2 executa uma cadeia de descascamento de quatro etapas: cada etapa paga 3,0 BTC a um de dois endereços rotulados como Exchange M (bc1q…h8s3, bc1q…w5n0), com uma taxa de 0,0002 BTC. 15,504 − 12,0 − 0,0008 deixa 3,5032 BTC em bc1q…z2pf. Cada aresta tem grau A para o fluxo; a afirmação de que bc1q…z2pf continua pertencendo ao autor do roubo se apoia na detecção de troco (grau C; veja a aula Heurísticas de detecção de troco). bc1q…m4ke não apresenta movimentação.
| Onde está o valor (18 de junho) | Quantidade nativa | USD aos preços de referência | Fundamento |
|---|---|---|---|
| Depósito na Exchange R | 1.481.000 USDT | 1.481.000 | Fluxo A; rótulo de R C, depois B |
| Depósitos na Exchange M | 12,0 BTC | 750.000 | Fluxo A; rótulo de M C, depois B |
Sem movimentação, bc1q…m4ke e bc1q…z2pf | 13,8392 BTC | 864.950 | A; controle de z2pf C |
| Sem movimentação, A1 e A2 | 7,6182 ETH | 19.045,50 | A |
Sem movimentação, TXk…9pQ | 880 USDT | 880 | A |
| Taxas, derrapagem de preço e gás | 34.124,50 | Conciliados por salto | |
| Total roubado | 2.400.000 USDC + 300 ETH | 3.150.000 |
As solicitações de registros
As solicitações foram enviadas em paralelo em 16 de junho, com prioridade para a preservação (veja a aula Trabalho com prestadores de serviços): Exchange R (titular da conta, dados de identidade, IPs e dispositivos de acesso, histórico, bloqueio do saldo); Serviço S (as três ordens e todas as ordens que compartilhassem seus dados de pagamento, reembolso ou IP); o emissor do USDT (congelamento de TXk…9pQ; veja a aula Opções de congelamento e apreensão); o operador da interface da ponte (logs de API e IP do depósito); e a interface por trás do código de afiliado xx (logs dos cinco swaps). Os endereços Bitcoin sem movimentação foram divulgados às equipes de conformidade das exchanges, e a Exchange M foi incluída assim que a cadeia de descascamento chegou até ela.
Apresentação do rastro
O laudo (veja as aulas Redação do laudo pericial: confiança e linguagem e Visualização de fluxos e evidências visuais para tribunais) contém um fluxograma, uma linha do tempo em UTC, a tabela acima e um apêndice que lista cada transação com blockchain, bloco, hash e valor. Linhas contínuas mostram vínculos determinísticos; o vínculo do Serviço S é desenhado com linha tracejada, identificado com seu histórico de graus. As conclusões mantêm separados o fluxo, a alocação e o controle: o valor chegou às contas da Exchange R e da Exchange M; os titulares das contas são identificados nos registros, mas determinar se eles são os autores do roubo é uma questão para a investigação, não para o rastreamento. As limitações indicam a única heurística por trás de bc1q…z2pf e a dependência dos registros do Serviço S.
Foco no exame: definir o escopo de um caso em múltiplas blockchains antes da análise; apurar o resultado líquido de um swap e verificar seu destinatário; as sete verificações de pontes e o tratamento de retransmissores como serviços; verificar memos entre blockchains em ambas as blockchains e usar códigos de afiliado como pistas; registrar uma regra de valor-tempo antes de executá-la, o teste de correspondência por acaso e o valor da convergência; manter o histórico de graus quando registros elevam o grau de um vínculo; conciliar cada salto para que os totais fechem; solicitações de preservação em paralelo; apresentar vínculos contínuos e tracejados e separar fluxo de controle.
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