No history yet

Estrutura e Hashing

A Anatomia de um Bloco

Cada bloco numa blockchain é como um cofre digital seguro. A sua segurança não vem de uma fechadura e chave, mas da matemática. No centro deste sistema está uma função de resumo criptográfico, ou hash. Para o Bitcoin, o algoritmo escolhido é o SHA-256 (Secure Hash Algorithm 256-bit).

Pense num hash como uma impressão digital digital única para qualquer conjunto de dados. É uma sequência de letras e números de tamanho fixo que representa os dados originais. Mesmo uma pequena alteração nos dados de entrada - como mudar uma única letra num livro inteiro - resulta numa impressão digital completamente diferente e irreconhecível.

Esta propriedade, conhecida como efeito avalanche, é fundamental. Garante que, uma vez que os dados são adicionados a um bloco e o seu hash é calculado, ninguém pode alterar esses dados sem que todos na rede percebam imediatamente. O hash antigo já não corresponderia, quebrando a cadeia.

O Cabeçalho do Bloco: O ADN da Cadeia

Embora um bloco possa conter milhares de transações, a sua identidade criptográfica resume-se a uma pequena e crucial secção: o cabeçalho do bloco (block header). É o cabeçalho que é repetidamente hasheado durante o processo de mineração. A estrutura de um cabeçalho de bloco do Bitcoin é concisa e contém seis componentes essenciais.

ComponenteTamanho (Bytes)Descrição
Versão4O número da versão do software do bloco, para rastrear atualizações de protocolo.
Hash do Bloco Anterior32O hash do cabeçalho do bloco anterior, que liga criptograficamente a cadeia.
Merkle Root32O hash de topo de uma estrutura de dados chamada Árvore de Merkle, que resume todas as transações no bloco.
Timestamp4A hora aproximada em que o bloco foi criado, em segundos desde 1970.
Bits (Dificuldade)4O alvo de dificuldade que o hash do bloco deve atingir para ser válido.
Nonce4Um número arbitrário que os mineradores alteram para encontrar um hash válido.

Os mineradores pegam nestes seis componentes, concatenam-nos e aplicam o SHA-256 duas vezes para produzir o hash do bloco. Este é o número que deve satisfazer a condição de dificuldade da rede, como começar com um certo número de zeros. O Nonce é a única peça que os mineradores podem alterar livremente, iterando através de biliões de valores por segundo até que um deles produza um hash vencedor.

Árvores de Merkle: Verificação Eficiente

Como pode um único hash de 32 bytes no cabeçalho, a , representar milhares de transações? A resposta está numa estrutura de dados engenhosa chamada Árvore de Merkle (Merkle Tree). Em vez de hashear todas as transações juntas num grande bloco, cada transação é hasheada individualmente.

Estes hashes são então organizados em pares. Cada par é concatenado e hasheado novamente, criando um novo hash no nível acima. Este processo repete-se, subindo na árvore, com cada nível a ter metade dos hashes do nível abaixo, até que reste apenas um único hash no topo: a Raiz de Merkle. Esta estrutura permite que a rede verifique se uma transação está incluída num bloco de forma muito eficiente, sem precisar de processar todas as transações.

Lesson image

O encadeamento de blocos é o que dá nome à blockchain. Cada novo bloco inclui o "Hash do Bloco Anterior" no seu próprio cabeçalho. Este ato de incluir a impressão digital do pai no ADN do filho cria uma ligação inquebrável. Se um atacante tentasse alterar dados num bloco antigo, o hash desse bloco mudaria. Consequentemente, o campo "Hash do Bloco Anterior" no bloco seguinte estaria incorreto, invalidando-o. Essa invalidação propagar-se-ia em cascata por toda a cadeia, tornando a fraude computacionalmente impossível de esconder. É esta interdependência, selada pela criptografia, que cria a imutabilidade da blockchain.

Quiz Questions 1/5

Qual é a principal função de resumo criptográfico (hash) utilizada pelo Bitcoin?

Quiz Questions 2/5

O que aconteceria na blockchain se um atacante alterasse os dados de uma transação num bloco antigo?

Agora que vimos a mecânica interna de um bloco, podemos apreciar como a criptografia e estruturas de dados inteligentes se unem para criar um registo digital seguro e imutável.