Ciao,
ho un dubbio, il numero nonce è stato inserito per poter permettere la modifica dell'hash sha256 al fine di appesantire il calcolo e rendere possibile un solo blocco ogni 10 minuti in media.
Però questo fatto fa si che, in teoria, chiunque potrebbe sostituire un qualunque blocco passato con uno che ha lo stesso hash ma con informazioni errate che magari gli fanno caricare il suo portafoglio a danno di altri.
Non dico che sia facile ma, introducendo il nonce sarà possibile questa alterazione.
Forse sarebbe stato più sicuro memorizzare nel blocco successivo l'hash del blocco precedente senza nonce e senza l'informazione dell'utente che ha generato l'hash vincitore. Magari si memorizza anche l'hash "vincitore" ma un qualcosa che congeli le transazioni (in formato xml o testo) credo potesse essere piu' sicuro.
L'evento è sicuramente complicato da riprodurre, 256 bit sono 2^256 combinazioni (~10^77), poi sarà anche difficile far credere all'intera rete il blocco artefatto è quello corretto ma se ci si riesce questo si integra nella catena in modo del tutto anonimo.
Ciao
Forse il parametro
Merkle root:
risolve il mio problema di sostituzione di un blocco. Ma non ho capito cosa sia esattamente, è un parametro che viene calcolato tenendo in considerazione tutti i blocchi precedenti?
Provo a rispiegare:
se io riuscissi a creare un blocco che ha l'hash corretto
Supponiamo: http://blockexplorer.com/block/0000000000000e683be88e96a15392e5263f11d4b...
che contiene il riferimento corretto al precedente e ben formattato e coerente con i dati che contiene.
Potrebbe passare inosservato e sostituirsi al blocco corretto?
Nel senso, il blocco successivo sa di essere il successivo perche' conosce l'hash del precedente.
A questo punto io metto nel blocco taroccato un 100.000 BTC su un mio indirizzo prelevandoli da un indirizzo che abbia i fondi necessari o mi genero un premio .... o sostituisco un indirizzo destinazione con uno mio. ...
In sostanza: l'algoritmo ha modo di scovare la mia truffa o digerirebbe il blocco considerandolo buono e corretto?
L'anonimato poi impedirebbe di essere scoperto. In sostanza: puo' essere un buco?
Non voglio sostituire tutta la catena ma solo un blocco. Magari tra 100 anni il blocco di cui sopra (che caso vuole non ha nessuna transazione se non il premio).
Se ho ragione, basterebbe sostituire (o aggiungere) il riferimento all'hash precedente con l'hash dei soli dati che contiene senza i dati
Nonce:
Chi l'ha generato
Allora sarebbe molto piu' difficile generare un hash e rispettare la grammatica del messaggio. Il nonce elimina questo vantaggio.