Il problema del 2038…cosa accadrà a Bitcoin??

di | 11 Luglio 2019

Esattamente 20 anni fa il mondo intero era in ansia per il cosiddetto “millennium bug”: allo scoccare delle 00:00 del 1° gennaio 2000 il mondo sarebbe andato incontro ad un’apocalisse informatica. Si ipotizzava un crash generale che avrebbe avuto gravi conseguenze: disastri aerei, esplosioni di centrali nucleari…il mondo era destinato a diventare una specie di Hawkins: la città in cui è ambientata la serie tv Stranger Things (se non l’hai ancora vista…muoviti…è su Netflix).

Perchè c’era così tanta preoccupazione?? Il problema effettivo stava nelle ultime due cifre decimali dell’anno. Con l’avvento del 2000, le ultime due cifre sarebbero coincise con il 1900 e molti software informatici, che tenevano conto solo di queste due cifre per identificare l’anno, sarebbero tornati indietro di 100 anni.

Quali furono le conseguenze di tutto ciò?? Di gravi nemmeno una. Si registrarono qualche “tilt” su alcune slot machine, timbratori, un problema sul sistema di raffreddamento in una centrale nucleare giapponese e qualche documento uscito con la data 01/01/1900. Nulla di più.


Perchè preoccuparsi dell’anno 2038?

Il 2038 sta destando preoccupazione, un po’ più reale, tra gli informatici già da un po’ di anni. Anche in questo caso si tratta di un problema di data. Ma perchè?

Vi è un sistema di rappresentazione del tempo chiamato Unix Epoch o Unix Time che consiste nell’indicare una data con il numero dei secondi trascorsi dalla mezzanotte del 1° gennaio 1970. Facendo un esempio, in questo momento (11 luglio 2019 ore 15:22 e 30 secondi), la data in Unix Epoch è 1’562’851’350: dal 1° gennaio 1970 sono passati più di un miliardo e mezzo di secondi!!

Il problema sarà reale quando si giungerà al numero 2’147’483’647 che coincide con la data 19/01/2038 ore 03:14 e 7 secondi. Tale numero, infatti, è il numero massimo gestibile dai sistemi a 32 bit con segno positivo. Dopodichè si andrà in negativo e la data sarà 13/12/1901 ore 20:45 e 52 secondi. Qui sotto c’è la simulazione di ciò che accadrà in quel momento.

2038 e Bitcoin

Fin qui ho parlato di sistemi informatici e di architetture a 32 bit….ma Bitcoin come può essere coinvolto in questo bug??

In realtà Bitcoin è direttamente coinvolto in questo problema, anche se esiste un “ma”. Andiamo con ordine.

In un articolo precedente ho accennato al timestamp come elemento necessario nella composizione di un blocco valido della Blockchain di Bitcoin. Il timestamp non è altro che la data esatta in cui quel blocco è stato minato. E come viene indicata questa data?? Ovviamente, altrimenti non sarei qui a scrivere questo articolo, in Unix Epoch.

Questo timestamp è un numero intero a 32-bit. Il “ma” che ti ho spoilerato prima riguarda il fatto che il timestamp è un numero a 32 bit unsigned ossia non sono previsti i numeri negativi. Quindi se nei sistemi a 32 bit signed i numeri vanno da – 2’147’483’647 a 2’147’483’647, il timestamp di Bitcoin va da 0 a 4’294’967’294. Ciò vuol dire che la data problematica per Bitcoin non cadrà nel 2038, ma esattamente il 07/02/2106 ore 07:28 e 14 secondi.

Sì, a meno che tu non sia un bambino appena nato e che godrai di molta salute durante la vita, non sarà un problema nè mio nè tuo.

L’istinto umano del pensare alle generazioni future, però, mi porta alla domanda fatidica: come si può risolvere tale problema??

A mio parere verrà effettuato, magari anche molti anni prima, un hard fork in cui verrà cambiato il timestamp da 32 bit a 64 bit posticipando il problema di oltre 290 miliardi di anni….e direi che tra 290 miliardi non esisterà più niente della Terra e forse anche dell’umanità.

Lo scopo principale di questo articolo è quello di diffidare degli articoli in cui danno per morto Bitcoin nel 2038, sono solo false notizie e, purtroppo, su Bitcoin ne circolano parecchie. E’ proprio di pochi giorni fa l’articolo pubblicato su Repubblica in cui viene descritto Bitcoin come uno schema Ponzi…dove stiamo finendo!!

Un saluto!!

Luca
https://steemit.com/@lucadema

Please follow and like us: