Árvore de Merkle

Uma Árvore de Merkle é uma estrutura de dados em árvore usada para resumir e verificar a integridade de grandes conjuntos de dados, comumente usada na tecnologia blockchain.

Árvores de Merkle, também conhecidas como árvores de hash, são um componente fundamental da tecnologia blockchain. Elas codificam e verificam eficientemente a integridade dos dados. Cada nó folha na árvore representa o hash de um bloco de dados, e cada nó não folha é o hash de seus nós filhos. Essa estrutura permite uma verificação eficiente dos dados sem a necessidade de baixar todo o conjunto de dados.

A raiz da Árvore de Merkle, conhecida como Merkle Root, serve como uma única impressão digital para todo o conjunto de dados. Ao comparar o Merkle Root, pode-se determinar rapidamente se algum dado foi alterado. Isso é crucial para garantir a segurança e a imutabilidade dos dados da blockchain. As Árvores de Merkle são usadas em várias aplicações de blockchain, incluindo Bitcoin e Ethereum, para gerenciar e verificar eficientemente dados de transações.

        graph LR
  Center["Árvore de Merkle"]:::main
  Pre_hashing["hashing"]:::pre --> Center
  click Pre_hashing "/terms/hashing"
  Pre_cryptography["cryptography"]:::pre --> Center
  click Pre_cryptography "/terms/cryptography"
  Pre_data_structures["data-structures"]:::pre --> Center
  click Pre_data_structures "/terms/data-structures"
  Rel_zero_knowledge_proof["zero-knowledge-proof"]:::related -.-> Center
  click Rel_zero_knowledge_proof "/terms/zero-knowledge-proof"
  Rel_object["object"]:::related -.-> Center
  click Rel_object "/terms/object"
  Rel_atomic_swap["atomic-swap"]:::related -.-> Center
  click Rel_atomic_swap "/terms/atomic-swap"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explique como se eu tivesse 5 anos

Etiqueta mestre para tudo.

🤓 Expert Deep Dive

Merkle Trees provide a cryptographic primitive for efficient set reconciliation and data verification in distributed systems. The security relies on the collision-resistance and one-way properties of the underlying [hash function](/pt/terms/hash-function) (e.g., SHA-256). A Merkle Proof consists of the sibling hashes along the path from a leaf to the root. The size of the proof is logarithmic with respect to the number of data blocks (O(log n)). This logarithmic complexity is crucial for scalability in systems with vast datasets. Variations exist, such as Merkle Patricia Trees (used in Ethereum), which incorporate key-value storage and allow for more complex state representation by hashing not just data blocks but also node pointers and intermediate states. Vulnerabilities can arise from weak hash functions or improper implementation, but a correctly constructed Merkle Tree offers strong guarantees against data tampering. The Merkle Root acts as a trust anchor for verifying entire datasets.

🔗 Termos relacionados

📚 Fontes