Conheça o CoinJoin, um protocolo de mistura de moedas descentralizado e seguro para Bitcoin e criptomoedas compatíveis, que permite melhorar os níveis de privacidade e anonimato dos usuários, protegendo as suas identidades das ferramentas de análise blockchain e BigData.
Eo protocolo CoinJoin, é um protocolo implementado para melhorar a privacidade e o anonimato dos usuários de Bitcoin. Este método consiste em poder unificar em um mesmo conjunto todas as transações que vão ser realizadas por diferentes usuários do sistema. Assim, uma vez que todas essas transações são unificadas, nenhum usuário pode determinar de onde vêm os fundos; já que não será possível ver ou associar as entradas e saídas das referidas transações. Assim, nem mesmo o destinatário de uma transação poderia dizer de onde recebeu os fundos transferidos.
A implementação deste método é particularmente útil para evitar o rastreamento dos fundos recebidos ou pagamentos feitos no sistema Bitcoin. Especialmente se cuidarmos da nossa privacidade e recordamos que embora o Bitcoin seja privado, não é anónimo. Isto significa que é possível rastrear transações de Bitcoin ao ponto de encontrar a sua identidade. Certamente não é uma tarefa fácil, mas a análise de transações e os perfis digitais permitem este tipo de construção, por mais difícil que possa parecer. Está ficando mais fácil fazer isso, e as transações de Bitcoin nunca desaparecem, nem irão desaparecer, com todas as suas vinculações efetuadas.
Por este motivo, e para aumentar a privacidade, foi desenhado o CoinJoin. Agora vamos saber como funciona o CoinJoin, quais opções oferece e os seus recursos e limitações (que também possui).
Origem do CoinJoin
O conceito foi introduzido pelo desenvolvedor Gregory Maxwell, que em agosto de 2013 fez uma publicação na sua conta BitcoinTalk, onde explicou em detalhes o desenvolvimento e a operação da sua ideia, destacando também que ela não implicaria uma modificação no protocolo Bitcoin.
A necessidade deste tipo de soluções surgiu da procura de proteger a privacidade dentro do Bitcoin. Recordamos que o Bitcoin não é uma criptomoeda verdadeiramente anónima, mas pseudo anónima. Isto significa que cada uma das transações que realizamos aparece completamente transparente na blockchain.
Mas não é só isso, também é possível criar um perfil completo dos endereços que usamos. Incluindo quais endereços recebemos dinheiro ou para quais endereços enviamos, especificando valores em cada um deles. Obviamente, em cada uma dessas transações nunca existem dados como nomes ou que nos identificam diretamente como usuários.
Mas se hackers e analistas gostam de algo, são os desafios. O desafio da privacidade do Bitcoin levou esses grupos a criar ferramentas especializadas para estudar esses dados e relacioná-los com qualquer outra atividade online que tenhamos. Como resultado, eles recolhem os nossos dados na blockchain e na Internet, criam um perfil e, se não formos cuidadosos o suficiente, podem encontrar com segurança as nossas identidades reais.
É assim que várias empresas de análise de blockchain conseguem encontrar a identidade de muitos usuários de criptomoedas e é assim que a privacidade e o pseudo-anonimato do Bitcoin são reduzidos a nada.
Neste contexto, a criação do CoinJoin foi mostrada como uma resposta satisfatória. Isto ocorre porque, se usada corretamente, esta ferramenta torna praticamente impossível rastrear usuários de Bitcoin. Além disso, a criação do CoinJoin foi tecnicamente superior à do mixer coin, outra opção que já estava na época em utilização. O motivo é que o CoinJoin atua como um protocolo P2P enquanto as moedas do misturador eram centralizadas, dadas a fraudes e outros roubos.
Como funciona o CoinJoin?
Antes de tudo, para realizar uma transação CoinJoin, é necessário que vários usuários da rede tomem a decisão de usar este método. Ou seja, todos concordam em unir transações para criar uma única transação agrupada e conjunta. Ou seja, sem que outras pessoas (ou melhor, endereços com fundos) desejem se misturar com você, não será possível usar o CoinJoin.
No entanto, isto não significa que, ao agrupar todas as transações numa, você esteja de alguma forma cedendo o controle sobre as suas transações a uma parte específica. Não, pelo contrário. Nas transações CoinJoin de Bitcoin as assinaturas de cada transação permanecem independentes entre si . Isto independentemente do número de transações agrupadas numa transação CoinJoin.
Assim, cada usuário terá controle específico sobre as suas entradas e saídas e assinará uma operação somente se concordar com a transação e se estiver correta. E até que todos os usuários participantes de uma transação CoinJoin assinem, a transação não ocorrerá.
Agora, depois que todos os usuários assinarem cada transação específica, estas serão agrupadas na mesma transação CoinJoin, que será processada e validada pelos mineradores para incluí-la na blockchain. Onde será refletida como uma transação única e conjunta, que não mostra claramente de onde os fundos vieram ou para onde foram enviados.
Entenda como funciona o CoinJoin
Agora, para entender exatamente como o CoinJoin funciona, é melhor através de um exemplo. Portanto, temos o seguinte caso:
Suponha que Maria queira transferir 1 BTC do endereço A para o endereço B. Enquanto Juan deseja transferir 1 BTC do endereço C para o endereço D. Para tornar esta transação privada, os dois decidem usar CoinJoin para fins de combinação de suas transferências em uma única transação que tem duas entradas (A e C) e duas saídas (B e D).
O que o CoinJoin faz é pegar as entradas de Maria e João, combiná-las na mesma transação e, a partir delas, misturar essas moedas para gerar as transações que irão para o seu destino. Se a operação exigir o reembolso de um troco, a transação CoinJoin também irá criar essa transação e a enviará para um endereço de troco sob o controle da pessoa a quem essas moedas pertencem. A operação de pagamento CoinJoin somente será realizada quando Maria e João assinarem criptograficamente as suas respectivas transações.
No entanto, o truque que o CoinJoin faz mostra todo o seu poder na blockchain. Normalmente, as transações de Maria e João mostravam um padrão claro de envio de moedas. Ou seja, as moedas vão do seu endereço para o endereço de destino. Porém, no CoinJoin, podemos ver uma única transação na qual várias entradas são unidas e há várias saídas.
Isto torna mais difícil para terceiros determinar qual destinatário recebeu qual saída. Mesmo, o destinatário da transação não pode determinar de qual endereço os fundos recebidos são provenientes, porque os UTXOs não estão diretamente relacionados a um endereço em si, mas a uma transação de várias entradas, todas elas independentes.
Neste exemplo, podemos deduzir o seguinte:
- O CoinJoin usa o esquema de UTXO ou moedas Bitcoin não gastas, para gerar com elas um esquema massivo de entradas para a mesma transação. Obviamente, esses UTXOs vêm do saldo disponível para cada uma das pessoas que participam do esquema CoinJoin; portanto, quanto mais pessoas participam, maior o nível de anonimato alcançado.
- Ao considerar todas as UTXOs das pessoas no CoinJoin como entradas, é gerada uma mistura de moedas a partir dessas UTXOs.
- O pagamento do CoinJoin será realizado assim que todas as pessoas assinarem a transação conjunta e concordarem com os saldos que ela apresentar.
- Finalmente, CoinJoin fará o pagamento. Dependendo da implementação, CoinJoin pode fazer vários pagamentos para outros endereços intermediários que também criarão um CoinJoin adicional. Medida que visa aumentar o nível de segurança da transação. Mas, eventualmente, o CoinJoin trará o saldo de pagamento de Maria e Juan para seus destinatários. Na blockchain, veremos uma única transação, várias saídas e nada que as relacione entre si. Fizemos uma transação anônima.
Porque o CoinJoin é importante no Bitcoin?
Bitcoin é um sistema descentralizado e autónomo que oferece um certo grau de privacidade nas transações. Já que em vez de solicitar dados pessoais como nos sistemas tradicionais, o Bitcoin usa apenas endereços , que funcionam como um tipo de conta bancária na qual você pode receber dinheiro sem nenhum risco. No entanto, o Bitcoin também é um sistema transparente e auditável , o que significa que num explorador de blockchain se pode observar livremente as transações realizadas neste sistema desde o início em 2009 até ao presente.
Assim, mesmo que os dados pessoais não sejam divulgados, terceiros poderão seguir determinados endereços para ver como os fundos se movem ou são geridos, determinando a atividade transacional de um usuário dentro da rede. Lembre-se de que, embora o Bitcoin não usa os dados pessoais de um usuário, é possível associar um endereço específico a uma pessoa ou empresa.
Por exemplo, se essa pessoa ou empresa publicou abertamente que é o proprietário de um endereço específico ou se os endereços IP de onde várias transações foram feitas são monitorizados e acompanhados. É por isso que o Bitcoin é conhecido como sistema pseudo anónimo. Em outras palavras, oferece anonimato parcial aos seus usuários.
Este recurso possibilita, no Bitcoin, marcar / rotular determinadas moedas como "corrompidas ou contaminadas". Se, forem seguidas, e se verificar que se trata de lavagem de dinheiro fraudulenta ou financiamento de atividades ilegais. O que também subtrai a qualidade de fungibilidade à criptomoeda; isto é, a sua capacidade de ser consumível e gastável. Já que muitos usuários da rede não desejam usar estas criptomoedas que foram marcadas como "contaminadas" por estarem vinculadas a atividades ilegais. Portanto, um bitcoin não é mais o mesmo que outro bitcoin.
É por isto que a implementação do método CoinJoin oferece uma alternativa viável para estes problemas de privacidade do sistema Bitcoin. Impedindo que transações feitas na rede sejam rastreadas por terceiros ou vinculadas a determinadas atividades.
Implementações de CoinJoin
Como mencionámos no início, o CoinJoin foi implementado inicialmente na blockchain Bitcoin para melhorar a sua privacidade e anonimato. No entanto, até ao momento, existem várias implementações deste método, sendo as mais comuns e amplamente utilizadas Samourai Wallet, Wasabi Wallet e JoinMarket.
La Samourai Wallet é orientadoa para a proteção e garantia de privacidade dos usuários. Por isso, implementa o método CoinJoin através da interface do Whirlpool para misturar e combinar as entradas e saídas de transações do mesmo usuário, para fazer com que pareçam vir de uma transação CoinJoin. Esta carteira está disponível para computadores e smartphones que operam com o sistema Android. Além disso, temos um guia completo sobre como usar a Carteira Samurai e sua Whirlpool para que você possa aproveitar ao máximo o CoinJoin.
Por sua vez, Wasabi Wallet usa o serviço de Chaumian CoiJoin e o protocolo de rede Tor para misturar transações e garantir a máxima privacidade aos seus usuários. Tornando praticamente impossível rastrear transações, bem como os IPs públicos utilizados. Ambas as carteiras cobram taxas de comissão pelo uso desses serviços de privacidade e anonimato.
Da mesma forma, a implementação do software JoinMarket da CoinJoin também procura melhorar a privacidade e o anonimato nas transações de Bitcoin. Permitindo que os usuários comprem, a uma taxa muito baixa, num local dentro de uma transação CoinJoin, como se fosse um mercado. De fato, JoinMarket funciona como um mercado para transações de Bitcoin.
Em resumo, a implementação do CoinJoin mostrou-se um método muito eficaz e eficiente para garantir privacidade e anonimato na rede Bitcoin. Mas, como qualquer método, requer uso massivo para garantir o anonimato em todas as moedas de bitcoin existentes até ao momento. Quanto maior o número de usuários que implementam CoinJoin, maior o número de bitcoins privados.
Curiosidades sobre o CoinJoin
Neste ponto, é importante destacar algumas curiosidades sobre o CoinJoin decorrentes de perguntas e preocupações dos usuários de Bitcoin. Entre elas podemos citar:
CoinJoin e o mito do anonimato absoluto
CoinJoin não garante 100% de anonimato. Isto ocorre porque a análise de dados, o comportamento da blockchain e até a interceptação de dados da rede ainda podem ser feitos para a análise de um alvo sob investigação que usa o Bitcoin. Portanto, o mito de que o CoinJoin garante 100% de privacidade é falso. Certamente melhora-a num nível não visto no Bitcoin sem este protocolo, mas o anonimato completo não é garantido de forma alguma.
Custos de transação
O custo de uma transação CoinJoin é muito maior do que o de uma transação comum de Bitcoin. Isto ocorre porque o CoinJoin realiza “mix jumps” que nada mais são do que transações adicionais de criptomoeda entre os participantes do CoinJoin. Cada um desses saltos gera uma nova transação que, por sua vez, possui uma taxa de mineração associada. No total, quantos mais saltos de mineração, maior o anonimato alcançado, mas maior o custo da transação final CoinJoin.
Prós e contras do CoinJoin
Agora que sabemos um pouco mais sobre o CoinJoin e o que faz, é hora de saber quais são os prós e os contras que representa. Nesse sentido, podemos mencionar:
Prós
- Melhora bastante a privacidade das nossas operações de criptomoeda.
- Ajuda a evitar a marcação de moedas em ambientes centralizados. Por exemplo, uma moeda usada em ambientes criminosos pode ser lavada e voltar à circulada sem problemas. Algo especialmente útil se a moeda voltou a mãos legais e mais se considerarmos que o Bitcoin está limitado a apenas 21 milhões de moedas.
- O CoinJoin não precisa de alterações no protocolo para funcionar. Algo positivo que mantém a compatibilidade do Bitcoin com outros clientes sem causar grandes problemas.
Contras
- O CoinJoin pode manchar os nossos bitcoin com outros bitcoin de atividades ilegais. Aqui está um julgamento de valor, liberdade e moral por parte de cada usuário, no qual deve-se ter em mente que, se unir à CoinJoin, os usuários que adquiriram esse bitcoin ilegalmente poderão participar junto com você.
- Pode haver exposição dos dados do usuário. Isto é possível se associar os seus saldos geridos ao CoinJoin junto com outros saldos geridos com a sua identidade. Neste ponto, é possível fazer uma análise de dados que possa revelar a sua identidade, mesmo se usar o CoinJoin.
O futuro da privacidade e do anonimato no Bitcoin
Agora, o fato de que o Bitcoin não é completamente anónimo causou reações diferentes na comunidade. Por um lado, muitos usuários acreditam que o Bitcoin deve ser anónimo na sua totalidade, e isso é partilhado por muitos desenvolvedores. Portanto, a pergunta permanece: o que podemos esperar no futuro do Bitcoin? A verdade é que é muito. A criação do CoinJoin é uma resposta às necessidades de privacidade de muitas pessoas. Certamente não é uma compilação padrão que funciona para todos, mas a opção existe e funciona muito bem.
Mas devemos estar cientes de que a privacidade, anonimato e segurança completa não podem ser garantidos num mundo 100% digital. Dito isto, os desenvolvedores de Bitcoin foram mais cautelosos e concentraram esforços em proteger melhor a privacidade e criar vários mecanismos para ajudar a proteger melhor a privacidade e o pseudo-anonimato já disponíveis no Bitcoin. Criações como CoinJoin, JoinMarket ou cadeias laterais como Lightning Network e Liquid Network ajudam muito a criar melhor privacidade e anonimato para quem precisa.
Outro exemplo do desenvolvimento de opções de privacidade e anonimato no Bitcoin são as Transações confidenciais . Estes tipos de opções podem ser vistas no desenho do projeto Elements da BlockStream e aplicam-se ao Bitcoin, onde podem ser ativados por meio de um soft fork. Então, em poucas palavras, no Bitcoin apostam no anonimato da escolha e não no anonimato por padrão, entendendo que o anonimato padrão e a segurança na obscuridade não oferecem 100% de certeza de que esse anonimato está completo.
De faco, o que esse tipo de abordagem pode causar é introduzir alterações incompatíveis com a rede atual, requerendo hard forks. Também pode levar a sérias falhas de segurança devido à dificuldade de transferir técnicas de criptografia mais avançadas e para obter anonimato na rede. Um bom exemplo disso pode ser visto nos eventos de Zcash e GRIN.
No primeiro caso, Zcash teve um erro por vários meses que permitiram a quem o conhecesse criar moedas do nada. Isto inclui as transações de base de moedas que geram essas moedas. Um erro grave que poderia levar a referida criptomoeda a uma catástrofe total. No segundo, o protocolo MimbleWimble tem um design que pode ser explorado destruir toda a privacidade e o anonimato que afirma ter.
Diante de eventos como estes, a abordagem do Bitcoin não é apenas mais cautelosa, mas também menos arriscada, tanto para o ecossistema quanto para o próprio protocolo. E, ao mesmo tempo, permite criar ferramentas de privacidade que melhoram cada vez mais com o tempo.