BitCoin na perspectiva da Ciência da Computação

Continuando a série de artigos sobre a origem do Blockchain e Bitcoin, este é segundo post que estou publicando da série.  Consulte o anterior para saber mais sobre os assuntos básicos.

Conceitos criptográficos



Para entender os princípios do Bitcoin, também precisamos entender conceitos criptográficos. A criptografia é a arte e a ciência de guardar mensagens confidencial e seguro. Além disso, a criptografia também é capaz de fornecer autenticação, integridade e não-repúdio de mensagens. Neste contexto, estas palavras tem os seguintes significados:

• Autenticação. Deve ser possível para o receptor de uma mensagem averiguar sua origem; um intruso não deve ser capaz de se passar por alguém com outra integridade de dados. Deve ser possível para o destinatário de uma mensagem verificar se ela
não foi modificada em trânsito; um intruso não deve ser capaz de substituir uma mensagem falsa por uma legítima.

• Não repúdio. Um remetente não deve ser capaz de falsamente negar que ele enviou uma mensagem.

A criptografia tem múltiplos meios para atingir as metas acima mencionadas, e nós descreva alguns deles que são necessários para entender o Bitcoin.

Se duas partes quiserem enviar mensagens com segurança, elas podem usar criptografia para ocultar conteúdo real das mensagens (texto simples) e transformá-las em texto cifrado, i. e., para torná-los ilegíveis por qualquer outra pessoa. A parte receptora pode executar a descriptografia para recuperar o texto sem formatação.

Normalmente, os algoritmos para criptografar e descriptografar são bem conhecidos, e somente as chaves de criptografar / descriptografar são mantidas em segredo. Se ambas as partes
usar a mesma chave para criptografar ou descriptografar, eles usam uma criptografia simétrica de algoritmo. Os algoritmos simétricos, por si só, fornecem confidencialidade, mas para alcançar os outros 
objetivos, precisamos de outras técnicas, como funções hash.

A saída de uma função hash não depende da entrada de qualquer maneira distinguível.

Essas propriedades nos dão a possibilidade de usar funções hash para verificar a integridade mensagens. Alguém que tenha o hash de uma mensagem pode determinar se a mensagem está intacto. 

Este método é usado, por exemplo, no protocolo BitTorrent: o arquivo .torrent hashes dos pedaços de dados, e os dados são verificados para verificar se tem o mesmo hashes após o download dos peers. Se o hash de um pedaço de dados baixado não coincide com a do arquivo .torrent, tal peça é rejeitada e baixada posteriormente de outra pessoa. Como resultado, os pares não conseguem enviar dados falsos e forçar downloader para aceitá-lo.


[P.20]

Bibliografia:
https://pt.wikipedia.org/wiki/Blockchain
https://pt.wikipedia.org/wiki/Bitcoin
https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_hash_criptogr%C3%A1fica
https://pt.wikipedia.org/wiki/Criptografia
https://s3.amazonaws.com/bitriches/btc-guide.pdf

Comentários

Postagens mais visitadas