Como eles fazem isso? Revisão das tecnologias de anonimato de criptomoedas

Certamente você, como usuário de bitcoin, éter ou qualquer outra criptomoeda, estava preocupado que alguém pudesse ver quantas moedas você tem em sua carteira, para quem você as transferiu e de quem as recebeu. Há muita controvérsia em torno das criptomoedas anônimas, mas uma coisa da qual não podemos discordar é como сказал O gerente de projeto Monero, Riccardo Spagni, em sua conta no Twitter: “E se eu simplesmente não quiser que o caixa do supermercado saiba quanto dinheiro tenho em meu saldo e em que gasto?”

Como eles fazem isso? Revisão das tecnologias de anonimato de criptomoedas

Neste artigo veremos o aspecto tecnológico do anonimato - como eles fazem isso, e daremos uma breve visão geral dos métodos mais populares, seus prós e contras.

Hoje existem cerca de uma dúzia de blockchains que permitem transações anônimas. Ao mesmo tempo, para alguns o anonimato das transferências é obrigatório, para outros é opcional, alguns ocultam apenas os destinatários e destinatários, outros não permitem que terceiros vejam sequer os valores das transferências. Quase todas as tecnologias que estamos considerando fornecem anonimato completo – um observador externo não pode analisar saldos, destinatários ou histórico de transações. Mas vamos começar nossa análise com um dos pioneiros neste campo para traçar a evolução das abordagens ao anonimato.

As tecnologias de anonimato existentes atualmente podem ser divididas grosso modo em dois grupos: aquelas baseadas em mistura – onde as moedas utilizadas são misturadas com outras moedas do blockchain – e tecnologias que utilizam provas baseadas em polinômios. A seguir, nos concentraremos em cada um desses grupos e consideraremos seus prós e contras.

Amassar à base

CoinJoin

CoinJoin não anonimiza as traduções dos usuários, apenas complica seu rastreamento. Mas decidimos incluir esta tecnologia em nossa análise, pois foi uma das primeiras tentativas de aumentar o nível de confidencialidade das transações na rede Bitcoin. Esta tecnologia cativa pela sua simplicidade e não requer alteração das regras da rede, por isso pode ser facilmente utilizada em muitas blockchains.

É baseado em uma ideia simples: e se os usuários contribuirem e fizerem seus pagamentos em uma única transação? Acontece que se Arnold Schwarzenegger e Barack Obama contribuíram e fizeram dois pagamentos a Charlie Sheen e Donald Trump numa única transação, então fica mais difícil compreender quem financiou a campanha eleitoral de Trump - Arnold ou Barack.

Mas da principal vantagem do CoinJoin vem sua principal desvantagem - segurança fraca. Hoje, já existem maneiras de identificar transações CoinJoin na rede e combinar conjuntos de entradas com conjuntos de saídas, comparando as quantidades de moedas gastas e geradas. Um exemplo de ferramenta para tal análise é CoinJoin Sudoku.

Prós:

• Simplicidade

Contras:

• Hackabilidade demonstrada

Monero

A primeira associação que surge ao ouvir as palavras “criptomoeda anônima” é Monero. Esta moeda provado a sua estabilidade e privacidade sob o microscópio dos serviços de inteligência:

Como eles fazem isso? Revisão das tecnologias de anonimato de criptomoedas

Em um de seus recentes artigos Descrevemos detalhadamente o protocolo Monero e hoje resumiremos o que foi dito.

No protocolo Monero, cada saída gasta em uma transação é misturada com pelo menos 11 (no momento da escrita) saídas aleatórias do blockchain, complicando assim o gráfico de transferência da rede e tornando a tarefa de rastrear transações computacionalmente complexa. As entradas mistas são assinadas com assinatura em anel, o que garante que a assinatura foi fornecida pelo titular de uma das moedas mistas, mas não permite determinar quem.

Para ocultar os destinatários, cada moeda recém-gerada usa um endereço único, tornando impossível para um observador (tão difícil quanto quebrar as chaves de criptografia, é claro) associar qualquer saída a um endereço público. E desde setembro de 2017, Monero passou a apoiar o protocolo Transações confidenciais (CT) com alguns acréscimos, ocultando também os valores da transferência. Um pouco mais tarde, os desenvolvedores de criptomoedas substituíram as assinaturas Borromeu por Bulletproofs, reduzindo significativamente o tamanho da transação.

Prós:

• Testado pelo tempo
• Relativa simplicidade

Contras:

• A geração e verificação de provas são mais lentas que ZK-SNARKs e ZK-STARKs
• Não resistente a hackers usando computadores quânticos

Mimblewimble

Mimblewimble (MW) foi inventado como uma tecnologia escalonável para anonimizar transferências na rede Bitcoin, mas encontrou sua implementação como um blockchain independente. Usado em criptomoedas Grin и LARGURA.

O MW é notável porque não possui endereços públicos e, para enviar uma transação, os usuários trocam resultados diretamente, eliminando assim a capacidade de um observador externo analisar as transferências de destinatário para destinatário.

Para ocultar as somas de entradas e saídas, é usado um protocolo bastante comum proposto por Greg Maxwell em 2015 - Transações confidenciais (TC). Ou seja, os valores são criptografados (ou melhor, usam esquema de compromisso), e em vez deles a rede opera com os chamados compromissos. Para que uma transação seja considerada válida, a quantidade de moedas gastas e geradas mais a comissão devem ser iguais. Como a rede não opera diretamente com números, a igualdade é garantida por meio da equação desses mesmos compromissos, que é chamada de compromisso com zero.

No CT original, para garantir a não negatividade dos valores (a chamada prova de intervalo), eles usam Assinaturas Borromeu (assinaturas em anel Borromeu), que ocupavam muito espaço no blockchain (cerca de 6 kilobytes por saída ). A este respeito, as desvantagens das moedas anónimas que utilizam esta tecnologia incluíam o grande tamanho das transacções, mas agora decidiram abandonar estas assinaturas em favor de uma tecnologia mais compacta - Bulletproofs.

Não existe o conceito de transação no bloco MW em si, existem apenas saídas gastas e geradas dentro dele. Nenhuma transação - sem problemas!

Para evitar a desanonimização do participante da transferência na fase de envio da transação para a rede, é utilizado um protocolo Dandelion, que usa uma cadeia de nós proxy de rede de comprimento arbitrário que transmitem a transação entre si antes de realmente distribuí-la a todos os participantes, ofuscando assim a trajetória da transação que entra na rede.

Prós:

• Tamanho pequeno da blockchain
• Relativa simplicidade

Contras:

• A geração e verificação de provas são mais lentas que ZK-SNARKs e ZK-STARKs
• O suporte para recursos como scripts e assinaturas múltiplas é difícil de implementar
• Não resistente a hackers usando computadores quânticos

Provas em polinômios

ZK-SNARK

O intrincado nome desta tecnologia significa “Conhecimento Zero Argumento sucinto e não interativo de conhecimento”, que pode ser traduzido como “Prova sucinta e não interativa de conhecimento zero”. Tornou-se uma continuação do protocolo zerocoin, que evoluiu para zerocash e foi implementado pela primeira vez na criptomoeda Zcash.

Em geral, a prova de conhecimento zero permite que uma parte prove à outra a veracidade de alguma afirmação matemática sem revelar qualquer informação sobre ela. No caso das criptomoedas, tais métodos são utilizados para comprovar que, por exemplo, uma transação não produz mais moedas do que gasta, sem divulgar o valor das transferências.

ZK-SNARKs é muito difícil de entender e seria necessário mais de um artigo para descrever como funciona. Na página oficial do Zcash, primeira moeda que implementa este protocolo, uma descrição de seu funcionamento é dedicada a 7 artigos. Portanto, neste capítulo nos limitaremos apenas a uma descrição superficial.

Usando polinômios algébricos, o ZK-SNARKs prova que o remetente do pagamento possui as moedas que está gastando e que a quantidade de moedas gastas não excede a quantidade de moedas geradas.

Este protocolo foi criado com o objetivo de reduzir o tamanho da prova de validade de uma declaração e ao mesmo tempo verificá-la rapidamente. Sim, de acordo com презентации Zooko Wilcox, CEO da Zcash, o tamanho da prova é de apenas 200 bytes e sua exatidão pode ser verificada em 10 milissegundos. Além disso, na versão mais recente do Zcash, os desenvolvedores conseguiram reduzir o tempo de geração de provas para cerca de dois segundos.

No entanto, antes de usar esta tecnologia, é necessário um procedimento complexo de configuração confiável de “parâmetros públicos”, que é chamado de “cerimônia” (A cerimonia). A dificuldade toda é que durante a instalação desses parâmetros nenhuma das partes fica com nenhuma chave privada, chamada de “lixo tóxico”, caso contrário poderá gerar novas moedas. Você pode aprender como esse procedimento ocorre no vídeo em YouTube.

Prós:

• Pequeno tamanho de evidência
• Verificação rápida
• Geração de provas relativamente rápida

Contras:

• Procedimento complexo para definição de parâmetros públicos
• Lixo tóxico
• Complexidade relativa da tecnologia
• Não resistente a hackers usando computadores quânticos

ZK-STARK

Os autores das duas últimas tecnologias são bons em brincar com siglas, e a próxima sigla significa “Argumentos de Conhecimento Transparentes Escaláveis ​​de Conhecimento Zero”. Este método pretendia resolver as deficiências existentes dos ZK-SNARKs naquela época: a necessidade de uma configuração confiável de parâmetros públicos, a presença de resíduos tóxicos, a instabilidade da criptografia para hackear usando algoritmos quânticos e a geração de provas insuficientemente rápida. No entanto, os desenvolvedores do ZK-SNARK lidaram com a última desvantagem.

ZK-STARKs também usam provas baseadas em polinômios. A tecnologia não utiliza criptografia de chave pública, baseando-se, em vez disso, no hashing e na teoria de transmissão. A eliminação desses meios criptográficos torna a tecnologia resistente aos algoritmos quânticos. Mas isso tem um preço – a prova pode atingir várias centenas de kilobytes de tamanho.

Atualmente, ZK-STARK não possui implementação em nenhuma das criptomoedas, mas existe apenas como uma biblioteca bibliotecaSTARK. No entanto, os desenvolvedores têm planos para isso que vão muito além dos blockchains (em seus White Paper os autores dão um exemplo de evidência de DNA em um banco de dados policial). Para isso foi criado Indústrias StarkWare, que no final de 2018 coletou 36 milhões de dólares investimentos das maiores empresas do setor.

Você pode ler mais sobre como o ZK-STARK funciona nas postagens de Vitalik Buterin (parte 1, parte 2, parte 3).

Prós:

• Resistência a hackers por computadores quânticos
• Geração de provas relativamente rápida
• Verificação de prova relativamente rápida
• Sem resíduos tóxicos

Contras:

• Complexidade da tecnologia
• Prova de tamanho grande

Conclusão

Blockchain e a crescente demanda por anonimato impõem novas demandas à criptografia. Assim, o ramo da criptografia que se originou em meados da década de 1980 – provas de conhecimento zero – foi reabastecido com métodos novos e de desenvolvimento dinâmico em apenas alguns anos.

Assim, a fuga do pensamento científico tornou o CoinJoin obsoleto e o MimbleWimble um recém-chegado promissor com ideias bastante novas. Monero continua sendo um gigante inabalável na proteção de nossa privacidade. E SNARKs e STARKs, embora tenham deficiências, podem se tornar líderes na área. Talvez nos próximos anos os pontos que indicamos na coluna “Contras” de cada tecnologia se tornem irrelevantes.

Fonte: habr.com

Adicionar um comentário