Privacidade em pontes Blockchain

Feb 11 2023
Como transferir fundos entre redes de forma privada?
Os usuários interagem com blockchains usando seus pseudônimos ou chaves públicas. Embora isso forneça um nível de privacidade, já que suas identidades reais não são usadas diretamente, sua privacidade não é totalmente preservada.

Os usuários interagem com blockchains usando seus pseudônimos ou chaves públicas. Embora isso forneça um nível de privacidade, já que suas identidades reais não são usadas diretamente, sua privacidade não é totalmente preservada. Isso ocorre porque todas as transações são enviadas e armazenadas no blockchain público, possibilitando que terceiros investiguem o blockchain e vinculem as identidades reais dos usuários aos seus pseudônimos. Isso pode ser feito rastreando suas interações com trocas centralizadas ou por meio de transações com vendedores, que podem aprender seus pseudônimos e rastrear seu histórico de transações no blockchain.

Este é um problema significativo para a adoção do blockchain, pois os usuários podem não querer compartilhar suas informações de conta criptográfica com o mundo! Além disso, à medida que a tecnologia de análise de blockchain avança, fica mais fácil encontrar as identidades dos usuários, e as regulamentações podem forçar o KYC em muitos aplicativos, destruindo a privacidade dos usuários.

Foto do museu de design

Privacidade da ponte

Para resolver questões de privacidade em blockchain, existem várias soluções, como mixagem, assinaturas de anel e provas de conhecimento zero, entre outras. Essas técnicas foram aplicadas nos níveis de blockchain e aplicativo. No entanto, uma área que não recebeu muita atenção são as pontes de blockchain. Pontes Blockchain são protocolos que permitem aos usuários mover fundos e dados entre diferentes blockchains. À medida que o mundo multi-cadeia cresce, resolver problemas de privacidade em pontes torna-se cada vez mais importante.

Um dos principais usos das pontes é a transferência de ativos entre cadeias, mas esse processo atualmente carece de privacidade. É fácil para um terceiro rastrear os ativos movidos de uma cadeia para outra, vinculando os endereços e os ativos. Além disso, mover fundos de uma cadeia para outra geralmente é um processo demorado, tornando mais fácil para os atores do Miner Extractable Value (MEV) os usuários front-run. Por exemplo, se um usuário deseja realizar uma troca de cadeia cruzada entre dois blockchains (vamos chamá-los de fonte e cadeia de destino), eles enviariam uma solicitação na cadeia de origem. Como leva tempo para que a transação seja confirmada na cadeia de origem e depois transmitida para a cadeia de destino, os atores do MEV têm tempo suficiente para detectar a oportunidade do MEV e direcionar os preços de forma a lucrar com isso.

Alcançando privacidade em pontes blockchain

As técnicas de privacidade existentes podem ser usadas para obter privacidade em pontes de blockchain. Nas seções a seguir, explicaremos cada técnica e como ela pode ser aplicada ao problema da ponte.

Misturando

A mixagem é uma técnica que desvincula o emissor e o receptor um do outro. Nesse método, dois ou mais usuários que desejam transferir X tokens combinarão suas transações em uma única, dificultando que terceiros conectem o remetente e o destinatário.

Ligando remetentes e destinatários

Por exemplo, se Alice e Bob quiserem mover 1 BTC de Bitcoin para Polygon usando uma ponte, eles normalmente enviariam duas solicitações separadas. Para preservar sua privacidade, eles podem combinar suas solicitações em uma única transação e enviá-la para a ponte. Quando a ponte executar a solicitação, ela enviará o BTC empacotado para os endereços receptores determinados por Alice e Bob, mas um terceiro não consegue distinguir o destinatário de Alice e Bob.

Desvinculando remetentes e destinatários

Prova de conhecimento zero

A prova de conhecimento zero é uma ferramenta criptográfica que permite que um provador demonstre a validade de uma declaração ou dados sem revelar nenhuma informação sobre os dados reais. Essa tecnologia é usada na criptomoeda com foco em privacidade, Zcash, para permitir que os usuários provem que possuem uma certa quantidade de moedas sem revelar quais moedas específicas possuem. O verificador pode verificar a validade do comprovante e aceitar o pagamento se for de fato válido, sem ter nenhum conhecimento sobre as reais moedas envolvidas.

Essa tecnologia também pode ser utilizada para obscurecer o link entre o remetente e o destinatário ao fazer a ponte de ativos. Por exemplo, se Alice deseja transferir 1 ETH do Ethereum para o Polygon, ela pode enviar o ETH para um contrato inteligente no Ethereum e fornecer prova para um contrato inteligente no Polygon de que ela tem controle sobre o ativo sem revelá-lo. Dessa forma, o link entre o remetente e o destinatário é interrompido.

Para implementar o protocolo, são necessários dois contratos inteligentes, um no Ethereum e outro na rede Polygon. Uma ponte blockchain também é necessária para transferir dados do Ethereum para o Polygon. O contrato inteligente Ethereum armazena uma árvore Merkle e os usuários podem adicionar uma nova folha à árvore depositando uma certa quantidade de ETH (digamos, 1 ETH). Então, no Polygon, os usuários podem retirar 1 WETH do contrato inteligente, fornecendo uma prova válida.

Alice gera dois valores aleatórios, “s” e “r”, e calcula o hash de sua concatenação (r||s), que ela adiciona à árvore Merkle. A raiz da árvore Merkle atualizada (raiz Merkle) é então movida para o contrato inteligente Polygon através da ponte blockchain.

Na rede Polygon, Alice envia uma prova que demonstra seu conhecimento de “r” e “s” com uma nova identidade. A prova mostra que o hash de “r||s” faz parte da árvore Merkle, mas os valores reais de “r” e “s” não são revelados. Além da prova, Alice envia “H(r)” para o contrato inteligente. O contrato inteligente verifica a prova comparando-a com a raiz Merkle atualizada e o valor de “H(r)”. Se a prova for considerada válida, o contrato inteligente cunhará 1 WETH para Alice como provadora. É importante notar que o contrato inteligente armazena o valor de “H(r)”, então Alice só pode receber WETH uma vez para um “r” e “s” específicos.

Conecte a privacidade usando conhecimento zero

Resumo

O uso de pseudônimos em transações blockchain não preserva total privacidade. Para melhorar a privacidade, existem soluções como mixagem, assinaturas de anel e provas de conhecimento zero, mas a privacidade das transferências entre diferentes blockchains não recebeu muita atenção. Isso é significativo à medida que a adoção de várias cadeias cresce e a privacidade se torna cada vez mais importante. Provas de mistura e conhecimento zero podem ser aplicadas ao problema da ponte para preservar a privacidade nas transferências.

Referências

[1] CoinShuffle: Mistura prática de moeda descentralizada para Bitcoin

[2] Zerocash: Pagamentos anônimos descentralizados do Bitcoin

[3] Pontes blockchain sem confiança e que preservam a privacidade