Les pubs vous déplaisent ? Aller Sans pub Auj.

Générateur et visualiseur d'arbre de Merkle

DonnéesPromoteurSécurité
ANNONCE · Supprimer ?
Comment chaque ligne est interprétée avant hachage.
Quelle action effectuer lorsque un niveau comporte un nombre impair de nœuds.
Comment les hachages des enfants gauche et droit sont combinés avant ré-hachage.

Racine de Merkle

Diagramme de l'arbre

Exportation JSON

Cliquez sur n'importe quel nœud de l'arbre pour copier son hachage. La racine de Merkle est l'empreinte unique de l'ensemble des feuilles — tout changement dans une feuille modifie la racine.
ANNONCE · Supprimer ?

Guide

Générateur et visualiseur d'arbre de Merkle

Générateur et visualiseur d'arbre de Merkle

Collez une liste de valeurs, choisissez une fonction de hachage, et voyez immédiatement un arbre de Merkle visuel avec chaque hachage intermédiaire et la racine finale de Merkle. Choisissez SHA-256, SHA-1 ou Keccak-256 (la fonction de hachage utilisée par Ethereum), ajustez la règle des feuilles impaires au style Bitcoin ou la convention de concaténation triée d'OpenZeppelin, et exportez l'arbre complet au format JSON. Cliquez sur n'importe quel nœud dans le diagramme pour copier son hachage dans le presse-papier.

Comment utiliser

  1. Entrez vos feuilles dans le champ de texte, une valeur par ligne. Essayez le bouton exemple pour un ensemble rapide.
  2. Choisissez une fonction de hachage : SHA-256 pour l'usage général, SHA-1 pour les systèmes hérités, ou Keccak-256 pour les racines compatibles avec Ethereum.
  3. Choisissez la manière dont chaque ligne doit être interprétée : comme du texte UTF-8 (par défaut) ou comme une chaîne hexadécimale déjà hachée.
  4. Sélectionnez une règle des feuilles impaires et un mode de concaténation des paires qui correspond au protocole que vous ciblez.
  5. Lisez la racine de Merkle, défilez le diagramme SVG et téléchargez l'exportation JSON pour les outils de traitement ultérieurs.

Caractéristiques

  • Trois fonctions de hachage – SHA-256, SHA-1 et Keccak-256 couvrent les cas courants de Bitcoin, des systèmes hérités et d'Ethereum.
  • Diagramme SVG interactif – Chaque nœud est cliquable pour copier ; les sœurs fantômes dupliquées sont dessinées avec une bordure pointillée afin que la structure soit honnête.
  • Stratégies pour les feuilles impaires – Alternez entre la duplication de la dernière (convention de Bitcoin) et la promotion de la dernière (porter le nœud non paire vers le haut sans le modifier) afin de correspondre à votre protocole cible.
  • Mode de concaténation triée – Activez la concaténation triée au style d'OpenZeppelin lorsque vous avez besoin de racines compatibles avec la bibliothèque populaire MerkleProof de Solidity.
  • Entrée hexadécimale pré-hachée – Évitez complètement l'hachage des feuilles en collant directement des digests hexadécimaux, utile lorsque les feuilles sous-jacentes sont grandes ou déjà canoniques.
  • Exportation JSON – Téléchargez une copie complète de chaque niveau, de chaque hachage de nœud et des paramètres choisis pour garantir la reproductibilité.

FAQ

  1. Qu'est-ce qu'un arbre de Merkle ?

    Un arbre de Merkle est un arbre binaire d'hachages cryptographiques. Les feuilles sont des hachages des données d'entrée, et chaque nœud parent est l'hachage de la concaténation de ses deux enfants. La seule hachage au sommet — la racine de Merkle — fait servir l'ensemble des données : tout changement dans une feuille modifie la racine. Les arbres de Merkle permettent de prouver qu'une valeur spécifique appartient à un ensemble en partageant uniquement un nombre logarithmique de hachages de frères (la preuve de Merkle), ce qui est la raison pour laquelle ils alimentent les en-têtes de Bitcoin, l'état d'Ethereum, les commits Git et les journaux de Transparence des Certificats.

  2. Pourquoi Bitcoin duplique-t-il la dernière hachage lorsqu'un niveau comporte un nombre impair de nœuds ?

    Pour maintenir la construction strictement binaire, Bitcoin complète les niveaux à nombre impair en dupliquant la dernière hachage afin qu'il puisse être apparié avec lui-même. Cela est facile à implémenter mais introduit un défaut connu de deuxième préimage (CVE-2012-2459) où un attaquant peut parfois concevoir une liste de feuilles différente produisant la même racine. Les nouvelles conceptions préfèrent une règle de « promotion » — porter le nœud non apparié vers le haut sans le modifier — ou des étiquettes de domaine entre les hachages internes et les hachages de feuilles afin de réduire cette lacune.

  3. Comment Keccak-256 est différent de SHA-256 et SHA3-256 ?

    Keccak-256 est la construction initiale de la pompe qui a remporté la compétition NIST SHA-3. Avant la standardisation, NIST a modifié la règle de padding, produisant SHA3-256, incompatible byte pour byte avec le Keccak-256 pré-standardisation. Ethereum a fixé le Keccak-256 original avant ce changement, donc la fonction 'keccak256' en Solidity n'est pas la même que SHA3-256. SHA-256 fait partie de la famille SHA-2 indépendante et utilise une construction Merkle–Damgård ; elle partage seulement le nom de la structure.

  4. Pourquoi certaines bibliothèques de Merkle trient-elles les paires avant hachage ?

    En triant les hachages gauche et droit avant concaténation, la hachage du parent devient indépendant de laquelle des deux est « gauche » ou « droite ». Cela signifie qu'une preuve de Merkle n'a besoin que des hachages de frères, sans bits de direction, ce qui rend les preuves environ 30% plus petites sur la chaîne et simplifie considérablement le contrat vérificateur. La bibliothèque MerkleProof.sol d'OpenZeppelin utilise cette convention ; les en-têtes classiques de Bitcoin et d'Ethereum ne le font pas. La variante triée est principalement utilisée dans les listes d'airdrop, les snapshots de gouvernance et d'autres engagements hors chaîne.

Envie d'une expérience sans pub ? Passez à la version sans pub

Installez nos extensions

Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide

Sur Extension Chrome Sur Extension de bord Sur Extension Firefox Sur Extension de l'opéra

Le Tableau de Bord Est Arrivé !

Tableau de Bord est une façon amusante de suivre vos jeux, toutes les données sont stockées dans votre navigateur. D'autres fonctionnalités arrivent bientôt !

ANNONCE · Supprimer ?
ANNONCE · Supprimer ?
ANNONCE · Supprimer ?

Coin des nouvelles avec points forts techniques

Impliquez-vous

Aidez-nous à continuer à fournir des outils gratuits et précieux

Offre-moi un café
ANNONCE · Supprimer ?