Mixers, CoinJoin e moedas de privacidade · Aula 2 de 5
CoinJoin
9 min de leitura
As transações CoinJoin são onde o rastreamento mais frequentemente vira discussão. A acusação quer saber se os fundos "passaram por" um mix e chegaram a um exchange; especialistas da defesa sabem que os métodos de desmistura publicados não têm uma taxa de erro validada para designs modernos. Esta aula se baseia nas estruturas descritas na aula IDFE-BA Mixers, CoinJoin e ofuscação em grafos e ensina você a separar o que a cadeia comprova, o que uma heurística sugere e o que somente uma carteira ou um registro pode demonstrar.
Duas alegações diferentes: detecção e desmistura
Duas perguntas são facilmente confundidas, e apresentam perfis de erro muito diferentes.
Detecção pergunta: esta transação é uma CoinJoin e, em caso afirmativo, de qual design? Ela se baseia na estrutura (grupos de saídas iguais, quantidades de entradas e saídas, denominações dos pools, padrões de taxas) e pode ser validada em relação a dados de referência. Stütz e colegas (2022) treinaram um classificador com 28.890 transações fornecidas por um coordenador da Wasabi e relataram 99,98% de precisão, com taxa de falsos positivos de 0,0114%; uma regra de limiar mais simples atingiu 99,31% de precisão, sem falsos positivos e com taxa de falsos negativos de 1,38%. Para a Whirlpool, eles percorreram os mixes desde suas primeiras transações e fizeram uma verificação cruzada com um conjunto de dados independente. Entre julho de 2018 e fevereiro de 2022, identificaram 30.251 transações da Wasabi e 223.597 da Whirlpool.
Desmistura pergunta: qual saída corresponde a qual entrada? Trata-se de uma alegação sobre controle por pessoas, e nenhum estudo publicado oferece uma taxa de erro validada em campo para vincular uma saída moderna de CoinJoin a uma entrada específica. As conclusões sobre detecção podem ser apresentadas como fatos, acompanhadas de uma taxa de erro citada. As conclusões sobre desmistura são vínculos ou inferências heurísticas e devem ser classificadas de acordo (consulte a aula Rastreamento segundo um padrão probatório).
Quem conhece o mapeamento
O design determina quem, se alguém, detém o mapeamento entre entradas e saídas. Isso determina de onde podem vir as evidências. As datas importam: o coordenador da Samourai ficou offline após a prisão de seus fundadores, em abril de 2024, e a empresa que operava o coordenador padrão da Wasabi encerrou suas atividades em 1º de junho de 2024, enquanto outros coordenadores continuaram.
| Design (contexto) | Estrutura | Quem conhece o mapeamento |
|---|---|---|
| Whirlpool | Pools fixos, cinco entradas e cinco saídas iguais; uma tx0 preparatória cria moedas do tamanho do pool e retém o troco restante | Cada usuário conhece apenas suas próprias moedas; o coordenador foi projetado para não vincular entradas a saídas |
| Wasabi 1.x | Rodadas grandes com um grupo principal de saídas iguais e saídas de troco para os participantes | Cada usuário conhece suas próprias moedas; o coordenador foi projetado para não fazer o vínculo (assinaturas cegas) |
| Wasabi 2.x (WabiSabi) | Valores de entrada arbitrários, saídas em denominações padrão, rodadas muito grandes | Cada usuário conhece suas próprias moedas; o coordenador foi projetado para não fazer o vínculo (credenciais anônimas) |
| JoinMarket | Um taker paga aos makers para participarem; um grupo de valores iguais mais troco para a maioria dos participantes | O taker conhece todo o mapeamento; cada maker conhece suas próprias moedas |
A conclusão prática: a evidência de desmistura mais confiável não é uma heurística, mas uma carteira. A carteira de um participante registra quais saídas são suas, muitas vezes com rótulos e históricos completos das moedas. Com autorização legal, arquivos da carteira, cópias de segurança e dados sincronizados em um dispositivo apreendido podem esclarecer cada CoinJoin da qual o indivíduo participou (consulte as aulas Carteiras em dispositivos apreendidos e Recuperação de carteiras com autorização legal). A carteira de um taker da JoinMarket esclarece a transação inteira. Um coordenador apreendido, por outro lado, pode conter registros de rodadas, horários de registro e dados de rede, mas, por design, não deveria conter o mapeamento; verifique o que ele realmente contém antes de fazer qualquer promessa.
Comportamento após o mix e troco tóxico
Os usuários e seus softwares deixam vínculos rastreáveis após o mix. Estes são os padrões em que se apoiam pesquisas publicadas e investigações de casos:
- Troco tóxico: o restante não misturado (na Whirlpool, o troco da tx0; em outros designs, saídas de troco dentro da CoinJoin). Ele está vinculado deterministicamente às moedas do usuário anteriores ao mix. Se depois for gasto junto com saídas posteriores ao mix, a heurística de entrada comum vincula essas saídas à mesma carteira.
- Consolidação: várias saídas posteriores ao mix são gastas juntas, voltando a vinculá-las a um único controlador e muitas vezes recriando o valor original.
- Padrões de financiamento anterior ao mix: Stütz e colegas descrevem um padrão de "estrela", em que uma entidade financia várias entradas de CoinJoin, e um padrão de "coletor", em que várias saídas posteriores ao mix fluem para uma única carteira.
- Cálculo aritmético dos valores: saídas posteriores ao mix que, somadas após as taxas, correspondem ao valor anterior ao mix e chegam juntas a um serviço.
- Mapeamento por valores arbitrários: quando os valores não são iguais, o mapeamento entre entradas e saídas se torna um problema de soma de subconjuntos. Atlas (2014) usou esse tipo de correspondência de valores para vincular entradas a saídas no recurso inicial de CoinJoin de um provedor de carteiras.
Gavenda e colegas (ESORICS 2025) mediram quanto a consolidação reduz o conjunto de anonimato: uma diminuição média posterior ao mix de 10–50% na Whirlpool, Wasabi 1.x e Wasabi 2.x, sendo que na Wasabi 2.x a redução ficou abaixo de 20%, pois seus usuários fazem muitos remixes. Eles também estimaram que, mesmo em uma rodada real da Wasabi 2.x de tamanho mediano, enumerar todos os mapeamentos possíveis é computacionalmente inviável; assim, os usuários mantêm uma privacidade substancial, a menos que um analista tenha informações externas.
Pesquisas publicadas e suas taxas de erro
| Estudo | O que mediu | Dados de referência | O que um relatório pode extrair do estudo |
|---|---|---|---|
| Stütz et al. (2022) | Detecção de transações Wasabi e Whirlpool; volumes; padrões posteriores ao mix | Transações fornecidas por coordenadores; mixes de teste | Taxas de erro de detecção para aquele design e período |
| Gavenda et al. (2025) | Perda do conjunto de anonimato por consolidação; enumeração de mapeamentos | Rodadas emuladas e dados agregados da cadeia | Que os vazamentos são comuns, em escala agregada; não uma taxa de erro por saída |
| Atlas (2014) | Correspondência de valores em um serviço inicial de CoinJoin | Análise das transações daquele serviço | Uma fragilidade de um design histórico; não é transferível a designs com saídas iguais |
Daí decorrem três regras. Cite o design e o período aos quais um número se aplica. Nunca converta uma redução agregada do conjunto de anonimato em uma probabilidade de que uma saída específica pertença ao indivíduo investigado. E declare que as heurísticas de desmistura não têm taxas de erro validadas em campo, antes que a defesa levante essa questão (consulte a aula Divulgação e análise pela defesa).
Um caso trabalhado
Um resgate de 0,20000000 BTC chega ao endereço do indivíduo investigado (grau A). Uma tx0, 7c2e…91ab, divide o valor em três moedas anteriores ao mix de cerca de 0,0503 BTC, uma saída de taxa de serviço e 0,0471 BTC de troco. Cada moeda anterior ao mix entra em um mix cinco por cinco diferente e passa por remix várias vezes. Nove dias depois, aparece esta transação:
txid e5d0…3a77 3 entradas, 1 saída
ent 0.05000000 bc1q…h4tn (saída posterior ao mix de 2b91…0c4d)
ent 0.05000000 bc1q…p9we (saída posterior ao mix de 61fa…d802)
ent 0.04710000 bc1q…z6qc (saída de troco da tx0 7c2e…91ab)
sai 0.14690000 bc1q…dx7e (endereço de depósito, Exchange K conforme o rótulo)
txa 0.00020000
O examinador raciocina passo a passo:
- Aritmética. 0,05 + 0,05 + 0,0471 = 0,1471 BTC de entrada; 0,1469 de saída mais 0,0002 de taxa. Os valores fecham.
- O que é determinístico. O troco da tx0 veio do resgate (grau A). As duas saídas posteriores ao mix vieram de seus respectivos mixes (grau A como fluxos). Nada liga deterministicamente as moedas anteriores ao mix do indivíduo investigado a essas saídas específicas.
- A heurística. O gasto conjunto do troco tóxico com duas saídas posteriores ao mix indica um único controlador para as três entradas. Exceções como PayJoin ou um gasto colaborativo são improváveis em uma consolidação de uma única saída, mas a alegação continua sendo uma única heurística: grau C.
- O que a heurística não demonstra. Ela não demonstra que essas saídas carregam o valor do resgate. A carteira pode ter misturado outras moedas. A alegação diz respeito a controle, não a fluxo.
- A terceira moeda anterior ao mix. Nenhum vazamento foi encontrado. Ela é relatada como não rastreada, e não como "provavelmente na mesma carteira".
- Próxima etapa. Solicite os registros do Exchange K para
bc1q…dx7e. Se o titular da conta for o indivíduo investigado, a alegação de controle ganha corroboração independente e sobe para grau B. Se um dispositivo for apreendido, os dados da carteira podem esclarecer a questão.
O que pode e o que não pode ser alegado
| Declaração | Base | Situação |
|---|---|---|
"A transação 2b91…0c4d é uma CoinJoin no estilo Whirlpool, cinco por cinco." | Estrutura; taxas de erro de detecção publicadas | Sustentada; cite a taxa |
| "A moeda do indivíduo investigado anterior ao mix foi uma entrada dessa transação." | Gasto determinístico | Sustentada, grau A |
"A saída bc1q…h4tn era controlada pela carteira que detinha o troco da tx0." | Troco tóxico gasto junto com saídas posteriores ao mix | Sustentada como grau C; grau B se houver corroboração por registros |
| "A saída 3 do mix pertence ao indivíduo investigado porque ele participou do mix." | Uma entre cinco candidatas | Sem sustentação; informe o conjunto de candidatas |
| "Os fundos do resgate do indivíduo investigado estão agora no Exchange K." | Vínculo de controle mais uma suposição sobre o valor | Exagerada; diga que a carteira vinculada ao resgate depositou 0,1469 BTC lá |
| "Todas as saídas do mix estão contaminadas." | Regra de envenenamento | Sem sustentação |
Foco no exame: a diferença entre detecção de CoinJoin (validada, com baixas taxas de erro publicadas) e desmistura (sem taxa de erro validada em campo); quem conhece o mapeamento na Whirlpool, Wasabi 1.x, WabiSabi e JoinMarket, e por que os dados da carteira em um dispositivo apreendido são a evidência de desmistura mais forte; troco tóxico, consolidação, padrões de estrela e coletor, cálculo aritmético dos valores e mapeamento por soma de subconjuntos; conclusões de Stütz et al. (2022) e Gavenda et al. (2025), e seus limites; que um vínculo por gasto conjunto é uma alegação de controle, não de fluxo; classificação e redação de conclusões sobre CoinJoin, e relato honesto de valores não rastreados.