O hashing

Picture of Nalimboi

Nalimboi

Índice

Índice

Hashings desempenham um papel fundamental na segurança de transações cripto. Se você é o menos curioso, você pode já ter notado estes famosos hashes de transação ou bloqueios enquanto navega na Web3. Talvez você tenha lido em algum lugar, sem muita explicação, que eles são o que torna possível proteger uma grande parte dos vários blockchains em uso hoje.

O que significa hashHash Uma função criptográfica que converte dados de entrada em uma cadeia alfanumérica de tamanho fixo.?

What we call ‘hashing‘ simply defines a mathematical function or algorithm which takes as input a certain type of data (a sentence, an entire book, transaction data) and returns as output a sequence of characters of a fixed length.

O principal objetivo das funções de hash é garantir a transferência de dados ou informações entre dois sistemas que, por padrão, não têm meios para garantir a segurança da troca. Existem muitos algoritmos de hash diferentes, e o algoritmo de hash SHA-256, por exemplo, é particularmente conhecido por seu uso na blockchainBlockchain Um livro-razão público e imutável de transações criptográficas, organizado em blocos. do Bitcoin para garantir a segurança total das transações e trocas.
A particularidade do hash é, em primeiro lugar, o seu princípio de irreversibilidade: um algoritmo de hash pode tomar os dados recebidos e convertê-los em um hash, mas um hash não pode revelar os dados utilizados em primeiro lugar.

Um exemplo de hashing


Para entender melhor como o hash protege as trocas, vamos dar um exemplo simples
Imaginemos que dois indivíduos, Sam e Caroline, trocam uma mensagem contendo informações cruciais que desejam proteger contra modificação ou interceptação por terceiros.

Depois de receber a mensagem, Sam poderia fornecer a Caroline o hash, e se Caroline conseguir encontrar o mesmo hash na mensagem recebida, isso significa que eles receberam a mesma mensagem e que ela não foi alterada.

Ou ainda mais simples, como medida de segurança, o hash é usado por sites para armazenar sua senha. Imagine que você cria uma conta em um site. Em vez de armazenar a sua senha como ela é (por exemplo: “123456”), o site aplica uma função de hash que transforma essa senha em uma sequência de caracteres como:

e10adc3949ba59abbe56e057f20f883e

Se alguém roubar o banco de dados, eles não serão capazes de usar suas senhas diretamente. Este método é essencial para reduzir os riscos em caso de um ataque cibernético, e quando você deseja fazer login, aplicamos a função de hash à senha fornecida e comparamos os dois hashes se eles forem semelhantes – você digitou a senha correta.

O que dizer sobre blockchain?

Agora que entendemos como o hash protege as trocas, vamos ver como ele é usado para garantir a segurança e integridade de blockchains. Irreversibilidade e anonimização são tudo bem! Mas onde nós realmente usamos isso quando lidamos com uma blockchain como o Bitcoin?

Criando e vinculando blocos

Cada bloco de uma blockchain contém um conjunto de transações. Para garantir que esses blocos sejam seguros e estejam vinculados de forma imutável, cada bloco inclui um hash exclusivo calculado a partir dos dados que contém, bem como o hash do bloco anterior. Esta estrutura de cadeia garante que se alguém alterar os dados em um bloco, o hash desse bloco também muda. Como resultado, todos os blocos subsequentes seriam afetados, tornando qualquer tentativa de adulteração rapidamente identificável.

Validação de transação

Os mineradores na blockchain usam funções de hash para validar transações e criar novos blocos. Durante o processo de mineração, um minerador deve encontrar um número especial, chamado nonce, que, quando combinado com os dados do bloco e passado através da função de hash (como SHA-256), produz um hash que atende a certas condições pré-definidas (um número de zeros no início, por exemplo).
Este processo está no coração do mecanismo de consenso conhecido como Prova de Trabalho (PoW). O hashing torna a mineração difícil e intensiva em recursos, protegendo a rede contra ataques e garantindo a integridade e a ordem das transações.

Graças à irreversibilidade das funções de hash, uma vez que uma transação foi incluída em um bloco e validada pela rede, é praticamente impossível modificá-la. Qualquer tentativa de modificá-lo exigiria recalcular o hash desse bloco e todos os blocos subsequentes, uma tarefa que seria quase impossível de realizar, pois exigiria poder computacional colossal além do resto da rede.

Proof of workProof of Work Um mecanismo de consenso em que os mineradores competem para resolver problemas matemáticos complexos para validar transações e proteger a rede. e sha-256

Bitcoin, por exemplo, usa a função de hash SHA-256 para mineração. Esta função garante que cada entrada produz um hash de comprimento fixo, e que uma pequena mudança na entrada resulta em um hash completamente diferente. Isso é o que torna a blockchain tão confiável e segura. Ao encontrar um nonce que produz um hash que se conforma às regras da rede, os mineradores adicionam novos blocos e recebem recompensas em Bitcoin.

A espinha dorsal da segurança blockchain

O Hashing, com suas características de irreversibilidade e singularidade, é uma tecnologia essencial que garante a integridade, transparência e segurança das blockchains. Ele liga bloqueios, protege transações e protege a rede contra ataques. Sem hash, o ecossistema Web3, as criptomoedas e os muitos casos de uso da blockchain não poderiam funcionar com a confiabilidade que conhecemos hoje. Enquanto o uso de blockchains continua a se diversificar em setores como cripto e finanças, o hashing permanece um pilar tecnológico central. Entender a mecânica do hash nos dará uma melhor compreensão do futuro da segurança digital e das trocas descentralizadas.

Escrito por

READ MORE

Introdução ao Bitcoin

Se você não sabe nada sobre Bitcoin, este artigo é para você.

Metamask

Tudo o que você precisa saber sobre o uso do metamask

Rabby Wallet

Entenda tudo sobre o uso da rabby wallet

Mecanismos de consenso

Os mecanismos de consenso começam com um problema fundamental em informática: o problema dos generais bizantinos