Estruturas de Dados
Olá! Que bom te ver por aqui de novo. Se chegaste até essa parte, parabéns! Isso significa que já entendeste os princípios de segurança da blockchain — agora vamos explorar como ela guarda essas informações de forma estruturada, eficiente e praticamente à prova de fraudes.


Como a Blockchain Organiza a Verdade
A blockchain é como um livro gigante, público e digital, onde cada página representa um bloco de informações. Mas... já paraste pra pensar como esse livro é montado por dentro? Como os dados estão organizados? O que garante que uma informação de ontem continua intacta hoje? É aí que entram as estruturas de dados.
Elas são as engrenagens que tornam possível:
A ligação perfeita entre os blocos
A rápida verificação de transações
A escalabilidade e resistência da rede


1. Linked Lists – A Corrente que Não se Rompe
O que é uma Linked List?
Uma lista encadeada (ou linked list) é uma estrutura de dados onde cada elemento aponta para o próximo. Diferente de listas comuns (como a lista de compras do teu celular), onde todos os itens estão em sequência numa tabela fixa, na linked list cada item contém um link (ou referência) para o próximo item.


Como isso se aplica na blockchain?
Na blockchain, cada bloco contém:
Os dados das transações
O seu próprio hash
E o hash do bloco anterior
Ou seja, os blocos são encadeados como os elos de uma corrente.


Se um elo for alterado, todos os seguintes se quebram – exatamente o que acontece se alguém tenta adulterar um bloco.
Exemplo:A Fila de Espera
Vamos imaginar uma fila de pessoas segurando envelopes transparentes com informações.
Cada pessoa (bloco) escreve o conteúdo do seu envelope e, antes de fechar, anota também o conteúdo do envelope anterior.
Se alguém lá no início tenta mudar qualquer papel dentro do envelope... todos os seguintes perdem a coerência. A sequência deixa de fazer sentido.
Assim é a blockchain: cada bloco conhece o anterior, e essa corrente não pode ser quebrada sem levantar suspeitas por toda a rede.


2. Merkle Trees – A Árvore que Guarda Milhares de Verdades
Agora que já sabemos como os blocos estão conectados entre si, chegou a hora de abrir um bloco e espiar seu interior. O que encontramos lá? Milhares de transações... Mas como garantir que nenhuma delas foi alterada?
A resposta: com uma estrutura chamada Merkle Tree (ou árvore de Merkle).
O que é uma Merkle Tree?
Uma Merkle Tree é uma estrutura de dados em forma de árvore binária.
Ela serve para resumir grandes quantidades de dados em um único hash, chamado de Merkle Root.
Essa raiz representa todo o conteúdo do bloco, de forma compacta, verificável e segura.
Se qualquer dado lá embaixo for alterado, o hash resultante será diferente. Isso quebra a árvore, e o Merkle Root não bate mais. Isso significa que:
A blockchain pode verificar se uma única transação está no bloco com apenas alguns hashes (isso se chama prova de inclusão, ou Merkle Proof).
Você não precisa confiar em ninguém: o sistema prova sozinho que os dados são legítimos.


Cada transação é transformada em um hash:
H1 = hash(T1)
H2 = hash(T2)
H3 = hash(T3)
H4 = hash(T4)


Por fim, esses dois novos hashes são combinados:
H1234 = hash(H12 + H34)

