È la prima di quelle che oggi chiamiamo criptovalute, il cui nome si deve al fatto che utilizza la crittografia per controllare la creazione ed il trasferimento della moneta.
Raccoglie in sé tre concetti fondamentali:
- Bitcoin è un protocollo (un insieme di regole che servono a definire il funzionamento del software utilizzato a un network di computer collegati tra loro)
- Bitcoin è un progetto open source
- Bitcoin è un network
Una versione puramente peer-to-peer di denaro elettronico consentirebbe ai pagamenti online di essere inviati da una persona all'altra senza passare attraverso un'istituzione finanziaria. Le firme digitali costituiscono parte della soluzione, ma i principali benefici si perdono se, per impedire la doppia spesa è ancora necessario un terzo soggetto di fiducia. Per eliminare questo problema il network marca in modo temporale le transazioni attraverso un codice hash e le posiziona in una catena continua di prove di lavoro (Proof of Work, PoW) basate su funzioni hash formando un registro che non può essere modificato senza rifare la prova di lavoro stessa.
Tale lunga catena (di computer collegati e partecipanti) garantisce la certezza delle transazioni, dunque evita le truffe. E finché i sistemi non collaborano in massa per attaccare il network, è garantita anche la sicurezza.
In passato ci sono state ipotesi di quello che è noto come "attacco del 50%", ma non si sono mai concretizzate.
La catena di cui stiamo parlando prende il nome di Blockchain (catena di blocchi); non è altro che un registro pubblico di tutte le transazioni in Bitcoin, in blocchi ordinati cronologicamente.
Ogni blocco è collegato al precedente.
È quindi possibile procedere a ritroso e arrivare al blocco numero 0 detto anche Genesis Block (nato alle ore 18:15:05 del 3 gennaio 2009)
Dal punto di vista informatico la Blockchain si definisce come un database memorizzato e distribuito su ogni macchina che fa parte del network Bitcoin.
Ogni singolo blocco, in particolare, è un file che contiene:
- numero di blocco (i blocchi sono numerati in maniera crescente dallo 0)
- codice Hash (ogni blocco è identificto in maniera univoca da un certo codice alfanumerico)
- data e ora di produzione del blocco
- transazioni confermate nel blocco
- totale dei bitcoin movimentati nel blocco
- dimensione in KiloByte del blocco
keep reading
