Um bloco de Bitcoin pode conter milhares de transações, mas seu cabeçalho tem apenas 80 bytes. Com uma quantidade tão pequena de dados, é possível “travar” cada transação do bloco — e isso é possível graças à árvore de Merkle.

Criptomoeda mencionada no artigo: $BTC cotada a 77,358.01 (24h -0.61%).

【Que tipo de árvore é essa】

Uma árvore de Merkle é uma estrutura em forma de árvore que calcula hashes de grandes quantidades de dados em pares e os combina camada por camada. Na camada inferior fica o hash de cada transação; os hashes de dois elementos adjacentes são concatenados e passam por um novo cálculo de hash, formando a camada acima. Esse processo continua até restar apenas um hash, chamado raiz de Merkle.

Essa estrutura recebeu o nome do criptógrafo Ralph Merkle e foi proposta no final da década de 1970, muito antes do surgimento do blockchain.

【Por que não dá para alterar】

O cabeçalho de cada bloco do Bitcoin registra a raiz de Merkle. Se qualquer transação do bloco for alterada, seu hash muda; essa mudança se propaga até a raiz de Merkle, fazendo também mudar o hash do bloco. Assim, todos os blocos seguintes deixam de corresponder.

Portanto, basta acompanhar esse único hash no cabeçalho do bloco para, na prática, acompanhar todas as transações nele contidas.

【Como uma carteira leve verifica transações】

Para provar que determinada transação está em um bloco, não é necessário ter o bloco inteiro: bastam alguns hashes no caminho entre essa transação e 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, pouco mais de dez hashes são suficientes.

A Verificação Simplificada de Pagamentos (SPV), descrita na seção 8 do white paper do Bitcoin, funciona assim: o cliente leve armazena apenas os cabeçalhos dos blocos e 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】

A prova de reservas das corretoras também usa árvores de Merkle: a plataforma organiza os saldos de todos os usuários em uma árvore de Merkle e divulga o hash raiz. Cada usuário recebe o caminho correspondente ao seu saldo e pode verificar por conta própria se ele foi incluído, sem que os detalhes dos outros usuários sejam divulgados.

【Em resumo】

A ideia da árvore de Merkle é simples: usar um pequeno hash raiz para representar uma grande quantidade de dados. É esse conceito que viabiliza aplicações como carteiras para celular e provas de reservas. O mercado é sempre incerto; pense com antecedência no que fazer caso sua avaliação esteja errada.

Se este conteúdo foi útil, salve-o para consultar mais tarde.