Um bloco de Bitcoin pode conter milhares de transações, mas o cabeçalho do bloco tem apenas 80 bytes. É a árvore de Merkle que permite “travar” cada transação do bloco usando apenas uma quantidade tão pequena de dados.
O cabeçalho de cada bloco $BTC registra uma raiz de Merkle, que corresponde a todas as transações daquele bloco. Atualmente: 77,570.01 (24h +0.27%).
📌 Que tipo de árvore é essa?
Uma árvore de Merkle é uma estrutura em forma de árvore que combina grandes volumes de dados aos pares, aplicando hashes em cada etapa e subindo nível por nível. Na camada mais baixa fica o hash de cada transação; os hashes de dois elementos adjacentes são concatenados e passam por outro cálculo de hash, formando a camada acima. Esse processo continua até restar apenas um hash, chamado raiz de Merkle.
Essa estrutura leva o nome do criptógrafo Ralph Merkle e foi proposta no fim da década de 1970, muito antes do blockchain.
📌 Por que não dá para alterar
O cabeçalho dos blocos do Bitcoin registra a raiz de Merkle. Se uma transação do bloco for alterada, seu hash muda. Essa mudança se propaga até a raiz de Merkle, e o hash do bloco também muda, fazendo com que todos os blocos seguintes deixem de corresponder.
Assim, basta acompanhar esse único hash no cabeçalho do bloco para monitorar todas as transações nele contidas.
📌 Como as carteiras leves verificam transações
Para provar que uma transação está em determinado bloco, não é preciso ter o bloco inteiro: bastam alguns hashes ao longo do caminho dessa transação até a raiz de Merkle. Se o número de transações dobrar, será necessário apenas mais um hash. Para um bloco com milhares de transações, uma dezena e poucos hashes é suficiente.
A verificação simplificada de pagamentos (SPV), descrita na seção 8 do white paper do Bitcoin, funciona assim: o cliente leve guarda apenas os cabeçalhos dos blocos e, depois, solicita a um nó um caminho de Merkle para confirmar que a transação foi incluída em um bloco.
📌 Aplicação na prova de reservas
As provas de reservas das corretoras também usam árvores de Merkle: a plataforma organiza os saldos de todos os usuários em uma árvore de Merkle e divulga o hash da raiz. Cada usuário recebe seu próprio caminho e pode verificar por conta própria se seu saldo foi incluído, sem que os detalhes dos outros usuários sejam divulgados.
📌 Para concluir
A ideia das árvores de Merkle é simples: representar uma grande quantidade de dados com um hash raiz bem curto. É esse design que torna possíveis aplicações como carteiras para celular e provas de reservas. Não coloque todos os seus fundos em um único projeto.
Se aprendeu, deixe um 1 nos comentários. Se não entendeu, pergunte à vontade.