Una discussione al bar tra Paolo e Mario

argomento bitcoin

Scritto dalla redazione il 12 novembre 2017

Paolo: Senti Mario, tu che sei un informatico, mi spieghi come funziona la produzione di bitcoin, ti raccomando però, non usare termini tecnici, lo sai che io ne capisco poco
Mario: OK, cercherò di usare un linguaggio semplice
Paolo: Parto subito con una domanda banale, perchè chi produce bitcoin si chiama "minatore" e non, ad esempio "coniatore". Chissà perchè, visto il valore a cui è arrivato il bitcoin, associo questo termine alla corsa all'oro californiana
Mario: In effetti l'estrazione di bitcoin ha molto analogie con quella dell'oro e il periodo di febbrile migrazione di lavoratori in aree nelle quali si verificò la scoperta di notevoli quantità di oro può essere paragonata alla migrazione attuale di aziende ed esperti informatici di tutto il mondo verso questo settore. Il termine minatore è stato preso direttamente dal documento da cui è partito tutto (https://bitcoin.org/bitcoin.pdf) in cui, in un paragrafo: "The steady addition of a constant of amount of new coins is analogous to gold miners expending resources to add gold to circulation", l'autore (o gli autori) dato che non si sa chi ha effettivamente scritto quel documento, paragona la produzione di nuove monete all'estrazione dell'oro
Paolo: E' vero che pure io, con il mio PC, posso "minare" bitcoin? Ho cercato su internet ma non ci ho capito molto
Mario: Su internet c'è molto materiale, molte istruzioni, consigli, spiegazioni ma bisogna stare attenti a quando sono stati scritti perchè, come ti spiegherò più avanti, l'estrazione dei bitcoin, un po' come quella dell'oro, inizialmente era più semplice, ora è pressochè impossibile produrre alcunchè con il proprio hardware.
Paolo: Bene, dato che io non posso produrre bitcoin, chi lo può fare?
Mario: Solo grosse aziende o pool, cioè reti di PC. Attualmente il grosso della produzione viene fatta da aziende o pool cinesi (in questo video o in questo articolo i "minatori" del futuro)
Paolo: Ho letto che queste aziende spostano i propri server nei posti dove l'elettricità è più a buon mercato, me la spieghi questa cosa, cosa c'entra il costo dell'elettricità con i bitcon?
Mario: OK, stiamo arrivando al fulcro del discorso, come si producono o estraggono i bitcoin? Per rispondere a questa domanda mi sforzerò di usare esempi del mondo reale e non digitale. Tu hai mai giocato a lotto o superenalotto o altri giochi simili?
Paolo: Sì
Mario: Hai mai sentito parlare di combinazioni e calcolo delle probabilità?
Paolo: Ho ricordi scolastici, ma, diciamo di sì, qualcosa ricordo, continua pure
Mario: La probabilità di fare 6 punti a superenalotto è di 1 su 622614630, ovvero quante sono tutte le combinazioni possibili di sestine di numeri da 1 a 90, la prima sestina sarà 1,2,3,4,5,6 la seconda 1,2,3,4,5,67 fino ad arrivare a 85,86,87,88,89,90
Paolo: Scusa se ti interrompo, ma non la stai prendendo molto alla larga, cosa c'entra il gioco con il bitcoin?
Mario: Fidati, anche quello è un gioco ...
Paolo: OK, continua
Mario: Mettiamo il caso volessi fare un sfida tra computer
Paolo: Una sfida?
Mario: Sì, io estraggo 6 numeri casuali, mettiamo 2,12,51,71,74,83 e premo start su due computer programmati per calcolare tutte le 622614630 combinazioni, il primo che trova la combinazione 2,12,51,71,74,83 vince
Paolo: Insomma, una sfida di potenza computazionale, chi è più potente, con una CPU più veloce, calcolerà le combinazioni in minor tempo e vincerà la sfida
Mario: Bravo, c'è però un problema, i computer attuali 600 milioni di combinazioni li fanno in una frazione di secondo, abbiamo bisogno di alzare il livello di complessità
Paolo: Ricordati la promessa iniziale, non andare troppo sul tecnico altrimenti non ti seguo più
Mario: No, no, rimaniamo sempre nel gioco, nel far giocare i computer ma stavolta con sfide più serie ... per loro. Introduciamo solo un altro concetto, i numeri primi, ti ricordi cosa sono?
Paolo: I numeri primi sono tutti i numeri naturali divisibili solamente per 1 e per se stessi
Mario: Esatto, ora facciamo questo prova, ti dico un numero, che è il risultato di una moltiplicazione e tu mi rispondi con i suoi fattori
Paolo: Vedo che vuoi mettere alla prova le mie abilità matematiche, ok dimmi
Mario: 55
Paolo: 5 x 11
Mario: Bravo, ora 86
Paolo: 2 x 43
Mario: OK, 8616460799 ?
Paolo: Ma scherzi, mi prendi in giro, come faccio a trovare a mente i fattori di un numero così lungo?
Mario: Nel 1874 William Stanley Jevons scriveva nel suo libro I Principi della scienza: "Può il lettore dire quali sono i due numeri moltiplicati tra loro che produrranno il numero 8616460799? Penso che sia improbabile che qualcuno ci riesca, a parte me stesso."
Paolo: Un furbacchione questo Jevons, ha preso due numeri primi grandi e li ha moltiplicati
Mario: Esatto, oggi basta inserirli in un programmino per pc o utilizzare questa pagina web su Blia.it per trovare che i due fattori che sono 89681 e 96079
Paolo: E quindi dove vuoi arrivare?
Mario: Che non è stato facile nemmeno per il computer, non esiste infatti, ad oggi, un algoritmo per calcolare velocemente i fattori del prodotto di due numeri primi, con il numero di Jevons, di soli 9 cifre, il pc/server ha impiegato una frazione di secondo, ma se il numero fosse stato di 200 cifre avremmo dovuto aspettare per anni il risultato
Paolo: OK, tutto questo per dirmi che ci sono calcoli che nemmeno il più veloce dei computer riesce ad effettuare in fretta ma continuo a non collegare il tutto con il bitcoin
Mario: Non sono "semplici" calcoli, è la fattorizzazione dei numeri primi che è alla base della crittografia moderna e, quindi, anche del "cuore" del bitcoin. Ma questo lo vedremo la prossima volta, si è fatto tardi e il bar sta chiudendo. Ciao Paolo
Paolo: Ciao Mario, a domani.