Os desenvolvedores da Samourai Wallet publicaram a versão beta pública da Whirlpool, uma implementação da Chaumian CoinJoin que consiste em uma estrutura suportada por várias ferramentas de software que melhoram a privacidade.

O que é o Chaumian CoinJoin?

CoinJoin é uma técnica de para tornar-se anônimo proposta pela primeira vez por Gregory Maxwell em 2013. Uma “CoinJoin de Chaumian” integra assinaturas cegas de chaum – um esquema que fornece uma versão criptograficamente cega de um endereço de recebimento. Conforme descrito por ZeroLink, um framework de fungibilidade de bitcoin:

“Os usuários conectam-se e fornecem entradas (e alteram endereços) e uma versão criptograficamente cega do endereço para onde querem que suas moedas privadas sejam enviadas; o servidor assina os tokens e os retorna. Os usuários reconectam-se anonimamente, desvinculam seus endereços de saída e os retornam ao servidor. O servidor pode ver que todas as saídas foram assinadas por ele e, portanto, todas as saídas tiveram que vir de participantes válidos. Mais tarde, as pessoas se reconectam e assinam”.

Isso é visto como uma forma relativamente rápida e barata de adicionar anonimato às transações do CoinJoin. Com a Samourai adicionando esse recurso à sua carteira, ela poderia fornecer uma camada de privacidade significativa e fácil de adotar para os usuários de Bitcoin tradicionais.

Conforme detalhado por seus desenvolvedores, o framework Whirlpool é uma implementação CoinJoin totalmente modular que foi desenvolvida através de um fork “fortemente modificado” da teoria ZeroLink.

De acordo com sua página oficial do Github, o software de código aberto da Whirlpool é capaz de “desassociar matematicamente” a propriedade de entradas (“enviar endereços”) a saídas (“endereços de recebimento”) que estão incluídas em uma transação de Bitcoin. A dissociação entre um dado conjunto de inputs e seus correspondentes outputs permite maior privacidade financeira ao fazer transações de Bitcoin. Em outras palavras, as transferências de Bitcoin tornam-se difíceis de rastrear porque a origem (ou remetente) de uma transação e seu(s) destinatário(s) não podem ser rastreadas devido à desassociação.

Os recursos de privacidade da Whirlpool também aumentam a fungibilidade geral da rede Bitcoin. Fungibilidade refere-se a um atributo de um token (neste caso, BTC), cujas unidades individuais são intercambiáveis, enquanto cada unidade é indistinguível das outras. Analistas de segurança argumentam que a natureza rastreável das transações de Bitcoin (transferências visíveis através de exploradores públicos de blocos) pode reduzir a fungibilidade da criptomoeda emblemática. Isso pode acontecer se os comerciantes se recusarem a aceitar o Bitcoin “contaminado”, que poderia ter sido usado para financiar atividades ilícitas, como tráfico de drogas ou lavagem de dinheiro.

Não está imediatamente claro como o recurso irá reunir os participantes necessários para realizar transações CoinJoin rapidamente. Permitir pagamentos instantâneos exigiria que dezenas de participantes estivessem imediatamente disponíveis. Com a Carteira Wasabi habilitada para CoinJoin, por exemplo, pode levar horas para reunir os 50 a 100 participantes necessários.

A documentação disponível também deixa claro como a Samourai lidaria com a correspondência de quantidade – a necessidade de vincular entradas e saídas correspondentes para mascará-las adequadamente.

Conjunto de anonimidade teórica do Whirlpool

A Whirlpool inclui a implementação de um conjunto teórico de anonimato que tem o potencial de crescer exponencialmente “em minutos” em vez de levar várias horas. Simplificando, a teoria é que todos os endereços de envio e recebimento são misturados em um conjunto, cujo tamanho está aumentando continuamente. Se funcionar na prática, a ideia é que esse conjunto se torne maior em um ritmo mais rápido ao usar a Whirlpool e se torne praticamente impossível determinar o remetente e os destinatários das transferências de Bitcoin. Em sua documentação técnica, os desenvolvedores da Samourai Wallet indicaram que isso seria alcançado com o foco em ciclos CoinJoin relativamente menores, em vez de trabalhar com um único ciclo grande, explicaram os desenvolvedores da Samourai Wallet. Presumivelmente, é mais simples trabalhar com vários ciclos CoinJoin menores e mais simples do que se concentrar em um único ciclo CoinJoin grande e complexo.

A equipe da Samourai também observou que a arquitetura modular da Whirlpool – a separação do código em seções menores que permite que cada código execute tarefas simples – deve permitir que sua estrutura seja incorporada a praticamente qualquer tipo de ambiente de desenvolvimento, incluindo a estrutura usada em smartphones e smartphones. computadores desktop.

Em geral, é a melhor prática de programação para escrever códigos modulares, o que significa que o código-fonte deve ser dividido em funções lógicas que podem ser invocadas conforme necessário para realizar tarefas específicas em programas de computador. Por exemplo, um programa modular pode consistir em módulos de código para tarefas diferentes, como um módulo para excluir transações da memória e outro módulo para gravar transações na memória.

Além disso, o software de código aberto da Whirlpool foi desenvolvido para criar um sistema que pode operar dentro das “limitações de um ambiente móvel”. A maioria dos smartphones tem recursos limitados de hardware e software (em comparação com computadores de mesa), então a Whirlpool foi otimizada para funcionam de forma eficaz, mesmo quando operam nesses tipos de limitações.

Essa abordagem ao design de software ajudou a criar um protocolo robusto que pode ser implementado “na maioria das condições”, o que significa que o protocolo funcionará como pretendido na maioria dos sistemas operacionais, incluindo sistemas Windows, Linux e Android.

Desenvolvidos em uma “forte fundação matemática”

A equipe de Samourai acrescentou que outra importante consideração de design para a Whirlpool é a usabilidade. Para isso, “concentrou-se nos gastos” e garantiu que eles seguissem as práticas recomendadas para evitar ações que comprometessem a privacidade do usuário. Além disso, o framework Whirlpool oferece um UX intuitivo com o qual a maioria dos usuários já deve se sentir confortável.

Conforme observado por sua equipe de desenvolvimento, o protocolo focado na privacidade é baseado em uma “base matemática sólida”. Cada ciclo do Whirlpool maximiza a aleatoriedade usando várias funções e técnicas matemáticas. Além disso, a estrutura da Whirlpool garante que os usuários nunca façam ciclos com eles mesmos.

O protocolo também não permite links determinísticos entre as entradas e suas saídas associadas. Ao impedir a formação de links deterministas, torna-se praticamente impossível determinar a origem ou a origem dos fundos e onde eles poderiam ter sido transferidos (i.e., os endereços dos destinatários vinculados à transação).

Ciclos de hidromassagem também foram implementados de uma maneira que os impede de andar de rotacionar com moedas encontradas em um ciclo anterior.

Usando um servidor coordenador cego

Conforme descrito acima, a estrutura da Whirlpool usa um servidor coordenador “cego” operado pela Samourai para retransmitir mensagens entre clientes. Embora o servidor coordenador seja capaz de facilitar a comunicação entre diferentes clientes, ele “crucialmente” não pode saber o que está sendo transmitido por meio de mensagens compartilhadas entre os participantes da rede. Isso significa que o servidor Samourai não pode ler o conteúdo das mensagens, um recurso essencial para usuários que priorizam a privacidade e não querem que o servidor Samourai possa vincular entradas e saídas.

Clientes de Windows, OS X, Linux, Android

Notavelmente, os desenvolvedores da Samourai Wallet criaram vários clientes de código aberto que supostamente fornecem acesso irrestrito ao servidor coordenador.

Atualmente, há um cliente disponível para usuários do sistema operacional Windows, OSX e Linux. Como observado pela equipe Samourai, o software recém-desenvolvido consiste em um cliente de área de trabalho elétron/reagente GUI que é compatível com a maioria dos sistemas operacionais Linux e também pode ser executado em sistemas Windows e OSX padrão. Os usuários do Android também podem usar os recursos da estrutura do Whirlpool.

No entanto, deve-se notar que o software da Samourai Wallet para desktop está em sua versão beta pública e a versão para celular está atualmente em desenvolvimento, portanto ambas as versões podem ser instáveis. Para desenvolvedores, há uma API REST que pode ser usada para inicializar aplicativos adicionais. no topo do quadro Whirlpool. Há também bibliotecas de software Android e Java e um cliente de linha de comando (CLI) que estão disponíveis no repositório do cliente Whirlpool.

Fonte: Bitcoin Magazine