Em que você confia ao participar de CoinJoin?
Nível de leitura: guia avançado. Primeiro, leia a explicação simples sobre CoinJoin.
Com o Ginger, você mantém a autoridade para assinar transações Bitcoin em vez de depositar fundos em um saldo controlado por um serviço de mistura. Isso responde a uma pergunta importante sobre custódia. Privacidade, disponibilidade e integridade do software envolvem perguntas adicionais.
Antes de participar, identifique seu objetivo: talvez você queira que um destinatário saiba menos sobre seus outros pagamentos ou reduzir os vínculos entre gastos futuros e um recebimento conhecido publicamente. O CoinJoin pode ajudar na privacidade dos vínculos entre transações, mas não pode remover informações que o destinatário já obteve de você.
Quatro perguntas distintas
Seção intitulada “Quatro perguntas distintas”| Pergunta | Proteção e premissa | O que isso não comprova |
|---|---|---|
| Quem pode gastar? | Sua carteira assina suas entradas depois de conferir a transação proposta. O coordenador não precisa de suas palavras de recuperação. | Proteção contra chaves roubadas, malware ou uma transação que você autoriza conscientemente para o destino errado |
| Quem pode vincular as entradas e saídas? | O WabiSabi usa credenciais anônimas para ocultar as relações entre os registros. Os dados públicos das transações e outras observações continuam existindo. | Uma garantia incondicional contra um coordenador malicioso, participantes em conluio ou informações externas |
| Quem pode interromper o progresso? | A participação bem-sucedida exige que o coordenador, a rede e participantes cooperantes em número suficiente concluam a rodada. | Um prazo reservado para a conclusão ou o direito de participar de toda rodada oferecida |
| Qual software estou executando? | O código aberto permite a inspeção; verificar o download ajuda a estabelecer a origem e a integridade do arquivo obtido. | Prova de que toda compilação é livre de bugs, de que seu computador não está comprometido ou de que um serviço remoto executa exatamente o código publicado |
O artigo sobre WabiSabi, seção 7 trata separadamente a privacidade, os ataques ativos e a prevenção de roubo. Este guia aplica essa distinção às decisões do usuário; ele não é uma auditoria de segurança de uma carteira ou coordenador instalados.
Na v2.0.27, o Ginger verifica a contagem de entradas e a taxa de mineração por byte virtual efetiva da transação proposta antes de concluir a assinatura. Ele também verifica a presença das suas entradas registradas e saídas esperadas e rejeita entradas registradas pela carteira que estejam duplicadas. Quando as verificações de assinatura falham, ele retém uma assinatura de uma entrada efetivamente presente na transação ou não envia assinaturas se nenhuma das suas entradas permanecer. As verificações das rodadas de responsabilização restringem a nova tentativa às entradas e ao valor máximo sugerido da transação anterior, e o Ginger só reutiliza suas moedas para as quais foram enviadas assinaturas. São verificações contra propostas específicas inválidas ou inconsistentes, não uma garantia de honestidade do coordenador ou independência dos participantes. A referência sobre rodadas explica o que uma recusa ou nova tentativa pode significar na prática.
Considere o observador
Seção intitulada “Considere o observador”Um observador passivo da blockchain vê as entradas, saídas, valores e gastos posteriores das transações. Ele pode aplicar heurísticas e combinar esses dados com informações obtidas em outros lugares. Um comerciante tem conhecimentos adicionais sobre sua própria cobrança e cliente. Uma corretora conhece o saque ou depósito que processou.
Um participante também conhece suas próprias entradas e saídas, o que elimina algumas possibilidades. Um coordenador lida com os registros e pode observar os horários do protocolo; um coordenador ativamente malicioso pode influenciar quem participa ou se as rodadas são concluídas. São capacidades diferentes, portanto uma afirmação que aborda apenas a observação da blockchain pública não deve ser interpretada como proteção contra todos esses agentes.
Participantes aparentes não são pessoas independentes
Seção intitulada “Participantes aparentes não são pessoas independentes”Um ataque Sybil significa que um único agente aparece como vários participantes. Se um atacante controla a maior parte da atividade ao redor de um alvo, ele pode excluir suas próprias moedas das possibilidades que considera. Uma transação pode parecer movimentada e ainda assim oferecer menos incerteza para esse observador do que para um observador sem essas informações.
Entradas reais e taxas de mineração criam restrições econômicas. Elas não permitem que um usuário comum verifique a identidade independente de cada participante. Assim, o número de entradas, o número de saídas, o volume de transações e a pontuação de anonimato de uma carteira não são uma contagem de pessoas independentes.
Rodadas maiores podem oferecer mais possibilidades, mas os valores, o conhecimento dos participantes e as transações posteriores continuam sendo importantes. Não há um número de rodadas nem um valor de meta que prove que um atacante não aprendeu nada.
Quando o coordenador ou a conexão estão indisponíveis
Seção intitulada “Quando o coordenador ou a conexão estão indisponíveis”As moedas já controladas por suas chaves não se tornam um saldo que o coordenador deve a você. Uma tentativa malsucedida antes da transmissão não as transfere, por si só, para o coordenador. Durante uma rodada ativa, porém, o Ginger pode precisar concluir tarefas críticas antes que as moedas fiquem disponíveis para outra ação; use o controle de pausa do painel de controle do CoinJoin e acompanhe o estado atual.
Se o CoinJoin não puder continuar, pause e examine o motivo. Um envio comum ainda exige um caminho de assinatura disponível, moedas que possam ser gastas, informações sincronizadas e uma forma de transmitir a transação. A indisponibilidade de um coordenador, sozinha, não é motivo para descartar backups ou enviar palavras de recuperação a um serviço substituto. O 2FA opcional do Ginger tem sua própria dependência de serviço para a inicialização normal, portanto mantenha as palavras e a frase-senha original recuperáveis de forma independente.
Uma recusa ou uma rodada malsucedida não é, por si só, evidência de um ataque nem de um julgamento sobre sua identidade. Da mesma forma, uma rodada bem-sucedida não certifica a honestidade do coordenador. Preserve os registros privados relevantes se um problema concreto exigir investigação.
Decisões que você pode tomar
Seção intitulada “Decisões que você pode tomar”- Obtenha o Ginger por sua distribuição oficial e verifique o download. Use atualizações autenticadas e proteja a máquina que assina.
- Mantenha o Tor ativado para a privacidade de rede pretendida da carteira. Ele não oculta do serviço receptor as informações que você envia explicitamente.
- Confira a carteira selecionada, o destino das saídas, as moedas elegíveis e as preferências de custo. Não aumente limites apenas para silenciar um erro sem explicação.
- Guarde o material de recuperação de forma independente. Nunca entregue suas palavras, frase-senha ou chaves privadas a um coordenador ou contato de suporte para “desbloquear” uma rodada.
- Confira o resultado e os gastos posteriores. Um endereço novo e uma pontuação alta não desfazem uma nova divulgação a um destinatário identificado.
Um nó Bitcoin próprio é útil para as funções que realmente desempenha, como fornecer blocos ou estimativas de taxas quando configurado. Ele não substitui o coordenador de CoinJoin nem comprova que os participantes são independentes. Uma carteira de hardware isola as chaves, mas não torna privado o grafo de transações.
Para o modelo básico da transação, leia CoinJoin explicado. Para decidir se ele atende a uma finalidade específica, leia quando o CoinJoin é útil. Trate afirmações fortes sobre produtos como perguntas a investigar: qual observador, quais premissas, qual versão do software e quais evidências?