Uma prova Merkle na blockchain é uma prova criptográfica que permite a alguém verificar que uma peça específica de dados (como uma transação) está incluída num conjunto de dados maior (como um bloco na blockchain) sem ter que revelar ou transferir o conjunto completo de dados. la aproveita as propriedades das árvores Merkle (também conhecidas como árvores hash), que são estruturas de dados com uma impressão digital digital de todo o conjunto de transações numa blockchain, para organizar e verificar grandes quantidades de dados
Uma árvore Merkle é uma árvore binária onde as folhas da árvore representam peças individuais de dados (como transações). Cada nó não-folha na árvore é um hash dos seus dois nós-filho, e a raiz da árvore, denominada raiz Merkle, é um único hash que representa todos os dados na árvore.
Para provar que um dado específico (por exemplo, uma transação) faz parte da árvore Merkle, é necessário apenas um pequeno subconjunto da árvore — especificamente, o caminho da transação (nó folha) até a raiz Merkle. Esse caminho inclui o hash da transação de destino e os hashes dos nós irmãos ao longo do caminho até à raiz Merkle.
O verificador, que conhece a raiz Merkle, pode usar a prova Merkle para fazer o hash da transação e dos hashes intermediários e comparar o hash final calculado com a raiz Merkle conhecida. Se o hash calculado corresponder à raiz Merkle, o verificador pode ter certeza de que a transação é realmente parte do conjunto de dados (bloco) sem precisar dos dados do bloco inteiro.
Os verificadores podem confirmar a inclusão de uma transação sem transferir todo o bloco ou conjunto de dados, economizando largura de banda e armazenamento. Além disso, a natureza criptográfica das provas Merkle garante que a alteração de qualquer dado (como uma transação) na árvore produziria uma raiz Merkle completamente diferente, tornando fácil detetar adulterações e atividades maliciosas.
