Como algoritmos criptográficos e hash protegem blockchains

Computação distribuída, design de mecanismo e algoritmos de criptografia formam a sagrada trindade da tecnologia blockchain. A computação distribuída utiliza uma rede descentralizada de computadores e existia antes dos blockchains na forma de redes de torrent.

No entanto, os sites de torrent não tinham como controlar o comportamento dos participantes, que é onde o design do mecanismo entra no blockchain. Ele fornece o incentivo para os participantes da rede trabalharem para o bem da rede.

A criptografia é o que serve de segurança para proteger esses incentivos. O documento seminal do Bitcoin explicou como esses três princípios científicos podem atuar juntos para formar uma troca de valor ponto a ponto segura que eliminaria a necessidade de terceiros nas transações financeiras.

Embora cada um desses princípios mereça seu próprio explicador, este artigo se concentrará na criptografia e em como os algoritmos de criptografia atendem a cadeias de blocos.

Uma breve história da criptografia

A criptografia de alguma forma existe desde a época do antigo Egito. Antes da era da computação, isso significava usar um algoritmo de criptografia simples chamado cifra para transmitir mensagens. Um dos mais citados é o Cifra de césar, usado por Júlio César para se comunicar com seus generais no Império Romano. A cifra de César substituiu cada letra da mensagem pela letra que vem três lugares depois dela no alfabeto, então A torna-se D, B torna-se E e assim por diante. Enquanto o sistema usado na geração do texto cifrado permanecer secreto, a mensagem também pode permanecer privada.

Júlio César

César fez mais do que apenas fazer ótimas saladas, sabe

Mais tarde, no século 16, Vigenere introduziu o conceito de uma chave de criptografia para algoritmos de criptografia, que podiam descriptografar mensagens codificadas. Usando o Cifra de Vigenere, o texto da mensagem foi transcrito em uma única palavra-chave que é repetida até que corresponda ao comprimento de caracteres da mensagem original. Esta palavra-chave então gera o texto cifrado usando uma tabela.

O desenvolvimento crítico aqui é que a segurança das mensagens transmitidas usando uma cifra Vigener dependia do sigilo da chave, não do sistema em si.

Desenvolvimentos do século 20

O problema com esses tipos de códigos é que eles são facilmente quebráveis ​​pela análise da frequência das letras. Os alemães usaram o Máquina Enigma extensivamente durante a 2ª Guerra Mundial porque era capaz de gerar textos cifrados que não podiam ser quebrados pela análise da frequência das letras.

A máquina usava um sistema de rotores múltiplos para gerar o texto cifrado. Portanto, a letra “e” na mensagem original corresponderia a um intervalo de letras diferentes no texto cifrado. A chave foi a configuração inicial dos rotores.


Máquina Enigma

A Máquina Enigma foi considerada inquebrável

Embora os alemães pensassem que o código era inquebrável, a Enigma era rachado pelo polonês já em 1932. Criptógrafos trabalhando para os militares britânicos em Bletchley Park, incluindo o agora lendário Alan Turing, mais tarde encontraram uma maneira de descobrir as chaves diárias usadas pelos alemães.

The Dawn of Computing

No pós-guerra, as demandas por criptografia no espaço comercial e empresarial aumentaram como meio de proteger os segredos corporativos. Durante a década de 1970, a IBM desenvolveu o algoritmo de criptografia Data Encryption Standard (DES). No entanto, ele usou uma pequena chave de criptografia. Com o surgimento da era da computação, tornou-se fácil aplicar o DES de força bruta e, portanto, havia uma demanda por uma atualização. O Advanced Encryption Standard adotado em 2000.

Embora muitas pessoas possam não estar cientes disso, a criptografia agora faz parte da vida diária. Email e mensagens de texto, senhas e camadas SSL em sites envolvem o uso de criptografia. Ele também forma a espinha dorsal da criptomoeda. tem muitos tipos diferentes de algoritmos de criptografia cobrindo vários casos de uso, muitos deles já obsoletos. No entanto, o uso de criptografia em blockchain compreende assinaturas digitais e hashing.

Assinaturas digitais

Os pagamentos de criptomoeda exigem uma assinatura digital, na forma de uma chave privada. Quando alguém insere sua chave privada em uma transação de pagamento, isso criptografa a transação. Quando o pagamento chega ao destino, o destinatário pode descriptografar a transação usando a chave pública do remetente.

Isso é conhecido como criptografia assimétrica, pois depende de um par de chaves ligadas entre si por criptografia. É mais seguro do que a criptografia simétrica, em que o remetente e o destinatário usam a mesma chave. Nesse caso, a própria chave também deve ser transmitida junto com o pagamento, o que significa que uma camada adicional de segurança seria necessária para proteger a chave.

Hashing

Blockchains também dependem de hash. Hashing é um método criptográfico de converter qualquer tipo de dados em uma string de caracteres. Além de fornecer segurança por meio de criptografia, o hashing cria um armazenamento de dados mais eficiente, pois o hash é de tamanho fixo.

Características dos algoritmos de criptografia de hash

Um algoritmo de hash criptográfico deve cumprir critérios específicos para ser eficaz:

  • A mesma entrada deve sempre gerar a mesma saída. Independentemente de quantas vezes você coloca os dados através do algoritmo de hash, ele deve produzir consistentemente o mesmo hash com caracteres idênticos na string
  • A entrada não pode ser deduzida ou calculada usando a saída. Não deve haver maneira de reverter o processo de hash para ver o conjunto de dados original
  • Qualquer mudança na entrada deve produzir uma saída totalmente diferente. Mesmo mudando a caixa de um caractere em um conjunto de dados deve criar um hash que é significativamente diferente
  • O hash deve ter um número fixo de caracteres, independentemente do tamanho ou tipo de dados usados ​​como entrada
  • A criação do hash deve ser um processo rápido, que não faz uso intenso da capacidade de computação.

Qual é a aparência de um algoritmo de hash

Como um algoritmo de hash gera um hash. Crédito de imagem: Wikimedia Commons

Como funciona o Hashing?

O Blockchains faz o hash de cada transação antes de agrupá-las em blocos. Os ponteiros de hash vinculam cada bloco a seu predecessor, mantendo um hash dos dados do bloco anterior. Como cada bloco está vinculado a seu predecessor, os dados no blockchain são imutáveis. A função hash significa que uma mudança em qualquer transação produzirá um hash totalmente diferente, que alterará os hashes de todos os blocos subsequentes. Para propagar uma mudança pela blockchain, 51% da rede teria que concordar com ela. Portanto, o termo “ataque de 51%”.

Blockchains diferentes usam algoritmos de criptografia diferentes. O blockchain Bitcoin usa o algoritmo SHA256, que produz um hash de 32 bytes. Dogecoin e Litecoin usam Scrypt, que é um dos algoritmos de criptografia mais rápidos e leves.

A criptografia é uma ciência complexa e detalhada, que vai muito além do escopo de apenas blockchain. Há muitas outras leituras disponíveis sobre criptografia, especialmente para os mais inclinados à ciência ou à matemática, é um assunto fascinante com muito a explorar.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map