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 «proteger» cada transação do bloco usando tão poucos dados.

Criptomoeda relacionada: $BTC cotada a 75,016.01 (24h -1.03%).

Que tipo de árvore:

Uma árvore de Merkle é uma estrutura em árvore que combina grandes volumes de dados em pares, aplicando hashes e juntando os resultados camada por camada. Na camada mais baixa fica o hash de cada transação; os hashes de cada par adjacente são concatenados e passam por uma nova função hash, formando a camada seguinte. O 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 é difícil alterar:

O cabeçalho de cada bloco do Bitcoin contém 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, o hash do bloco também muda e os blocos seguintes deixam de corresponder.

Portanto, basta acompanhar esse único hash no cabeçalho do bloco para acompanhar 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 do 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 uma dezena de hashes é suficiente.

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, ao solicitar a um nó um caminho de Merkle, pode 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 publica o hash 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 sejam divulgados.

Minha opinião:

A ideia das árvores de Merkle é simples: usar um hash raiz curto para representar uma grande quantidade de dados. É esse design que torna possíveis aplicações como carteiras para celular e provas de reservas. Não invista pesado em produtos que você ainda não entende; experimente primeiro com pequenas quantias.

Você já conhecia isso?

Dê uma olhada, mas não faça igual. Decida por conta própria.