Recentemente reli os fundamentos do blockchain e percebi que muitos não compreendem exatamente como funciona a verificação da integridade dos dados nas criptomoedas. Tudo se resume a uma estrutura elegante, criada por Ralph Merkle no início dos anos 80.



Imagine que está a descarregar um ficheiro enorme, digamos, 50 gigabytes. Normalmente, os desenvolvedores fornecem-lhe um hash desse ficheiro para que possa verificar se descarregou exatamente o que é necessário. Mas se o ficheiro for corrompido durante o download, tem de começar tudo de novo. É aqui que entra a árvore de Merkle - um sistema que divide um grande volume de dados em pedaços e cria uma representação compacta de todo o ficheiro.

Como é que isto funciona? Vamos pegar um ficheiro dividido em oito partes (chamemo-las A, B, C, D, E, F, G, H). Cada parte é processada através de uma função de hash, obtendo-se oito hashes. Depois, combinamos cada par de hashes e voltamos a fazer o hash. Obtemos assim quatro hashes. Repetimos o processo - ficamos com dois hashes. Hashamos estes dois juntos e obtemos o hash final, a raiz de Merkle. Assim, temos uma estrutura semelhante a uma árvore invertida, com folhas na parte inferior e uma única raiz no topo.

O que há de especial nisso? Se pelo menos um bit de dado for alterado, a raiz de Merkle mudará completamente. Isto fornece-nos uma forma poderosa de verificação - um único hash representa todos os dados. E se algo estiver errado, podemos rapidamente identificar qual o fragmento danificado, sem precisar de verificar tudo de uma vez.

Agora, sobre a blockchain. O Bitcoin e outras criptomoedas usam árvores de Merkle em cada bloco. Imagine o bloco como um recipiente com milhares de transações. Em vez de hashificar todas as transações a cada vez, os mineradores calculam a raiz de Merkle uma única vez e colocam-na no cabeçalho do bloco. Durante o processo de mineração, só precisam de hashificar o cabeçalho compacto, e não todo o bloco com milhares de transações. Isto poupa uma quantidade enorme de recursos computacionais.

Há ainda outra vantagem - a verificação simplificada de pagamentos. Se tiver um cliente leve no smartphone, não precisa de descarregar toda a blockchain. Pode solicitar uma prova de Merkle - uma prova especial que mostra que a sua transação está realmente no bloco. Para isso, basta alguns hashes, e não todos os dados.

Em resumo, a árvore de Merkle é uma das tecnologias que tornam o blockchain praticamente utilizável. Sem ela, os blocos seriam muito maiores, a rede mais lenta, e os clientes leves não conseguiriam verificar transações. Uma estrutura de dados simples, mas genial, que está na base da criptografia do blockchain.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
Adicionar um comentário
Adicionar um comentário
Nenhum comentário
  • Fixado