aldofad ha scritto:Ciao a tutti,
ho visto che si è già parlato di bitcoin nel forum da un punto vista qualitativo-utente.
...
Sto cominciando a documentarmi su questo argomento e non riesco a fare il punto. Ad esempio, ho capito che un "miner" si occupa di generare un codice hash per un blocco di transazioni vuote che saranno usate successivamente dalla rete. Per tale compito dispendioso il miner ottiene una piccola ricompensa in bitcoin.
Carissimo
aldofad,
sono settimane che volevo scrivere un articolo a tal proposito, quindi colgo l'occasione di questa tua domanda per dare una prima spiegazione.
Il minatore è colui che si occupa di
convalidare le transazioni.
A tutti gli effetti è come un "impiegato" della banca che controlla che i bonifici siano corretti.
Secondo me il nome è sbagliato o comunque furviante, dovevano chiamarlo "VALIDATORE", ma pazienza.
Vediamo le due cose fondamentali che deve fare il minatore (ad esempio prendiamo bitcoin) :
1. PROCEDURA DI VALIDAZIONE
Deve prendere un tot di transizioni (cioè pagamenti, bonifici) in attesa di conferma, posizionate nella MEMPOOL (
https://blockchain.info/charts/mempool-count).
Un tot significa : fino a riempire uno spazio di circa 1 MB.
A questo punto deve
controllare che le transizioni siano congruenti con i blocchi precedenti della blockchain (cioè che qualche furbo non si sia inventato di generare "soldi" dal nulla, o fare un double-spending con la stessa cifra).
2. LOTTERIAPoi, deve generare l'Hash del nuovo blocco (il contenitore delle ultime di transazioni).
Questo Hash deve rispondere alle caratteristiche richieste dal sistema (di solito deve iniziare con 5 Zeri).
Ad esempio il bitcoin Block #455867 ha questo Hash
0000000000000000001f827d050caeac5b815328849dd25dfd8d2fefc4de61e1
Se il minatore riesce in questo difficile compito, il blocco è confermato ed entra a far parte della Blockchain.
E gli utenti si vedono passare la propria operazione da PENDING a CONFERMATA.
E il minatore si prende 12,5 Bitcoin, generati a nuovo dal sistema.
....buona parte dei quali vanno per pagare la sua bolletta elettrica !!!
Se invece il calcolo è sbagliato deve riprovare inserendo nel Header del blocco un campo fittizzio (nonce) con dei numeri sparati a caso finché non riesce ad azzeccare la "lotteria", cioé l'hash corretto.
Sempre che un altro minatore, in qualche altra parte del mondo, non sia più veloce di lui.
A questo punto si cancella tutto e si ricomincia dal punto 1.
Ultime 2 cose :
a) Di solito ci vogliono circa 10 minuti affinché un minatore bitcoin riesca a calcolare l'Hash corretto.
Mentre per Ethereum bastano 15 secondi.
b) I minatori non devono scrivere software : usano quelli Open-Source creati dagli sviluppatori della moneta.
Per vedre il contenuto dei blocchi si può usare il block-explorer della relativa moneta elettronica.
Ad esempio
https://blockchain.info/ , oppure
https://etherscan.io/ecc...
Per vedere come funziona l'algoritmo di Hash SHA256 di bitcoin, puoi vedere qui su Wikipedia
https://it.wikipedia.org/wiki/Secure_Hash_AlgorithmSpero di averti aiutato.
Ringrazio
rugweri per avermi gentilmente segnalato la questione.