Merkle Tree

Intermediário
Uma Merkle Tree (Árvore de Merkle) é uma forma de organizar e estruturar grandes quantidades de dados para torná-los mais fáceis de processar. No caso das criptomoedas e da tecnologia blockchain, a Merkle Tree é usada para estruturar os dados das transações de uma forma que exige menos recursos.
Quando uma transação de criptomoeda é realizada em uma estrutura de Merkle Tree, ela é submetida à uma função de hashing e recebe um valor de hash correspondente. Depois do hashing da transação na Merkle Tree, os valores de hash produzidos são emparelhados com outro valor de hash e, em seguida, submetidos à uma nova função de hashing. Por exemplo, os valores de hash 'AB' e 'AC' são combinados para criar 'ABC'.
Repete-se o processo de emparelhar valores de hash até que um valor de hash final seja produzido. O valor de hash final - conhecido como Merkle root ou raiz de Merkle - fornece um resumo de todas as transações que ele contém. O resumo da Merkle Root é então inserido no cabeçalho do bloco.


Segurança de dados

Uma estrutura de Merkle Tree fornece um registro de fácil acesso das transações em um bloco. Portanto, é muito simples verificar se os dados em um bloco foram alterados ou adulterados. Qualquer alteração em uma transação (ou qualquer outro dado relacionado) na Merkle Tree resultaria em uma Merkle Root correspondente totalmente diferente.


Uso eficiente de recursos

Se as criptomoedas não utilizassem Merkle Tree, cada solicitação de verificação envolveria o envio de enormes quantidades de dados por toda a rede. Estruturar dados de transações em uma Merkle Tree é um uso muito mais eficiente de recursos. Para validar uma transação, não é necessário ter uma cópia completa do ledger (livro razão), pois os dados de transações resultantes do hashing podem ser verificados em uma Merkle Root. Isso requer o envio de menos informações entre os nodes da rede e, consequentemente, menos poder computacional para analisar a integridade dos dados.

As Merkle Trees são usadas em verificações de Proof of Reserves (PoR). Em uma verificação de PoR, os auditores garantem que os custodiantes, como corretoras de criptomoedas, estão mantendo os fundos de seus clientes integralmente. O auditor tira um snapshot de todos os saldos de contas na corretora e, em seguida, converte os dados dos fundos em uma Merkle Tree.

Existem outras maneiras de usar uma Merkle Tree. A estrutura da Merkle Tree também permite que os usuários verifiquem se uma transação específica foi incluída em um bloco sem a necessidade de fazer o download de toda a blockchain. Essa tecnologia é uma ferramenta importante para que o setor de criptomoedas organize os dados das transações e funcione com eficiência. Sem Merkle Trees, é provável que um aumento na demanda por recursos resulte em menos nodes participando da rede.