Zephyrnet Logo

Como o Payswap pode confundir analistas de Blockchain, beneficiando a privacidade do Bitcoin para todos

Data:

Embora Satoshi Nakamoto artigo: sugere que a privacidade era um objetivo de design do protocolo Bitcoin, a análise do blockchain pode muitas vezes violam a privacidade dos usuários. Isto é um problema. Os usuários de Bitcoin podem não querer necessariamente que o mundo saiba onde gastam seu dinheiro, o que ganham ou quanto possuem, enquanto as empresas podem não querer vazar detalhes de transações para concorrentes – para citar alguns exemplos.

Mas existem soluções para recuperar a privacidade. Uma nova solução foi proposto na lista de discussão bitcoin-dev esta semana, pelo desenvolvedor Bitcoin e Lightning que atende pelo pseudônimo “ZmnSCPxj”. Chamada Payswap, a solução proposta oferece um truque simples, mas eficaz, para confundir a análise de blockchain, invertendo a relação entre pagador e beneficiário.

Veja como isso funciona. 

A rastreabilidade dos pagamentos Bitcoin

Uma transação típica de bitcoin é um pagamento de uma pessoa (o pagador) para outra (o beneficiário). Digamos, por exemplo, que Alice queira pagar a Bob 3 bitcoins. Se Alice possui um pedaço de moedas (um UTXO) no valor de exatamente 3 moedas, e nós, para simplificar, ignoramos as taxas, ela poderia criar uma transação com uma entrada (referindo-se ao seu endereço contendo 3 moedas) e uma saída (referindo-se ao endereço Bitcoin de Bob) . O pedaço de 3 moedas passaria essencialmente do endereço de Alice para o endereço de Bob. Simples.

No entanto, na maioria das vezes, Alice não terá a quantidade exata de moedas que precisa para pagar a Bob. Alice pode, por exemplo, ter apenas pedaços de 2 moedas. Nesse caso, ela ainda poderá criar uma transação. Esta transação teria duas entradas (dois pedaços de 2 moedas, presumivelmente de dois endereços diferentes), e também duas saídas: uma saída no valor de 3 moedas atribuídas ao endereço de Bob, e uma saída no valor de 1 moeda, que ela envia de volta para um de seus próprios endereços como mudança.

Infelizmente, exatamente porque tal transação é tão típica, ela revelaria informações aos analistas de blockchain. Eles assumirão que o pedaço de 3 moedas constitui o pagamento (para Bob) e que 1 moeda é o troco (de volta para Alice). Afinal, se o pagamento constituísse apenas 1 moeda, Alice não precisaria incluir dois insumos. Isso permite que os analistas de blockchain rastreiem pagamentos através do blockchain e, em última análise, permite o agrupamento de endereços e mais estratégias de violação de privacidade. 

Entre no Payswap

Payswap essencialmente substitui o pagamento de Alice para Bob por dois pagamentos: um de Alice para Bob e outro de Bob para Alice. Fazer isso com segurança requer alguma complexidade técnica – mais sobre isso abaixo – mas vamos ignorar isso por enquanto. 

Neste caso, Alice ainda criaria uma transação com duas entradas: dois pedaços de 2 moedas. Mas desta vez, a transação incluiria apenas uma saída: ela enviaria todas as 4 moedas para Bob. Isso já pode confundir os analistas de blockchain. Como a maioria das transações de pagamento típicas incluem uma alteração de endereço, e esta transação não, eles podem (falsamente) assumir que esta é uma transação na qual alguém está, por exemplo, transferindo seus próprios fundos para uma nova carteira. 

Enquanto isso, Bob também criaria uma transação para Alice. Digamos que Bob tenha pedaços de 0.6 moedas. Ele criaria uma transação que incluiria duas entradas (pedaços de 0.6 moedas) e duas saídas: 1 moeda para Alice e 0.2 moedas como troco. Isso seria semelhante a uma transação normal (1 moeda de Bob para Alice). 

Se diferentes endereços Bitcoin forem usados, um analista de blockchain não será capaz de dizer que as duas transações descritas aqui aconteceram entre as mesmas duas pessoas (Alice e Bob). Em vez disso, além da suposição falsa que eles podem ter feito sobre a transação de Alice para Bob, eles agora também podem ter uma suposição errada sobre a transação de Bob para Alice. No geral, eles podem pensar que Bob pagou a Alice 1 bitcoin, enquanto na realidade Alice pagou a Bob 3. 

Os analistas da Blockchain, pelas suas falsas suposições, teriam sido enganados, beneficiando tanto a privacidade de Alice como de Bob. Por extensão, se as suposições dos analistas de blockchain forem quebradas por meio desses tipos de truques com bastante frequência, suas suposições se tornarão inúteis em geral. 

Adicionando CoinSwap

Na realidade, o truque do Payswap seria um pouco mais complicado.

No exemplo acima, ainda resta um problema para resolver. Como Alice e Bob não confiam um no outro, nenhum deles está disposto a efetuar o pagamento primeiro, pois isso permitiria que o outro desaparecesse sem devolver o pagamento. 

Isso pode ser resolvido com um truque mais antigo, chamado CoinSwap. Baseado em swaps atômicos (um truque ainda mais antigo), duas transações separadas podem se tornar dependentes uma da outra; nenhuma das partes poderia se recusar a devolver o pagamento. 

Se você sabe como funcionam o CoinSwap e/ou os swaps atômicos, a ideia por trás do Payswap é na verdade muito simples. Em vez de usar valores (quase) iguais nas transações atômicas, o Payswap usa valores desiguais; a diferença constitui o pagamento. (Se isso estiver claro para você, não há necessidade de ler o restante desta seção do artigo.) 

Com um pouco mais de detalhes, o Payswap introduz duas transações adicionais na equação. 

Primeiro, em vez de criar uma transação que envia 4 moedas diretamente para Bob, Alice cria uma transação que envia as moedas para um contrato inteligente muito básico. As moedas podem ser reivindicadas neste contrato inteligente de duas maneiras. Ele pode ser reivindicado por Bob, se ele também incluir um número secreto gerado pelo próprio Bob. Ou, se as moedas não forem reivindicadas por Bob, as moedas podem ser reivindicadas por Alice depois de algum tempo. 

Segundo, em vez de criar uma transação que envia uma moeda diretamente para Alice, Bob também cria uma transação que envia a moeda para um contrato inteligente básico. (E 0.2 moeda de volta para si mesmo como troco.) Novamente, a moeda pode ser reivindicada de duas maneiras. De qualquer forma, pode ser reivindicado por Alice, se ela incluir o mesmo número secreto que Bob gerou. Ou pode ser reivindicado por Bob depois de algum tempo. (Um pouco mais de tempo do que no primeiro contrato inteligente.) 

Ambas as transações são transmitidas para a rede Bitcoin para serem incluídas em um bloco. 

Agora, quando Bob quiser receber seu pagamento (4 moedas), ele criará uma transação a partir do contrato inteligente que Alice criou, incluindo assim o código secreto que ele gerou, reivindicando o dinheiro. É importante ressaltar que, ao fazer isso, ele revela seu código secreto na blockchain do Bitcoin para Alice ver. Com ele, Alice pode, por sua vez, criar uma transação a partir do contrato inteligente que Bob criou, reivindicando 1 moeda de volta para seu endereço. 

Veja também

Enquanto o departamento fiscal britânico HMRC busca rastrear todas as transações de bitcoin, os especialistas em segurança Nopara73 e Paul Puey avaliam a privacidade do Bitcoin.

Em outras palavras: Bob só pode reivindicar 4 moedas deixando Alice reivindicar 1 moeda. Ambas as transações são realizadas ou nenhuma delas. 

Se, por qualquer motivo, Bob não reivindicar seu pagamento, o timelock do contrato inteligente básico criado por Alice expirará e ela poderá reivindicar suas 4 moedas de volta. Bob, um pouco mais tarde, também pode reivindicar sua 1 moeda de volta. Sem danos causados. 

Vale ressaltar que esses contratos inteligentes podem ser criados com truques matemáticos sofisticados para ocultar os códigos secretos nas assinaturas criptográficas, para evitar que as duas transações sejam vinculadas por analistas de blockchain através do código. Contudo, os detalhes de como isso é feito estão fora do escopo deste artigo; se você estiver interessado em aprender mais, veja este artigo sobre scripts sem script

No final, embora o uso de swaps atômicos acrescente alguma complexidade, os analistas de blockchain ficariam confusos da mesma forma. 

Desvantagens do Payswap

Payswap vem com algumas compensações.

A desvantagem mais óbvia é que um pagamento exigiria quatro transações, em vez de apenas uma. Duas transações são necessárias para transferir os fundos de Alice para Bob, e duas transações são necessárias para devolver o “troco” de Bob para Alice. Isto requer mais espaço de bloco e, portanto, mais taxas. 

Além disso, o pagamento exige que Alice e Bob interajam. Alice não pode simplesmente enviar fundos para o endereço de Bob; em vez disso, os dois precisam se comunicar fora do protocolo Bitcoin para também definir um identificador (hash) do número secreto de Bob. 

A solução pode, portanto, ser mais útil no contexto do Lightning. O roteamento de pagamentos na Lightning Network é inteiramente baseado na troca de números secretos, muito parecido com o que Bob gerou no exemplo acima, então não é difícil ver como o mesmo truque se aplicaria. No entanto, na Lightning Network, as transações extras não atingiriam o blockchain, enquanto os pagamentos exigem interação de qualquer maneira.

Na verdade, focado principalmente na rede Layer 2 do Bitcoin para pagamentos rápidos e baratos, ZmnSCPxj originalmente teve a ideia do Payswap no contexto da Lightning Network, onde ele simplesmente se refere a ele como um “autopagamento”. Mas mais sobre esta proposta em um artigo futuro…

Fonte: https://bitcoinmagazine.com/articles/how-payswap-can-confuse-blockchain-analysts-benefiting-bitcoin-privacy-for-all

local_img

Inteligência mais recente

local_img