Author

Topic: [Didático] Privacidade e anonimato do Bitcoin (Read 86 times)

legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
Cara, que conteúdo lindo de se ler....
Muito desses conceitos a gente já cansou de ver por aqui, mas nunca vi eles serem explicados assim de uma forma tão rica de informações mas sendo direto sem muito embrolation ou informações técnicas demais.

Além do mais... parabéns pela tradução, ficou perfeita, só faltou as traduzir o texto das imagens mesmo Cool

É estranho eu falar sobre LN, pois até hoje não fiz uso prático dela ainda, mas pelo que já li até então ela não seria uma forma eficiente de se obter privacidade no envio de Bitocoin?
Com o processo de roteamento entre os nós da LN (sem abrir diretamente um canal entre você e o destinatário do Bitcoin) acho que seria possível enviar e receber bitcoins indiretamente com bastante privacidade e segurança nessas transações. Pesquisei aqui sobre o tal onion routing consiste em criptografar as informações da transação em várias camadas, aquele conceito da cebola mesmo, em que cada uma delas contém apenas as informações que são necessárias para se alcaçar o próximo nó do caminho, que basicamente é o endereço do destinhatário e a quantidade que precisa ser enviada, então cada nó só saberia quem é o seu antecessor e sucessor, sem saber de fato quem é a origem ou o destinatário da transação.
Sei lá.. meio abstrato isso pra mim.
sr. member
Activity: 1960
Merit: 393
English<->Pt-BR - Professional Translations(90+)

8. MixCoin
voltar ao índice

MixCoin é um conceito que cria responsabilidade pelos serviços de “mistura”18. A implementação do MixCoin não requer alterações no protocolo Bitcoin para que possa ser facilmente implementado pelos usuários.
No MixCoin, há duas partes envolvidas. A primeira parte é a que deseja fazer a randomização do bitcoin, e a segunda parte é a que fornece serviços de randomização.
A prestação de contas no MixCoin é feita como prova da transação. Se o provedor de serviços trapacear roubando o bitcoin do usuário, o usuário exporá evidências do acordo, destruindo assim a reputação do provedor de serviços.
A seguir está um diagrama que ilustra o protocolo MixCoin18:



Várias etapas devem ser executadas pelo usuário A e pelo provedor de serviços M. O usuário A faz uma solicitação de serviço a M para criar uma transação bitcoin. Se M concordar, então M assina as informações sobre a transação solicitada por A usando a chave privada de M. Os dados assinados são evidências que serão armazenadas por A e que podem ser verificadas por qualquer pessoa usando a chave pública de M. Em seguida, A paga uma quantia de bitcoin aprovada para M, incluindo taxas de transação pagas a M. Se M estiver agindo honestamente ao enviar o bitcoin mencionado, então a evidência pode ser removida. Mas se M estiver trapaceando, então A pode publicar provas que afirmem que M não foi honesto.


Referências (em inglês):
18. J. Bonneau, A. Narayanan, A. Miller, J. Clark, J.A. Kroll, and E.W. Felten,
     "Mixcoin: Anonymity for Bitcoin with accountable mixes," in Financial Cryptography and Data Security, ed: Springer,
     2014, pp. 486-504.
     Link para download (PDF): http://www.jbonneau.com/doc/BNMCKF14-FC-mixcoin_proceedings.pdf
 -   Dimaz A.W. & Oscar D., Blockchain dari Bitcoin untuk Dunia, page 107-109, 2017: Jasakom
 -   Para outras referências veja esta postagem #1



9. Merge Avoidance
voltar ao índice

Merge avoidance é um termo introduzido por Mike Hearn no conceito que ele apresentou para identificar problemas de privacidade do bitcoin.
Merge avoidance é a ideia de dividir um certo número de transações de bitcoin em várias transações para evitar a identificação do usuário da quantia específica enviada de um usuário para outro19.
Ao resolver transações com uma pequena quantidade de bitcoin, a identificação dessas transações será mais difícil.
Merge avoidance é útil em alguns casos; por exemplo, Alice e Bob trabalham na mesma empresa e são pagos pela empresa na forma de bitcoin. Bob suspeitava que recebia um salário menor de Alice, então ele poderia ter pedido a Alice que enviasse uma pequena quantia de bitcoins. A partir daí, Bob pode analisar quais transações se tornam pagamentos de salário para Alice e provar as suspeitas de Bob.

-snip- O anonimato é muito difícil, especialmente com sistemas baseados em blockchain, onde muitos dados precisam ser públicos, mas também em outras áreas (por exemplo, existem vários pontos fracos conhecidos no Tor). Você deve sempre operar com a expectativa de que qualquer sistema de anonimato que você usar acabará falhando. Se você está sempre confiante em seu anonimato, então você está errado. ...

-snip- que mesmo que um serviço de mesclagem/algoritmo de mesclagem possa parecer confiável no momento, através de uma única falha de vazamento/implementação, um invasor pode ser capaz de desanonimizar qualquer transação passada que tenha sido processada pelos serviços de mesclagem. Mesmo que a falha de vazamento/implementação seja corrigida pelo serviço, cada transação que foi processada antes da correção é irreversivelmente vulnerável. -snip-

Camparação entre um Mixer Bitcoin e o CoinJoin23:

-snip-

Imagens da árvore Merkle

Há vantagens em usar a árvore Merkle em termos de verificação de um bloco.
Por exemplo, na estrutura da árvore Merkle na imagem acima, para verificar a transação D, um nó não precisa copiar todas as transações A, B, C, D e E, mas o suficiente para copiar C , AB e EEEE para produzir a raiz Merkle. Isso levou ao surgimento de nós que não possuem uma cópia completa da blockchain, que é então chamado de verificação simplificada de pagamento (SPV).

Referência (em inglês): Bitcoin Developer Guide - https://bitcoin.org/en/developer-guide#transaction-data (D.A. Harding - 2015, 12 Januari 2016) - https://bitcoin.org/en/glossary/simplified-payment-verification.

Exemplo de Árvore de Sintaxe Abstrata



Exemplo de Árvore Merkle



Exemplo de MAST
Alice pode usar BTC (imagem à esquerda), ou depois de três meses, Bob e Charlie podem gastar BTC (imagem à direita) - você só precisa economizar completamente a oneração (raiz Merkle) para obter todos os subscritos.



Benefícios da implementação da MAST

1. Transações menores
Você pode adicionar quantos subscritos desejar.


2. Maior privacidade
Os benefícios deste MAST provavelmente funcionarão de forma mais otimizada na improvisação de privacidade quando combinado com outros métodos, como árvores de limite generalizado[ /url] (Pieter Wuille e Gregory Maxwell), [url=https://diyhpl.us/wiki/transcripts/mit-bitcoin-expo-2017/mimblewimble-and-scriptless-scripts/]MimbleWimble e “sem script” ( Andrew Poelstra) e contratos de log distintos (Thaddeus Dryja).

3. Contrato Inteligente maior
O Bitcoin tem três tamanhos de bytes diferentes que se aplicam a cada script, dependendo do desenvolvimento da oneração.



Com a MAST, você não pode exceder o limite de bytes
Limite de dez mil bytes para scripts vazios, limite de 520 bytes para P2SH e limite de 10.000 bytes para SegWit.


Referências:
- https://github.com/jl2012/bips/blob/mast/bip-mast.mediawiki
- https://github.com/bitcoin/bips/blob/master/bip-0114.mediawiki
- http://www.mit.edu/~jlrubin/public/pdfs/858report.pdf
- https://bitcointechtalk.com/what-is-a-bitcoin-merklized-abstract-syntax-tree-mast-33fdf2da5e2f
- https://www.youtube.com/watch?v=Phn_Im2K_PY
- https://bitcoinops.org/en/topics/mast/
- https://themoneymongers.com/merkelized-abstract-syntax-tree-mast/
- https://diyhpl.us/wiki/transcripts/bitcoin-core-dev-tech/2017-09-07-merkleized-abstract-syntax-trees/
- Bitcoin Developer Guide  - https://bitcoin.org/en/developer-guide#transaction-data (D.A. Harding - 2015, 12 Januari 2016)
  https://bitcoin.org/en/glossary/simplified-payment-verification
- Para outras referências veja a postagem #1



13. Taproot
voltar ao índice

As origens da ideia Taproot vêm de um e-mail do desenvolvedor Bitcoin Gregory Maxwell em janeiro de 2018 e prosseguiu com Pieter Wuille.
“O que é Taproot? Tentando tornar todos os scripts de saída e a maioria dos gastos indistinguíveis”, disse Pieter Wuille. Taproot visa melhorar a privacidade, eficiência e flexibilidade dos recursos de script do Bitcoin sem adicionar novas premissas de segurança.



Em vez de ter conceitos separados para pagamento para chave pública e pagamento para script de hash, combine-os em um e faça ambos os resultados. Cada saída poderá ser gasta em uma chave e em zero ou mais scripts. então farei isso de forma que gastar apenas com uma chave pública seja supereficiente: exigirá apenas uma única assinatura na blockchain.

Taproot + Schnorr



Taproot é um esquema para assinar scripts de transação. Com as assinaturas Schnorr, por meio do esquema de assinaturas múltiplas, habilite a agregação de chaves.

Fontes:
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015614.html
https://en.wikipedia.org/wiki/Merkle_tree
https://github.com/sipa/bips/blob/bip-schnorr/bip-taproot.mediawiki
https://cryptonews.com/news/bitcoin-a-step-closer-to-taproot-the-biggest-upgrade-since-s-5618.htm
http://www.altnews.nu/taproot-the-new-update-that-will-revolutionize-the-bitcoin-blockchain/
https://en.bitcoin.it/wiki/Script
https://blog.bitmex.com/the-schnorr-signature-taproot-softfork-proposal/
https://www.bitcoinmedia.id/11-tahun-bitcoin-saatnya-privasi-bitcoin-dengan-taproot-dan-schnorr/
https://bitcoinist.com/schnorr-taproot-soft-fork-promises-big-things-for-bitcoin/
https://diyhpl.us/wiki/transcripts/sf-bitcoin-meetup/2019-12-16-bip-taproot-bip-tapscript/


14. Análise do anonimato do Bitcoin
voltar ao índice

Existem várias características do Bitcoin que servem de base para a análise de transações Bitcoin e a análise da identidade do proprietário de um endereço Bitcoin. Os analistas podem desenterrar informações por meio da blockchain Bitcoin que é aberta e acessível a qualquer pessoa. Além disso, informações adicionais podem ser extraídas pelos analistas para simplificar o seu trabalho.
A divulgação de informações de endereço Bitcoin é naturalmente algo comum no recebimento de pagamentos e doações. Mas os analistas podem vincular diretamente o endereço Bitcoin à identidade real do proprietário do endereço. As transações relacionadas a este endereço também apresentam um risco de privacidade – o proprietário do endereço Bitcoin e aqueles que lidam com esse endereço.
As características das informações de endereço Bitcoin que podem ser coletadas na internet são analisadas na pesquisa [1]. Os pesquisadores coletaram informações de endereços Bitcoin de lojas que publicam seus endereços Bitcoin. Depois disso, agruparam o endereço de acordo com a localização geográfica das lojas. Claro, pode-se concluir que os clientes que fazem transações com endereços Bitcoin estão na mesma área geográfica dessas lojas.
Os pesquisadores sugerem fornecer um novo endereço para cada transação com novos clientes para reduzir a possibilidade de análise acima e para proteger um pouco melhor a privacidade do cliente.
Usuários que exibem seus endereços de Bitcoin em sites, fóruns e mídias sociais também são alvo de análise, incluindo endereços de doações do Wikileaks [2]. A pesquisa conseguiu abrir relações com transações de Bitcoin em um gráfico de rede.


Fonte: Uma análise do anonimato no sistema Bitcoin [2]

Uma carteira Bitcoin pode ter mais de um endereço Bitcoin que gerencia esses endereços para os usuários. Se o usuário tentar fazer uma transação que exija fundos em um valor que exceda os fundos em 1 endereço, a carteira criará automaticamente uma transação com mais de 1 valor de entrada. Este conceito é utilizado por analistas com técnicas de agrupamento de endereços para associá-los à identidade do mesmo proprietário.
Essa característica é explorada em pesquisas por meio de técnicas de agrupamento [3]. Essa técnica é feita coletando transações com múltiplas entradas e identificando os proprietários desses endereços. Outras pesquisas de alcance mais amplo também são realizadas utilizando análises quantitativas para determinar as características gerais das transações de bitcoin ocorridas [4].
Um endereço de alteração é um endereço Bitcoin que pertence ao remetente do Bitcoin para receber a diferença entre o dinheiro mantido em um endereço e o dinheiro pago. É uma prática comum em transações Bitcoin. Com essa prática, pode-se dizer que o remetente do Bitcoin possui o endereço de retorno em uma transação. O endereço de retorno também é usado em técnicas de cluster [3], e o mesmo proprietário possui a identificação como o endereço a partir dos endereços de entrada plurais.
A quantidade de Bitcoin contida em uma transação pode ser um ponto de partida para os analistas. Por exemplo, alguém que faz um pagamento em um valor específico (por exemplo, com um valor significativo), então outra pessoa pode adivinhar quem fez uma transação com aquele determinado valor sem precisar fazer uma análise mais aprofundada.


Referências:
[1] E. Androulaki, G.O. Karame, M. Roeschlin,. T. Scherer, and S. Capkun,
     "Evaluating user privacy in bitcoin," in Financial Crytography and Data Security, ed: Springer, 2013, pp. 34-51
     https://link.springer.com/chapter/10.1007/978-3-642-39884-1_4
[2] F. Reid and M. Harrigan, An analysis of anonymity in the bitcoin system: Springer, 2013.
https://users.encs.concordia.ca/~clark/biblio/bitcoin/Reid%202011.pdf
[3] S. Meiklejohn, M. Pomarole, G. Jordan, K. Levchenko, D. McCoy, G.M. Voelker, et al.,
     "A Fistful of Bitcoins: Characterizing Payment Among Men with No Names," USENIX; Login:, 2013.
    https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf
[4] D. Ron and A. Shamir, "Quantitative analysis of the full bitcoin transaction graph,
     "in Financial Cryptography and Data Security, ed: Springer, 2013, pp 6-24.
     https://link.springer.com/chapter/10.1007%2F978-3-642-39884-1_2
-    Dimaz A.W. & Oscar D., Blockchain dari Bitcoin untuk Dunia, pages 110-111: Jasakom, 2017.
     [email protected] ; @kriptologi
-    Para outras referências veja a postagem #1



15. Controle de Moedas
voltar ao índice

O recurso de controle de moedas permite controlar como você gasta as moedas em sua carteira HD. Você pode escolher quais endereços enviarão as moedas e quais das moedas que você recebeu serão utilizadas.
Quando você envia bitcoins para outra pessoa, o cliente bitcoin escolhe aleatoriamente qual dos seus endereços enviará as moedas. Com o controle de moedas, você pode selecionar exatamente o endereço. Mais específico é quais das saídas não gastas serão as entradas de envio.
A imagem abaixo é sobre como habilitar o controle de moedas na carteira principal do Bitcoin

Configurações > Opções > Carteira > (clique em) Ativar recursos de controle de moedas.



E a imagem abaixo mostra como você gasta (estou usando a carteira Electrum – testnet do Bitcoin, como exemplo)



Como usar?
1. Clique na guia Endereço
2. Escolha em qual endereço deseja gastar
3. Clique com o botão direito e escolha gastar de



Na imagem mostrada, seu controle de moedas está ativado.
este é um exemplo de transação usando controle de moeda



A transação que fiz ficou assim:[/b] https://live.blockcypher.com/btc-testnet/tx/dcfd79703dc27b32b636d10dd037e5ea53055641cbe18c558b6d89a81ccaef09/ (*não exponha o txID se quiser privacidade)

Fontes:
[1]. https://medium.com/@nopara73/coin-control-is-must-learn-if-you-care-about-your-privacy-in-bitcoin-33b9a5f224a2
[2]. https://bitcoin.stackexchange.com/questions/37486/what-does-bitcoin-cores-coin-control-features-do-and-how-do-i-use-it
[3]. https://cryptomining-blog.com/tag/what-is-coin-control/


16. Circuito de Transações
voltar ao índice

Na Conferência Bitcoin de 2013 em San Jose, CA [1][/ sup], Olivier Coutu, da Universidade de Montreal, Canadá, ofereceu um Circuito de Transações aproveitando a teoria da rede para estruturar transações Bitcoin que formam circuitos complexos, tornando mais difícil rastrear as identidades das partes envolvidas [sup ][2].



Existem vários conceitos de rede utilizados no circuito de transações, por exemplo:

- Rede Borboleta [3]



- Rede Benes [4].



Rede Benes do Wikimedia Commons [4]

O circuito de transação tornará difícil analisar a identidade dos proprietários de endereços Bitcoin envolvidos nessas transações, aumentando assim o anonimato do Bitcoin. [5].
No entanto, a matemática subjacente é complexa e até agora não foi criada nenhuma implementação facilmente utilizável. [6].
Não há nada particularmente original no protocolo;
À primeira vista, o conceito de circuito de transação é semelhante ao CoinJoin.
Olivier Coutu apresentou Circuit of Transactions (Decentralized Mixers for Bitcoin) na conferência Bitcoin em maio de 2013 enquanto o CoinJoin de Gregory Maxwell era em agosto de 2013. Outros conceitos muito mais simples surgiram, como os implementados por Taaki e Martin (mas a ideia inicial também era indissociável do conceito CoinJoin proposto por Gregory Maxwell) [6] .


Referências:
[1] Bitcoin 2013 conference - Olivier Coutu - Decentralized Mixers for Bitcoin
     https://www.youtube.com/watch?v=6hc8qaR_Fok
[2] Olivier Coutu, Privacy in Bitcoin through decentralized mixers
     https://core.ac.uk/download/pdf/151552849.pdf
[3] Martin Collier. A systematic analysis of equivalence in multistage networks. Journal of Lightwave Technology, vol. 20, No. 9, September 2002
     https://pdfs.semanticscholar.org/9c3a/5530f8492dc63d200f08080ea93c2f0cd6ac.pdf
[4] https://en.wikipedia.org/wiki/Clos_network
[5] Dimaz Ankaa Wijaya, Bitcoin Tingkat Lanjut, page 60: Puspantara, 2016.
     https://play.google.com/books/reader?id=EEFgDQAAQBAJ&hl=en&pg=GBS.PA60
[6] Vitalik Buterin, Trustless Bitcoin Anonymity Here at Last, 2013
     https://bitcoinmagazine.com/articles/trustless-bitcoin-anonymity-here-at-last-1377737692
-    Para outras referências veja a postagem #1






Tradução



sr. member
Activity: 1960
Merit: 393
English<->Pt-BR - Professional Translations(90+)
Jump to: