Como é construída a raiz de Merkle?
Comece pelo ID de cada transação no bloco, que já é, por si só, um hash SHA-256 duplo. Coloque-os em ordem, com a coinbase primeiro. Junte os hashes vizinhos em pares e aplique hash a cada par. Agora você tem metade dos hashes. Repita até sobrar um: essa é a raiz de Merkle.
Se um nível tiver um número ímpar de hashes, o último é emparelhado consigo mesmo. Altere qualquer transação, mesmo em um único satoshi, e todos os hashes no caminho até o topo mudam, inclusive a raiz. Experimente na demonstração acima.
Por que uma árvore em vez de um único hash grande?
Provas. Para mostrar que uma transação está em um bloco, você só precisa dos hashes ao longo do ramo dela, não do bloco inteiro. Para um bloco com cerca de 4.000 transações, bastam 12 desses hashes, algumas centenas de bytes. O whitepaper de Satoshi descreve carteiras leves que verificam pagamentos desse jeito, mantendo apenas os cabeçalhos dos blocos.
Isso também importa para a mineração. Quando um minerador altera o nonce extra na transação coinbase, a raiz de Merkle muda e o cabeçalho do bloco recebe um novo conjunto de nonces para testar.
Fontes
- Bitcoin: A Peer-to-Peer Electronic Cash System · Satoshi Nakamoto, 2008
- Referência sobre blockchain: cabeçalhos, árvores de Merkle, alvo · Documentação para desenvolvedores do Bitcoin
- Árvore de Merkle · Bitcoin Wiki
Os dados em tempo real desta página vêm da API da CloudMineCrypto e de dados públicos da blockchain, são atualizados regularmente e identificados onde aparecem. Apenas para fins educativos, não são aconselhamento financeiro.