Post
Topic
Board Português (Portuguese)
Merits 13 from 6 users
Topic OP
[Didático] Privacidade e anonimato do Bitcoin
by
r_victory
on 17/05/2024, 23:26:48 UTC
⭐ Merited by GazetaBitcoin (3) ,Lucasgabd (3) ,joker_josue (2) ,Porfirii (2) ,alegotardo (2) ,DdmrDdmr (1)


Original: [Education] Bitcoin Privacy and Anonymity
Autor: Husna QA



Privacidade e Anonimato
A privacidade é um grande problema no sistema Bitcoin. Embora o Bitcoin ofereça anonimato, várias técnicas se desenvolveram para abrir relacionamentos entre endereços Bitcoin, padrões de transação e a identidade original do proprietário do endereço do Bitcoin.

Índice:
1. Problemas de Privacidade
2. Critérios do KYC e AML
3. Taint
4. Greenlist
5. Geolocalização
6. CoinJoin
7. CoinSwap
8. MixCoin
9. Merge Avoidance
10. Serviço Mixer
11. Assinatura Schnorr
12. MAST (Árvore de sintaxe abstrata Merkelizada)
13. Taproot by DroomieChikito
14. Análise de Anonimato do Bitcoin
15. Controle de Moedas by DroomieChikito
16. Circuito de Transações
Referências


1. Problemas de Privacidade
voltar ao índice

O Bitcoin, projetado com um modelo de privacidade, onde as transações feitas e endereços de propriedade de um usuário não têm um relacionamento direto com a identidade real do proprietário. O modelo de privacidade do Bitcoin e sua comparação com o modelo de privacidade tradicional podem descrever o seguinte:


Modelo de Privacidade do Bitcoin 1
Qualquer pessoa pode ingressar no sistema Bitcoin sem precisar se registrar primeiro, porque não há organização de controle centralizada no sistema Bitcoin que controla usuários ou transações que ocorram dentro do sistema.
Embora todos possam ver essas transações, a identidade associada à compra permanece oculta.
No entanto, este modelo de privacidade não significa que a identidade do usuário permaneça oculta. Muitas regras estão definidas e também as características do Bitcoin que podem usar para analisar a relação entre as transações de Bitcoin e a identidade real do usuário. Eles são o que faz com que a comunidade Bitcoin tenda a se referir ao Bitcoin como pseudo-anônimo.


2. Critérios do KYC e AML
voltar ao índice

Os governos do mundo estão começando a tomar conhecimento dos esquemas de lavagem de dinheiro que podem implementar usando moedas digitais como Liberty Reserve, que força as instituições financeiras a aplicar os critérios de Know Your Customer (KYC) e Anti Money Laundering (AML). Ao usar o critério KYC, ninguém pode criar uma conta bancária sem um documento de identidade. A mesma lei imposta a instituições financeiras relacionadas ao sistema Bitcoin, como corretora de criptomoedas, que permite que os usuários vendam ou comprem Bitcoin e convertam moedas locais em Bitcoin ou vice-versa.3
Na Indonésia, uma das corretoras que faz o "câmbio" de bitcoin/criptomoeda por Rupia, a Indodax, adotou o mesmo mecanismo, exigindo que seus usuários enviem cópias de suas identidades para serem validadas manualmente pela empresa.
Isso significa que os serviços de trading de Bitcoin têm um registro de conexão entre o endereço do Bitcoin e a identidade real do usuário.
Como qualquer um pode ver todas as transações, o Bitcoin comprado na corretora pode ser rastreado facilmente. Portanto, se a transação for suspeita de estar relacionada a atividades ilegais, o usuário envolvido poderá ser identificado.


3. Taint
voltar ao índice

Taint é um rastro de transação que pode ser usado como parâmetro de ligação/relação entre um endereço Bitcoin e outro. Ele considera as transações intermediárias que conectaram esses endereços.5
Esta é a melhor maneira que encontrei para explicar a Análise de Mancha (Taint) que você verá no blockchain.info, mas não tenho certeza se está muito claro: (exemplo fictício para o endereço 1MtPYAjqohLH5gMq3PH5xKVFWWDxrRQEbh)

Todos os endereços que receberam um pagamento estão "contaminados" e isso não afeta o valor das moedas.

Os endereços que transacionarem entre si tendem a ter algo relacionado, por exemplo, de propriedade do mesmo usuário, ou ter um relacionamento de comprador/vendedor no esquema de transação de compra e venda de bens ou serviços.
Costumava haver uma ferramenta de Análise de Mancha (Taint) no blockchain.info (https://www.blockchain.com/), mas parece que o recurso foi removido6. (CMIIW)

Quote
O retângulo vermelho destacado mostra a função de análise Taint disponível entre as ferramentas:


A mesma página hoje é bem diferente, pois a função "Taint Analysis" está claramente ausente na seção "Ferramentas":

Outras referências de ferramentas de Análise de Taint:7
https://bitcointalk.org/index.php?topic=1746836.0


4. Greenlist
voltar ao índice

Greenlist8 é um esquema que registra as informações reais de identidade do proprietário de um endereço de bitcoin. Este conceito foi proposto pela primeira vez pela empresa CoinValidation, que mantém os dados. Com o esquema da Greenlist, a empresa verificará a propriedade dos endereços de Bitcoin. Como tal, essas informações podem ser usadas para a aplicação da lei para rastrear aqueles que compram itens ilícitos usando bitcoin9.
Esta ideia da Greenlist foi rejeitada pela comunidade Bitcoin, por exemplo, no fórum Bitcointalk.org e no Fórum do Reddit11.

-snip-
Também estou irritado, francamente, que alguém entraria no mercado com um pensamento tão confuso e tentaria sabotar ou destruir o principal recurso de bitcoin que dá seu valor, onde o valor foi criado por Satoshi e um elenco de milhões de homens, horas de contribuições da comunidade e dos assistentes técnicos, desenvolvendo-o principalmente no tempo de voluntariado. Eu não sou alguém propenso a xingar, mas isso é surpreendentemente estúpido e perigoso. Por favor, pare agora. No artigo, afirma-se que eles procuraram conselhos dos gêmeos Winklevoss, se os gêmeos valorizam seus bitcoin estimados em US$30 milhões, deveriam aconselhá-los a parar: se a fungibilidade for destruída, o valor dos bitcoins como uma moeda para transações será impactada. 
-snip-

A Greenlist eliminará o conceito de funcionalidade, que é um conceito em que qualquer bitcoin com a mesma quantidade deve ter valor igual, independentemente de onde o Bitcoin se originou.
Esse esquema da Greenlist criará diferentes avaliações de Bitcoin, dependendo do Bitcoin vir de um endereço integrado.
As políticas da Greenlist podem ser um ponto de partida para os agentes do governo que têm acesso ao banco de dados para rastrear a identidade de qualquer pessoa que faça negociações com um endereço de bitcoin específico8.


5. Geolocalização
voltar ao índice

A análise de geolocalização pode ser entendida como um método para mapear os usuários de Bitcoin com base em sua localização na superfície da Terra. O relatório pode mapear os locais dos comerciantes que aceitam o Bitcoin como um meio de pagamento.
Toda vez que um usuário faz um pagamento com Bitcoin, poderá estimar que o usuário está no mesmo local que o comerciante, é claro, assumindo que os comerciantes vendem mercadorias offline nas lojas físicas que possuem. Assim, os analistas podem rastrear detalhes da transação, incluindo, se necessário, verificar as câmeras de CCTV ao pesquisar a presença do usuário.


Mapa de calor dos varejistas que aceitam criptomoedas como pagamento.12

Ao combinar técnicas de geolocalização e técnicas de análise de manchas, todos os usuários de Bitcoin que compram na loja de um comerciante podem ser rastreados. Portanto, sem maior segurança, a identidade dos usuários do Bitcoin pode ser conhecida.


Referências (em inglês):
voltar ao índice
-   https://en.bitcoin.it/wiki/Privacy
1. Satoshi, Bitcoin: A Peer-to-Peer Electronic Cash System
2. Dimaz A.W. & Oscar D., Blockchain dari Bitcoin untuk Dunia, pages 100-104, 2017: Jasakom dimaz@kryptologi.com ; @kriptologi
3. M. Moser, R. Bohme, and D. Breuker, "An inquiry into money laundering tools in the Bitcoin ecosystem,” in eCrime Researchers Summit (eCRS), 2013, pp. 1-14.
4. Kaisa, Menata Legalitas Cryptocurrency di Indonesia
5. What is Taint?
6. Was Blockchain.info taint analysis function removed?
7. Any Other Taint Analysis Tools (other than blockchain.info's)?
8. Vitalik Buterin, Why The Bitcoin Greenlist is Structurally Dangerous to the Bitcoin Ecosystem
9. Kashmir Hill, Sanitizing Bitcoin: This Company Wants To Track 'Clean' Bitcoin Accounts
10. adam3us, Coin Validation misunderstands fungibility and could destroy bitcoin
11. https://www.reddit.com/r/Bitcoin/comments/1qj7sw/sanitizing_bitcoin_this_company_wants_to_track/
12. https://coinmap.org/ ; https://academy.binance.com/en/articles/what-is-bitcoin



6. CoinJoin
voltar ao índice

Gregory Maxwell apresenta uma solução alternativa para aumentar o nível de privacidade dos usuários de Bitcoin, chamada CoinJoin13, que é um desenvolvimento das ideias apresentadas anteriormente sobre Taint[/ i]14, CoinJoin é um mecanismo que combina várias transações semelhantes em uma transação que consiste em muitas entradas e saídas. O conceito CoinJoin foi então implementado em um aplicativo chamado CoinJoin15.

-snip-
Transações com o CoinJoin13

A imagem acima explica como o CoinJoin funciona e como ele se compara às transações Bitcoin.
Na transação 1, um endereço 1FF que possui 50 BTC deseja enviar 0,5 BTC para outro endereço, 1A1, com endereço de retorno 1FF. Ao final da transação, o endereço 1FF terá 49,5 BTC bitcoin.
Na transação 2, existem muitos endereços de entrada e saída. Embora este esquema pareça uma transação comum de Bitcoin, ele pode ser usado para proteger a identidade do usuário associado à transação. Por exemplo, o proprietário do endereço 1A1 deseja enviar 0,8 BTC para 1E5 e não quer que mais ninguém saiba desta transação, então ele combina a transação com outra transação do mesmo tamanho, por exemplo, do endereço 1C3 para 1D4. Isso significa que, ao observar a transação, o observador não consegue determinar qual endereço recebe o endereço 1A1, pois o bitcoin pode ter se originado de 1D4 ou 1E5.


ATUALIZAÇÃO
Entre as aplicações pioneiras na implementação do conceito CoinJoin:

Parabéns aos desenvolvedores da Wasabi e JoinMarket! A JoinMarket foi pioneira em muitos estudos do CoinJoin (e, aliás, Belcher escreveu um excelente e abrangente artigo wiki sobre privacidade), enquanto a Wasabi é a primeira carteira que implementa o CoinJoin de uma maneira altamente utilizável e sólida. Como signatário e doador do fundo de recompensas do CoinJoin, estou emocionado com a existência desses dois softwares!
Para todos que desejam melhorar sua privacidade, recomendo fortemente dar uma olhada na Wasabi, especialmente em “mixers” centralizados. -snip-

Observação:

-snip- A Wasabi não é mais nossa amiga. Eles se juntaram ao barco do inimigo. Portanto, acho importante removê-los do OP ou adicionar uma observação muito importante sobre eles não oferecerem mais suporte à privacidade e ao anonimato, mas o contrário. Este é um movimento muito decepcionante do lado da Wasabi e me enoja, mas é o que é. -snip-
Veja também este link: https://blog.wasabiwallet.io/zksnacks-blacklisting-update/

> Eles ainda não explicaram como exatamente a zkSNACKs Ltd irá colocar na lista negra certas saídas de transações não gastas se não estiverem monitorando e coletando dados do usuário
Não explicamos, porque é trivial. Pela arquitetura, o coordenador Wasabi não pode violar a privacidade dos seus usuários. Isto não significa que o coordenador opte por não recolher dados, mas significa que não poderia recolher mesmo que quisesse. O coordenador só conhece os UTXOs que participam de coinjoins – o público também sabe – e isso não é um vazamento de privacidade.


Referências (em inglês):
13. gmaxwell, CoinJoin: Bitcoin privacy for the real world
14. gmaxwell, I taint rich! (Raw txn fun and disrupting 'taint' analysis; >51kBTC linked!)
15. P. Martin & A. Taaki. (2013, August 25, 2015) Anonymous Bitcoin Transactions.
 -   Dimaz A.W. & Oscar D., Blockchain dari Bitcoin untuk Dunia, pages 104-105, 2017: Jasakom
 -   Outras referências: veja esta postagem #1



7. CoinSwap
voltar ao índice

Gregory Maxwell16 no tópico a seguir apresentou o CoinSwap pela primeira vez:
https://bitcointalk.org/index.php?topic=321228.0
O CoinSwap protegerá as informações de transação entre o pagador e o destinatário. O CoinSwap permite que as partes envolvidas façam transações envolvendo uma garantia de que nenhuma parte possa roubar bitcoins de outras partes. No CoinSwap, um terceiro é necessário como elemento de ligação entre o pagador e o destinatário, e também algumas transações devem ser feitas no esquema CoinSwap. Alguns métodos de transação usados no CoinSwap incluem garantia (escrow) e transações bloqueadas por hash.

Protocolo CoinSwap:
Neste protocolo, todas as partes presumiam ter canais de comunicação privados.
O protocolo CoinSwap pode ser explicado da seguinte forma:
Alice atua como pagadora,
Bob como destinatário do pagamento,
e Carol como intermediária (escrow).

Este protocolo está dividido em 3 fases, nomeadamente fase 0, fase 1 e fase 2.

Fase 0. Configura os cauções e seus reembolsos de tempo limite.
Fase 1. Faz com que, se Bob for pago, não haja como Carol deixar de receber.
Fase 2. Apenas libera os depósitos diretamente porque todos estão felizes porque não existe possibilidade de trapacear.

  Alice                        Carol                        Bob
  =====================================================================================
0.Computes TX_0: 2of2{A,C}    |Computes TX_1: 2of2{C,B}    |                           \
1.Send TX_0 TXID ------------>                             |                           |
2.                            |Send TX_1 TXID ------------>                            |
3.                            |Computes TX_0 locked refund |Computes TX_1 locked refund|   
4.               <------------ Send TX_0_refund            |                           | Phase 0
5.                            |               <------------ Send TX_1_refund.          |
6.Announces TX_0 to network   |Announces TX_1 to network   |                           |
7.                            |                            |                           |
8.******    Network confirms TX_0: Alice pays according to 2 of {Alice, Carol}   ******|
9.******     Network confirms TX_1: Carol pays according to 2 of {Carol, Bob}    ******/
A.                            |                            |Selects secret value X     \
B.                            |                            |Computes HX = H(X)         |
C.                            |               <------------ Send HX                    |
D.               <----------------------------------------- Send HX                    |
E.Computes TX_2: TX_0>Carol+X |                            |                           | Phase 1
F.Send TX_2     ------------>                              |                           |
G.                            | Computes TX_3: TX_1>Bob+X  |                           |
H.                            | Send TX_3     ------------>                            |
I.                            |               <------------ Send X                     /
J.                            | Computes TX_4: TX_1>Bob    |                           \
K.                            | Send TX_4     ------------>                            |
L.                            |                            |Signs and announces TX_4   |
M.******       Network confirms TX_4: Carol pays Bob via 2 of {Carol, Bob}       ******|
N.Computes TX_5: TX_0>Carol   |                            |                           | Phase 3
O.Send TX_5      ------------>                             |                           |
P.                            |Signs and announces TX_5    |                           |
Q.******     Network confirms TX_5: Alice pays Carol via 2 of {Alice, Carol}     ******/
  =====================================================================================
Diagrama do Protocolo CoinSwap.16

Fase 0
Na fase 0, ocorre o processo de realização de uma transação de garantia entre os participantes. Alice faz uma transação de garantia TX_0, que é uma garantia 2 de 2 entre Alice e Carol usando o bitcoin de Alice. Esta transação pode ser lida como:
'Alice pagará uma certa quantia de bitcoin para Carol se Alice e Carol concordarem.'
Então, Carol também faz uma transação TX_1, que é um depósito 2 de 2 entre Carol e Bob usando o bitcoin de Carol. Esta transação pode ser lida como: 'Carol pagará uma certa quantia de bitcoin a Bob se Carol e Bob concordarem.'
Para garantir essa fase, Carol faz um reembolso de TX_0 com prazo específico, o que fará com que Alice receba de volta o bitcoin pago a Carol caso algo aconteça no futuro.
Assim como Alice, Carol também faz TX_1_reembolso, que fará com que Carol receba de volta o bitcoin pago a Bob caso algo aconteça no futuro. As transações TX_0_refund e TX_1_reembolso não são enviadas para a rede por Alice ou Carol. As transações enviadas para a rede bitcoin nesta fase são TX_0 e TX_1.

Fase 1
A Fase 1 prepara garantias de transação para todos os participantes envolvidos. Isso significa que se Bob receber moedas de Carol, Carol também poderá fazer pagamentos de Alice. Um esquema de transação bloqueado por hash suporta esse esquema.
Neste esquema, Bob escolhe a palavra-chave secreta X, depois calcula o valor HX, que é o valor hash de X com a fórmula HX=H(X) e envia HX para Alice e Carol. Alice cria uma nova transação TX_2 que receberá moedas de TX_0 usando a assinatura de Carol e o valor X e receberá no endereço de Carol. Assim como Alice, Carol faz uma nova transação com um esquema de transação bloqueado por hash TX_3 que receberá moedas de TX_1 usando a assinatura de Bob e o valor X e pagará a Bob.
Nesta fase, se Bob trapacear e receber moedas usando TX_3, Carol poderá receber pagamentos usando TX_2 porque o valor de X pode ser conhecido quando Bob usar TX_3 e publicá-lo na rede Bitcoin.

Fase 2
Se TX_2 e TX_3 não forem enviados para a rede Bitcoin, a fase 2 poderá continuar. Nesta fase, Bob informa a Carol o valor de X, e Carol faz uma nova transação TX_4 que retira moedas de TX_1 usando a assinatura de Bob. Bob pode usar a transação TX_4 para receber o pagamento. Simples assim, Alice fez uma transação TX_5 que pegaria moedas de TX_0 usando a assinatura de Carol e pagaria para Carol. Carol pode enviar transações TX_5 para a rede Bitcoin para receber o pagamento.
Se este protocolo estiver completo, apenas as transações TX_4 e TX_5 usando TX_0 e TX_1 serão enviadas para a rede Bitcoin, enquanto as demais transações serão excluídas e não serão enviadas para a rede Bitcoin.

CoinSwap é um exemplo do método de pagamento contingente de conhecimento zero17 que possui os seguintes recursos:
1. Transação bloqueada por hash
2. Transação com bloqueio de tempo
3. Transação com garantia 2-de-2
No CoinSwap, cada etapa do protocolo deve seguir a ordem correta para produzir uma transação segura e garantida sem uma parte confiável.


Referências (em inglês):
16. gmaxwell, CoinSwap: Transaction graph disjoint trustless trading
17. Bitcoin Wiki. (2011, September 28, 2015), Zero Knowledge Contingent Payment
 -   Dimaz A.W. & Oscar D., Blockchain dari Bitcoin untuk Dunia, pages 105-107, 2017: Jasakom
 -   Outras referências: veja a postagem #1