Mixers, CoinJoin e moedas de privacidade · Aula 4 de 5
Moedas de privacidade
9 min de leitura
Quando um rastro entra na Monero ou em um pool protegido da Zcash, o rastreamento convencional para, e surge a tentação de desistir ou de interpretar em excesso os poucos sinais que restam. Nenhuma das opções é aceitável em um relatório forense. Com base na aula IDFE-BA Outros designs de blockchain que analistas encontram, esta aula explica o que cada protocolo oculta, o que investigadores ainda podem observar e comprovar, o que as pesquisas publicadas sustentam e como redigir conclusões para que resistam ao escrutínio.
Monero: o que fica oculto e o que permanece
A Monero oculta as três coisas de que um rastreamento precisa. Os pagamentos vão para endereços furtivos de uso único, derivados do endereço público do destinatário (e de seus subendereços), de modo que o endereço do destinatário nunca aparece na blockchain. Cada entrada é assinada com uma assinatura em anel sobre a saída real e as saídas falsas: desde a atualização da rede de 13 de agosto de 2022, cada anel tem 16 membros, a saída real e 15 falsas. Uma imagem de chave impede o gasto duplo sem revelar qual membro foi gasto. O RingCT, habilitado em janeiro de 2017 e obrigatório a partir de setembro de 2017, oculta os valores por trás de compromissos com provas de intervalo.
As datas são importantes para evidências mais antigas, porque a proteção foi ampliada em etapas. O tamanho mínimo do anel aumentou de 3 (março de 2016) para 5 (setembro de 2017), 7 (abril de 2018), 11 (outubro de 2018) e 16 (agosto de 2022), e as transações são retransmitidas com Dandelion++ desde 2020, o que dificulta inferir o nó de origem por meio da observação da rede.
O que permanece público: a existência de uma transação, seu bloco e horário, sua taxa, o número de entradas e saídas, os membros do anel de cada entrada (o conjunto de candidatos) e o campo extra.
Provas de pertencimento ao conjunto completo da blockchain. Uma atualização planejada, FCMP++, substituiria os anéis de 16 membros por uma prova sobre o conjunto inteiro de saídas. Quando for ativada, a análise baseada em anéis não se aplicará a novas transações; continuará se aplicando ao histórico da era dos anéis. Indique a data ao fazer qualquer afirmação sobre o status da atualização.
Chaves que revelam informações. A Monero oferece várias maneiras para um titular revelar informações sem abrir mão do poder de gastar, e todas podem ser verificadas pelo examinador:
- uma chave de visualização privada revela pagamentos recebidos por um endereço (gastos efetuados também exigem imagens de chave);
- uma chave de transação ou um comprovante de pagamento comprova que uma transação específica pagou um valor específico a um endereço específico;
- uma prova de reserva comprova que uma carteira contém pelo menos um saldo declarado.
No caso de um resgate pago em Monero, peça à vítima o ID da transação, a chave de transação ou o comprovante de pagamento e o endereço de destino. Verifique o comprovante com uma carteira de código aberto usando seu próprio nó, registre a versão do software, e o pagamento se torna um fato de grau A, embora a blockchain o oculte de todos os demais. Carteiras apreendidas são outra questão: carteiras antigas da Monero usam frases-semente de 25 palavras, e não BIP-39 (consulte a aula Recuperação de carteira sob autoridade legal).
Zcash: pools, limites e a catraca
A Zcash tem um pool transparente (endereços t1…, t3…), que funciona como o Bitcoin, e pools protegidos: Sprout (legado, zc…), Sapling (desde outubro de 2018, zs…) e Orchard (desde a atualização NU5, de 31 de maio de 2022, usado por meio de endereços unificados que começam com u1). Dentro de um pool protegido, o remetente, o destinatário, o valor e o memorando ficam ocultos; a taxa está sempre visível.
Os limites revelam informações. O envio para um pool protegido revela o remetente transparente e o valor; o envio para fora de um pool protegido revela o valor e o destinatário transparente. Como o valor que atravessa cada limite é visível, qualquer pessoa pode calcular o valor total contido em cada pool protegido, por meio de um mecanismo chamado catraca. Uma regra de consenso (ZIP 209) torna inválido qualquer bloco que levaria o saldo de um pool a ficar negativo, de modo que a falsificação dentro de um pool seria detectada na catraca. Registre os saldos dos pools no momento dos eventos: eles indicam a dimensão do conjunto de anonimato. Os titulares podem revelar voluntariamente atividades protegidas usando chaves de visualização.
O que cada design revela, lado a lado:
| Observação | Monero | Zcash protegida | Zcash transparente |
|---|---|---|---|
| Remetente | Um dos 16 membros do anel | Oculto | Visível |
| Destinatário | Oculto (endereço furtivo) | Oculto | Visível |
| Valor | Oculto (RingCT) | Oculto; visível no limite do pool | Visível |
| Horário e taxa | Visíveis | Visíveis | Visíveis |
| Divulgação voluntária | Chave de visualização, comprovante de pagamento | Chave de visualização | Não necessária |
| Entradas e saídas em serviços | Registros do serviço | Registros do serviço | Registros do serviço |
O que os investigadores ainda podem observar
| Observação | Origem | Uso probatório |
|---|---|---|
| Entradas e saídas em exchanges e serviços de swap | Registros do serviço obtidos por meio de processo legal | Principal recurso: identidade, endereços de depósito e saque, horários, dados de IP |
| Horários e valores entre ativos | Um depósito de Bitcoin ou token em um serviço de swap e um pagamento em Monero, ou o inverso | Conjuntos de candidatos de grau D até que os registros do serviço confirmem (consulte as aulas Saltos entre blockchains como padrão de ofuscação e lavagem e Swaps, DEXs e exchanges instantâneas) |
| Fluxos transparentes da Zcash | Blockchain pública | Rastreamento como o do Bitcoin, grau A para fluxos |
| Valores nos limites da Zcash | Transações de envio para pools protegidos e de envio para fora deles | Correspondências de ida e volta com valores semelhantes; apenas inferência |
| Participação em anéis da Monero | Blockchain pública | Uma saída conhecida (por exemplo, uma que uma exchange colaboradora pagou ao investigado) aparecer em um anel de uma transação depositada posteriormente é uma candidata entre 16, não uma prova de gasto |
| Comprovantes de pagamento, chaves de visualização | Vítimas, serviços colaboradores, carteiras apreendidas | Divulgação verificável de pagamentos específicos |
| Dados da carteira | Dispositivos apreendidos legalmente | Histórico completo das transações da própria carteira |
| Uso de nó remoto | Uma carteira que se conectou a um nó de terceiros expôs seu endereço de rede a esse operador | Possível detentor de registros; espere encontrar poucos |
A linha sobre participação em anéis exige cuidado. Se o mesmo serviço vê uma saída que pagou a um cliente aparecer em um anel de uma transação posteriormente depositada de volta no serviço, essa coincidência pode ser considerada, mas a seleção de saídas falsas inclui deliberadamente saídas recentes; portanto, é esperado que uma saída conhecida apareça em um anel por acaso. Não existe uma taxa de erro publicada e validada para essas associações. Relate-as como inferências, indicando o tamanho do anel e o número de anéis em que a saída apareceu.
Pesquisas publicadas e seus limites
| Estudo | Constatação | Período e limites |
|---|---|---|
| Möser et al. (2018), Monero | Cerca de 62% das entradas com pelo menos uma saída falsa podiam ser rastreadas por eliminação ("reação em cadeia"), e a suposição de que o membro mais recente do anel era o correto estava certa em cerca de 80% das vezes | Dados até abril de 2017; os autores concluíram que transações da era do RingCT eram, em geral, imunes à eliminação; depois vieram tamanhos de anel obrigatórios e uma nova seleção de saídas falsas |
| Quesnelle (2017), Zcash | A correspondência de ida e volta associou 31,5% das moedas enviadas a endereços protegidos | O autor qualifica as correspondências como circunstanciais, com a possibilidade de pares coincidentes |
| Kappos et al. (2018), Zcash | O comportamento de fundadores e mineradores explicou 69% da atividade dos pools protegidos; a correspondência por valores únicos associou mais de 1 milhão de ZEC, 28,5% das moedas depositadas no pool | Dados até janeiro de 2018, quando a maior parte da atividade era transparente |
| Biryukov et al. (2019), Zcash | Ataques ativos e canais ocultos que poderiam identificar transações protegidas | Mecanismos, não taxas de associação em campo |
Em março de 2024, pesquisadores da Monero também investigaram um episódio suspeito de inundação com bolinhas pretas: um grande volume de transações cujas saídas, se criadas por uma única parte, essa parte saberia que eram saídas falsas, enfraquecendo os anéis durante o episódio. Isso mostra que o tamanho efetivo de um anel pode ser inferior a 16 em determinados períodos, algo importante ao avaliar uma transação da era dos anéis.
Leia essas pesquisas como examinador. Cada número descreve um período histórico e uma taxa agregada. Nenhum deles informa que uma entrada específica do seu caso podia ser rastreada. Os resultados de eliminação da Monero anteriores a 2017 não se aplicam a uma transação de 2025. Alegações de provedores comerciais de que conseguem rastrear a Monero ou a Zcash protegida não foram publicadas com métodos e taxas de erro validadas; portanto, não podem servir de base para uma conclusão. No máximo, sugerem onde procurar registros.
Exclusões de exchanges e mudança dos pontos de saída
De 2023 a 2024, várias exchanges de grande porte excluíram a Monero ou restringiram seu uso em algumas regiões, citando expectativas regulatórias. As regras variam entre jurisdições, e algumas estão avançando no sentido de impedir totalmente que provedores regulados lidem com moedas de privacidade. O efeito investigativo é que há menos pontos de saída regulados que mantêm registros, e os fluxos migram para serviços de exchange instantânea não custodiais, negociações peer-to-peer e swaps atômicos. Identifique cedo o serviço em cada extremidade, preserve seus dados públicos e pergunte quais registros ele mantém (consulte a aula Trabalho com provedores de serviços).
Uma redação que resiste ao escrutínio: "A conta do investigado na exchange sacou 41,2 XMR às 14:05 UTC (registros da exchange). O pagamento do resgate de 41,0 XMR ao endereço do atacante é comprovado pelo comprovante de pagamento da vítima, verificado usando nosso nó. Entre esses eventos, a blockchain não mostra nenhuma ligação que possamos afirmar." Uma redação que não resiste: "A análise da blockchain rastreou a Monero até o investigado."
Foco no exame: endereços furtivos da Monero, subendereços, tamanho de anel 16 desde agosto de 2022, imagens de chave e RingCT, além do histórico dos tamanhos de anel para datar evidências; por que a análise baseada em anéis não se aplicaria a transações realizadas após uma atualização de prova de pertencimento ao conjunto completo, mas ainda se aplicaria ao histórico da era dos anéis; chaves de visualização, comprovantes de pagamento e provas de reserva como divulgações verificáveis; pools transparentes, Sprout, Sapling e Orchard da Zcash, vazamentos nos limites, a catraca e a ZIP 209; o que ainda pode ser observado (extremidades de serviços, fluxos transparentes, valores nos limites, participação em anéis como candidata); constatações de Möser et al., Quesnelle e Kappos et al. e por que não se aplicam a transações atuais; exclusões de exchanges e a mudança para pontos de saída não custodiais.