Merkle tree: verifica di una transazione nel blocco

Nel grafico è presente un Merkle tree con solo 4 foglie, ciascuna rappresenta l’hash finale (txid) di tutti gli elementi di una transazione. Se vogliamo dimostrare che la transazione 1 è presente nel blocco, dobbiamo conoscere quattro hash:

 

Txid1, Txid2, Hash 3-4, Merkle root

 

Infatti da Txid1 e Txid2 possiamo ricavare l’Hash 1-2, il quale accoppiato all’Hash 3-4 produce una Merkle root.

Se la Merkle root così ricavata corrisponde a quella del blocco, la dimostrazione ha avuto successo.

Con questo metodo per dimostrare Txid1 non è necessario memorizzare Txid3 e Txid4.

 

Con Merkle tree grandi, gli hash necessari per la dimostrazione sono una piccola percentuale di tutto il Merkle tree.

 

block verification

Share this page:
Facebooktwitterredditpinterestlinkedinmail

2 Risposte

  1. francesco ha detto:

    Ciao non mi è chiara, la verifica, se sono in possessso solo della root e dell hash della mia transazione come faccio a averificare che appartenga o meno a quel blocco

    • Alberto De Luigi ha detto:

      non basta infatti, come dice il post: se hai la txid1 e la root, devi anche conoscere tx2 e hash3-4, ovvero tutto il merkle branch di quella transazione. Gli SPV clients scaricano solo i block header (col merkle root), ma quando devono verificare una particolare transazione, scaricano dai fullnode anche il branch di quella transazione

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *