Uma cartilha sobre assinaturas digitais na criptomoeda
As assinaturas digitais desempenham um papel central na segurança das criptomoedas. Aqui explicamos o seu papel na autenticação e como a criptografia moldou a criptomoeda.
As assinaturas digitais desempenham um papel central na segurança das criptomoedas. Aqui explicamos o seu papel na autenticação e como a criptografia moldou a criptomoeda.
O que é uma assinatura digital?
Se alguém quiser provar que uma mensagem foi criada por si, pode criar uma assinatura digital na mensagem para que outros a possam verificar.
Os sistemas de assinatura digital utilizam normalmente criptossistemas assimétricos (como o RSA ou o ECC) e funções de hash. Consulte este artigo sobre criptografia se quiser saber mais sobre estes termos.
As assinaturas digitais são hoje amplamente utilizadas no sector empresarial e financeiro, por exemplo, para autorizar pagamentos bancários, trocar documentos electrónicos assinados, assinar transacções nos sistemas públicos de cadeias de blocos, assinar contratos digitais e em muitos outros cenários.
Como funcionam as assinaturas digitais
Voltemos a utilizar o amor clandestino entre Alice e Bob – o nosso casal de criptomoedas favorito que aparece em muitos dos nossos artigos.
Alice quer finalmente acabar com o Bob, pois já não consegue tolerar o seu amor secreto. Ela escreveu a mensagem ‘Let’s break up’ (que se traduziu em ‘9394’ no ‘Nerd Planet’). Tem medo que o Bob pense que a mensagem não é verdadeiramente dela (talvez a mulher do Bob tenha descoberto a sua relação e roubado a conta da Alice para escrever a mensagem). Por conseguinte, gostaria de anexar a mensagem juntamente com uma assinatura digital e enviá-la a Bob, para que este acredite que a mensagem provém dela.
Utilizando o exemplo acima, esperamos que o leitor possa compreender para que servem as assinaturas digitais e porque é que podem garantir que uma mensagem provém verdadeiramente do remetente da mensagem. As assinaturas digitais combinam de forma inteligente a criptografia simétrica e assimétrica com funções de hash, e a invenção permitiu uma vasta gama de aplicações que requerem comunicação segura e verificação de identidade.
Utilização da criptografia nas criptomoedas
As criptomoedas são chamadas “cripto” porque utilizam criptografia. Nesta secção, utilizando a bitcoin como exemplo, veremos como isto funciona.
Como funcionam as transacções de bitcoin?
Temos um 101 sobre o funcionamento da bitcoin e das suas transacções. Aqui vamos ver o que acontece dentro das transacções para compreender a utilização da criptografia na bitcoin.
A saída de uma transação contém dois campos:
1) um campo de valor para o montante de transferência em satoshis
2) um script pubkey para indicar as condições que devem ser cumpridas para que esses satoshis possam continuar a ser gastos
As figuras abaixo ajudam a ilustrar o fluxo de trabalho de Alice para enviar a Bob uma transação que Bob utiliza mais tarde para gastar essa transação. Tanto Alice como Bob utilizarão a forma mais comum do tipo de transação padrão Pay-To-Public-Key-Hash (P2PKH). O P2PKH permite que Alice gaste satoshis para um endereço Bitcoin típico e, em seguida, permite que Bob gaste ainda mais esses satoshis usando um par de chaves criptográficas simples.
Mais tarde, o Bob decide gastar o UTXO da Alice:
Mineração de Bitcoin e prova de trabalho para verificar transacções
As bitcoins são criadas através da extração mineira. Quando uma transação é criada, é marcada como “não confirmada”. Os mineiros recolhem um conjunto de transacções não confirmadas e tentam criar um bloco que contenha transacções. Para criar um bloco na cadeia de blocos, o mineiro tem de resolver um problema criptográfico complexo, cuja entrada é o bloco e a solução é uma sequência de números no interior do bloco, denominada nonce. Este processo de encontrar o nonce é chamado de mineração de bitcoin e é um processo competitivo que envolve muitos mineiros em todo o mundo.
Existem muitos parâmetros fixos para o bloco na bitcoin, tais como o hash do bloco anterior, as características das transacções no bloco atual, etc. Há apenas um parâmetro que pode ser alterado, chamado nonce. O trabalho do mineiro é encontrar o nonce que pode fazer com que o bloco candidato satisfaça o objetivo de dificuldade. A única forma de encontrar o nonce é tentar diferentes valores possíveis para o nonce, calcular o hash do novo bloco (id do hash do último bloco | bloco com transacções | nonce, onde ‘|’ significa concatenar) e verificar se o hash satisfaz o objetivo de dificuldade (obter uma cadeia que tenha um certo número de zeros à frente).
A tarefa do mineiro é a seguinte:
A prova de trabalho do Bitcoin usa dois hashes SHA-256 sucessivos e originalmente exigia que pelo menos os primeiros 32 dos 256 bits de hash fossem zero. No entanto, a rede bitcoin redefine periodicamente o nível de dificuldade para manter a taxa média de criação de blocos em 10 minutos.
Colocar a criptografia na criptomoeda
Esperamos que agora tenha uma compreensão clara de como as assinaturas digitais funcionam como parte da criptografia e, claro, porque é que a criptografia se chama ‘cripto’! Desde os seus sistemas de segurança profundamente tecidos e cuidadosamente desenvolvidos até à sua capacidade de garantir que os destinatários podem confiar no sistema, a criptografia é um sistema incrivelmente fascinante, maleável – na utilização, não na segurança – e futurista, com tantas possibilidades de avanço. A Bitcoin é apenas o início.
Se quiser mergulhar profundamente no tema da criptografia Leia também o nosso artigo sobre o assunto. Nesta secção, analisamos a evolução da criptografia, o seu funcionamento, os seus fortes sistemas de segurança e abordamos as suas potenciais utilizações.
Referências
1. Alrammahi, M & Kaur, H. (2014). Desenvolvimento do algoritmo de criptografia Advanced Encryption Standard (AES) para o protocolo de segurança Wi-Fi. 10.13140/RG.2.2.20993.97124.
2. Cifras simétricas (n.d.). Obtido em http://www.crypto-it.net/eng/symmetric/index.html
3. Menezes, A. J., C., V. O. P., & Vanstone, S. A. (2001). Cifras de fluxo. Em Handbook of applied cryptography (pp.191-216). Boca Raton: CRC Press.
4. Symmetric ciphers (n.d), Retrieved from http://www.crypto-it.net/eng/symmetric/index.html
5. Kessler G.C (Nov 2019), Uma visão geral da criptografia. Obtido em https://www.garykessler.net/library/crypto.html#types
6. Lane Wagner (junho de 2018). (Muito) Criptografia básica de curvas elípticas. Obtido em https://blog.goodaudience.com/very-basic-elliptic-curve-cryptography-16c4f6c349ed
7. Cryptography Hash functions (n.d.) Retrieved from https://www.tutorialspoint.com/cryptography/cryptography_hash_functions.htm
Partilha com amigos
Pronto para iniciar a sua jornada com a crypto?
Obtenha o seu guia passo a passo para configurar
uma conta com Crypto.com
Ao clicar no botão Enviar, o utilizador reconhece ter lido o Aviso de Privacidade da Crypto.com onde explicamos como utilizamos e protegemos os seus dados pessoais.