Anúncios incomodam? Ir Sem anúncios Hoje

Gerador e Visualizador de Árvore de Merkle

DadosDesenvolvedorSegurança
ANUNCIADO Remover?
Como cada linha é interpretada antes do hashing.
O que fazer quando um nível tem um número ímpar de nós.
Como os hashes das filhas esquerda e direita são combinados antes de serem re-hashados.

Raiz Merkle

Diagrama da árvore

Exportação JSON

Clique em qualquer nó da árvore para copiar seu hash. A raiz Merkle é o único impresso do conjunto completo de folhas — mudar qualquer folha muda a raiz.
ANUNCIADO Remover?

Guia

Gerador e Visualizador de Árvore Merkle

Gerador e Visualizador de Árvore de Merkle

Cole uma lista de valores, escolha uma função de hash e veja imediatamente uma árvore Merkle visual com todos os hashes dos nós intermediários e a raiz Merkle final. Escolha SHA-256, SHA-1 ou Keccak-256 (a função de hash usada pelo Ethereum), ajuste a regra de folha ímpar do estilo Bitcoin ou a convenção de concatenação ordenada do OpenZeppelin, e exporte a árvore completa como JSON. Clique em qualquer nó no diagrama para copiar seu hash para a área de transferência.

Como usar

  1. Insira suas folhas no campo de texto, um valor por linha. Experimente o botão de exemplo para um conjunto rápido.
  2. Escolha uma função de hash: SHA-256 para uso geral, SHA-1 para sistemas legados ou Keccak-256 para raízes compatíveis com o Ethereum.
  3. Escolha como cada linha deve ser interpretada: como texto UTF-8 (padrão) ou como uma string hexadecimal já hashada.
  4. Escolha uma regra de folha ímpar e um modo de concatenação de pares que corresponda ao protocolo que você está alvo.
  5. Leia a raiz Merkle, role o diagrama SVG e baixe a exportação em JSON para ferramentas downstream.

Características

  • Três funções de hash – SHA-256, SHA-1 e Keccak-256 cobrem os casos comuns do Bitcoin, sistemas legados e do Ethereum.
  • Diagrama interativo SVG – Cada nó é clicável para cópia; os nós fantasmagóricos duplicados são desenhados com borda tracejada para que a estrutura seja honesta.
  • Estratégias de folhas ímpares – Alternar entre duplicar a última (convenção do Bitcoin) e promover a última (carregar a folha não-pareada para cima sem alteração) para corresponder ao protocolo alvo.
  • Modo de pares ordenados – Ative a concatenação ordenada do estilo OpenZeppelin quando precisar de raízes compatíveis com a popular biblioteca MerkleProof do Solidity.
  • Entrada hexadecimal pré-hashada – Pule a hashificação da folha inteiramente ao colar digítos hexadecimais diretamente, útil quando as folhas subjacentes são grandes ou já estão canônicas.
  • Exportação em JSON – Baixe uma cópia completa de todos os níveis, todos os hashes dos nós e os parâmetros escolhidos para reproduzibilidade.

Perguntas frequentes

  1. O que é uma árvore Merkle?

    Uma árvore Merkle é uma árvore binária de hashes criptográficos. As folhas são hashes dos dados de entrada, e cada nó pai é o hash da concatenação de seus dois filhos. O único hash na parte superior — a raiz Merkle — imprime todo o conjunto de dados: alterar qualquer folha altera a raiz. As árvores Merkle permitem provar que um valor específico pertence a um conjunto apenas compartilhando um número logarítmico de hashes de irmãos (a prova Merkle), o que é o motivo de elas impulsionar cabeçalhos do Bitcoin, estados do Ethereum, commits do Git e logs de Transparência de Certificados.

  2. Por que o Bitcoin duplica a última hash quando um nível tem um número ímpar de nós?

    Para manter a construção estritamente binária, o Bitcoin completa níveis com número ímpar duplicando a hash da direita para que ela possa ser parada com si mesma. Isso é fácil de implementar, mas introduz um defeito conhecido de segunda preimagem (CVE-2012-2459), onde um atacante pode, em alguns casos, criar uma lista diferente de folhas que produz a mesma raiz. Designes mais recentes preferem uma regra de 'promover' — levantar a hash não-pareada sem alteração — ou tags de separação de domínio entre hashes internos e folhas para fechar a lacuna.

  3. Como o Keccak-256 difere de SHA-256 e SHA3-256?

    O Keccak-256 é a construção original do sponge que venceu a competição NIST para SHA-3. Antes da padronização, a NIST mudou a regra de preenchimento, produzindo o SHA3-256, que é incompatível byte a byte com o Keccak-256 pré-padronização. O Ethereum fixou o Keccak-256 original antes da mudança, então a função 'keccak256' no Solidity não é a mesma que o SHA3-256. O SHA-256 faz parte da família SHA-2 independente e usa uma construção Merkle–Damgård; compartilha apenas o padrão de nome.

  4. Por que algumas bibliotecas Merkle ordenam os pares antes de hashar?

    Ordenar os hashes da esquerda e da direita antes da concatenação torna o hash do nó pai independente de qual filho é 'esquerdo' e qual é 'direito'. Isso significa que uma prova Merkle precisa apenas incluir hashes de irmãos, e não bits direcionais, o que torna as provas cerca de 30% menores na cadeia e o contrato verificador muito mais simples. A biblioteca MerkleProof.sol do OpenZeppelin usa essa convenção; os cabeçalhos clássicos do Bitcoin e do Ethereum não o fazem. A versão ordenada é principalmente vista em listas de airdrop, snapshots de governança e outros compromissos off-chain.

Quer eliminar anúncios? Fique sem anúncios hoje mesmo

Instale nossas extensões

Adicione ferramentas de IO ao seu navegador favorito para acesso instantâneo e pesquisa mais rápida

Ao Extensão do Chrome Ao Extensão de Borda Ao Extensão Firefox Ao Extensão Opera

O placar chegou!

Placar é uma forma divertida de acompanhar seus jogos, todos os dados são armazenados em seu navegador. Mais recursos serão lançados em breve!

ANUNCIADO Remover?
ANUNCIADO Remover?
ANUNCIADO Remover?

Notícias com destaques técnicos

Envolver-se

Ajude-nos a continuar fornecendo ferramentas gratuitas valiosas

Compre-me um café
ANUNCIADO Remover?