DEV Community

Omar Baruzzo
Omar Baruzzo

Posted on Originally published at omarbaruzzo.it

Ancorare hash su blockchain è la metà facile — chi li verifica davvero?

Scrivere una root Merkle sulla catena è il lavoro di un pomeriggio. Costruire qualcosa che un terzo sappia davvero verificare è progettazione. Non sono lo stesso progetto, e solo il secondo vale qualcosa.

Una verifica è un calcolo che qualcun altro rifà. Perché sia possibile, quattro cose devono esistere insieme:

  1. La entry — byte per byte come è stata hashata. Rileggerla dal DB e riserializzarla con una classe più recente sposta l'hash, e un hash spostato è indistinguibile da una manomissione.
  2. La proof di inclusione — il percorso di nodi fratelli dalla foglia alla root. Conservata o rigenerabile da chiunque abbia il registro, non solo dalla vostra CLI interna.
  3. La root — a un'altezza di blocco nominabile. «È sulla catena» non è una coordinata; numero di blocco + hash della transazione lo sono.
  4. Un reader che non sia la vostra API. Se il revisore chiama il vostro server per controllare la vostra affermazione, si fida di voi un'altra volta, da un'altra porta.

Come si perde, tutto molto noioso:

  • un refactoring riserializza la entry
  • il generatore di proof esiste solo su un portatile
  • la catena è una che nessuno finanzia più, o una testnet spenta
  • l'applicativo viene dismesso e si porta via il verificatore

Il dato sopravvive a tutti e quattro i casi. Il percorso di verifica no — e senza quello l'ancoraggio è una ricevuta che vi siete scritti da soli.

Trattate il verificatore come un deliverable: serializzazione congelata e versionata, proof esportabili, coordinate on-chain in chiaro, e uno strumento di verifica che gira fuori dal vostro perimetro.

Versione completa: https://www.omarbaruzzo.it/it/blog/la-prova-che-nessuno-verifica

Top comments (0)