Ultima modifica:
Ciao a tutti. Per comprendere meglio il funzionamento delle criptovalute e della blockchain, mondo di cui sono nuovo quindi abbiate pazienza con eventuali errori XD, ho provato a scriverne una in Java, dopo essermi informato leggendo e vedendone delle spiegazioni online, sul funzionamento di questa. Ho tentato di simulare i dati che caratterizzano le criptovalute, inserendo nel calcolo dell'hash (SHA256) l'orario, l'importo, l'hash del mittente, quello del ricevente e l'hash del blocco precedente, di una ipotetica transazione.
Tutto funzionava, se provavo a manometterla si "corrompeva", se generavo anche fino a 100.000 blocchi senza modificarne alcuno, venivano tutti convalidati con successo.
Poi venne il momento di aggiungere una proof of works (argomento che purtroppo non mi è ancora totalmente chiaro, ma che sto approfondendo) per simulare un ipotetico "mining" (detto in parole povere).
E qui mi sono chiesto, ma cosa impedisce ad un'utente di modificare il tempo della proof of works all'interno del codice sorgente dei Bitcoin e di altre criptovalute? Come si impedisce ciò?
Tutto funzionava, se provavo a manometterla si "corrompeva", se generavo anche fino a 100.000 blocchi senza modificarne alcuno, venivano tutti convalidati con successo.
Poi venne il momento di aggiungere una proof of works (argomento che purtroppo non mi è ancora totalmente chiaro, ma che sto approfondendo) per simulare un ipotetico "mining" (detto in parole povere).
E qui mi sono chiesto, ma cosa impedisce ad un'utente di modificare il tempo della proof of works all'interno del codice sorgente dei Bitcoin e di altre criptovalute? Come si impedisce ciò?