Bitcoin | |
---|---|
![]() ![]() | |
Sviluppatore | Satoshi Nakamoto |
Ultima versione | 0.6.2 (08/05/2012) |
Sistema operativo | Windows, GNU/Linux, Mac OS X |
Linguaggio | C++ |
Genere | Moneta elettronica |
Licenza | Licenza MIT |
Sito web | bitcoin.org |
Bitcoin è una moneta elettronica creata nel 2009 da Satoshi Nakamoto. Il nome Bitcoin si riferisce anche al software open source progettato per implementare il protocollo e la rete peer-to-peer che ne risulta. A differenza della maggior parte delle valute tradizionali, Bitcoin non fa uso di un ente centrale. Bitcoin utilizza un database distribuito tra i nodi della rete che tengono traccia delle transazioni e sfruttano la crittografia per implementare le caratteristiche più importanti come il fatto di permettere di spendere bitcoin solo al legittimo proprietario, e di poterlo fare una volta sola.
La progettazione di Bitcoin prevede il possesso ed il trasferimento anonimo delle monete. I bitcoin possono essere salvati su di un personal computer sotto forma di portafoglio o mantenuti presso terze parti che svolgono funzioni simili ad una banca. In ogni caso i bitcoin possono venir trasferiti attraverso Internet a chiunque disponga di un indirizzo bitcoin. La struttura peer-to-peer della rete bitcoin e la mancanza di un ente centrale rende impossibile per qualunque autorità, governativa o meno, di manipolare il valore dei bitcoin o di introdurre inflazione creando nuova moneta.
Bitcoin è una delle prime implementazioni di un concetto definito cryptocurrency, descritto per la prima volta nel 1998 da Wei Dai su una mailing list[1].
Indice |
Il valore totale dell'economia Bitcoin calcolato nel gennaio 2012 è di circa 57 milioni di dollari statunitensi[2].
L'economia basata sui bitcoin è ancora molto piccola se paragonata ad economie stabilite da lungo tempo ed il software è ancora in uno stato di beta release, tuttavia sono già commercializzati in bitcoin merci e servizi reali quali, ad esempio, automobili usate o contratti di sviluppo software. I Bitcoin vengono accettati sia per servizi online sia per beni tangibili[3]. La Electronic Frontier Foundation ha accettato fino a metà 2011 donazioni in bitcoin[4]; donazioni in bitcoin sono accettate dal Singularity Institute[5]. È possibile inoltre acquistare da altri grandi siti come Amazon attraverso alcuni intermediari che come servizio convertono bitcoin in buoni regalo Amazon[6] o alternative equivalenti. Alcuni commercianti, utilizzando appositi siti di cambio, permettono di cambiare bitcoin in diverse valute, ivi compresi dollari statunitensi, euro, rubli russi e yen giapponesi[7]. Chiunque può controllare la catena dei blocchi ed osservare le transazioni in tempo reale. Diversi servizi sono già disponibili per facilitare queste operazioni.[8][9]
A differenza delle monete a corso legale, i bitcoin hanno la caratteristica che nessuno può controllarne il valore a causa della natura decentralizzata del metodo di creazione della moneta[10][11]; secondo i sostenitori dei Bitcoin tale caratteristica può mitigare possibili instabilità economiche causate dalle banche centrali. In Bitcoin la quantità di moneta in circolazione è limitata a priori, inoltre è perfettamente prevedibile e quindi conosciuta da tutti i suoi utilizzatori in anticipo[12]. L'inflazione da moneta in circolazione non può quindi essere utilizzata da un ente centrale per ridistribuire la ricchezza tra gli utenti.
I trasferimenti sono definiti come un cambio di proprietà della moneta, e vengono effettuati senza la necessità di un ente esterno che debba fare da supervisore tra le parti. Tale modalità di interscambio rende impossibile annullare la transazione e quindi riappropriarsi delle monete che hanno cambiato di proprietà. Il client Bitcoin trasmette la transazione ai suoi nodi più vicini che a loro volta propagano il pagamento attraverso la rete. Transazioni invalide o corrotte vengono rifiutate dai nodi onesti. Le transazioni sono fondamentalmente gratuite, ma è previsto il pagamento di una commissione in modo da aumentare la priorità di gestione della transazione dai vari nodi.[12]
Il numero totale di bitcoin tende asintoticamente al limite di 21 milioni. La disponibilità di nuove monete cresce come una serie geometrica ogni 4 anni; nel 2013 sarà stata generata metà delle possibili monete e per il 2017 i tre quarti. All'avvicinarsi di quella data ed ipotizzando che la richiesta di bitcoin crescerà più che proporzionalmente rispetto alla disponibilità degli stessi, i bitcoin probabilmente subiranno una deflazione nel valore (cioè un aumento del valore reale) dovuta alla scarsità di nuova moneta. In ogni modo i bitcoin sono divisibili fino all'ottava cifra decimale (con un totale quindi di 2.1 x 1015 unità), permettendo un completo aggiustamento del valore in un ambiente deflazionistico.[13]. Secondo gli sviluppatori, in un ambiente con scarsità di bitcoin i nodi anziché finanziarsi con la creazione di nuovi bitcoin trarranno profitto dalla loro capacità di effettuare le transazioni, competendo quindi sui prezzi e mantenendoli bassi.[12]
Tra gli scenari previsti per un possibile fallimento di Bitcoin, vi sono la svalutazione della moneta, una base di utenti in diminuzione, o un attacco frontale al sistema da parte dei governi. Non è però possibile bandire ogni forma di denaro digitale come Bitcoin.[14] La decentralizzazione e l'anonimità che fanno intrinsecamente parte di Bitcoin possono essere viste come una reazione ai procedimenti giudiziari nei confronti di aziende che lavoravano nell'ambito del denaro elettronico come e-gold e Liberty Dollar.[15] In un articolo investigativo di Danny O'Brien pubblicato sull'Irish Times viene detto che "Quando mostro alle persone l'economia Bitcoin, chiedono 'Ma è legale?' e 'È un imbroglio?' Immagino che ci siano avvocati ed economisti che stiano cercando di dare una risposta a queste non semplici domande. Sospetto che la lista delle persone che cerca di dare questa risposta si arricchirà ben presto di legislatori."[14]
Nel febbraio del 2011, a seguito della menzione su Slashdot e del conseguente effetto Slashdot ci sono state ripercussioni sul valore del Bitcoin e sul corretto funzionamento di alcuni dei siti principali ad esso collegati.[16][17]
Bitcoin è una implementazione peer-to-peer della proposta b-money di Wei Dai e Bitgold di Nick Szabo. I principi del sistema sono descritti nel paper di Satoshi Nakamoto, pubblicato nel 2008.[12]
Bitcoin si basa sul trasferimento di moneta tra conti pubblici usando crittografia a chiave pubblica. Tutte le transazioni sono pubbliche e memorizzate in un database distribuito che viene utilizzato per confermarle ed impedire la possibilità di spendere due volte la stessa moneta.
Ogni persona che partecipa alla rete Bitcoin possiede un portafoglio che contiene un numero arbitrario di coppie di chiavi crittografiche. Le chiavi pubbliche, o indirizzi bitcoin fungono da punti di invio o ricezione per tutti i pagamenti. La corrispondente chiave privata autorizza il pagamento solo all'utente proprietario di una certa moneta. Gli indirizzi non contengono informazioni riguardo ai loro proprietari ed in genere sono anonimi.[13] Gli indirizzi in forma leggibile sono sequenze casuali di numeri e cifre lunghe in media 33 caratteri, che cominciano sempre per 1, della forma 175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W. Gli utenti possono avere un numero arbitrario di indirizzi Bitcoin, ed infatti è possibile generarne a piacimento senza un limite arbitrario in quanto la loro generazione costa poco tempo di calcolo (equivalente alla generazione di una coppia di chiavi pubblica/privata) e non richiede nessun contatto con altri nodi della rete. Creare una nuova coppia di chiavi per ogni transazione aiuta a mantenere l'anonimato.
I Bitcoin contengono la chiave pubblica del loro proprietario (cioè l'indirizzo). Quando un utente A trasferisce della moneta all'utente B rinuncia alla sua proprietà aggiungendo la chiave pubblica di B (il suo indirizzo) sulle monete in oggetto e firmandole con la propria chiave privata.[18] Trasmette poi queste monete in un apposito messaggio, la transazione, attraverso la rete peer-to-peer. Il resto dei nodi validano le firme crittografiche e l'ammontare delle cifre coinvolte prima di accettarla.
Per impedire la possibilità di utilizzare più volte la stessa moneta, la rete implementa quella che Satoshi Nakamoto descrive come un server di marcatura oraria peer-to-peer,[19], che assegna identificatori sequenziali ad ognuna delle transazioni che vengono poi rafforzate nei confronti di tentativi di modifica usando l'idea di una catena di (mostrate in Bitcon come conferme).
Ogni volta che viene effettuata una transazione parte nello stato di non confermata. Ogni transazione inviata agli altri nodi diventa confermata solo quando verificata attraverso una lista di marcatura oraria gestita collettivamente di tutte le transazioni conosciute, la catena dei blocchi.
In particolare, ogni nodo generatore raccoglie tutte le transazioni non confermate che conosce in un blocco candidato, un file che, tra le altre cose,[20] contiene un hash crittografico del precedente blocco valido conosciuto a quel nodo. Prova poi a riprodurre un hash di quel blocco con determinate caratteristiche, uno sforzo che richiede in media una quantità definibile di prove da dover effettuare. Quando un nodo trova tale soluzione la annuncia al resto della rete. I peer che ricevono il blocco ne controllano la validità prima di accettarlo, e poi aggiungerlo alla catena.
Quando una transazione viene ammessa per la prima volta in un blocco, riceve una conferma. Ogni volta che quel blocco viene ammesso in blocchi futuri, riceve un'altra conferma. Dopo sei transazioni, il client Bitcoin cambia stato ad una transazione portandola da "non confermata" a "confermata". Sebbene tecnicamente sia sufficiente una singola conferma per confermare una transazione, il client aspetta di averne di più per evitare che sia estremamente difficile che la conferma non faccia parte della catena dei blocchi principale, ma sia invece una orfana.
Via via, la catena dei blocchi contiene la storia di tutti i proprietari di tutte le monete a partire dall'indirizzo del loro creatore fino all'attuale proprietario.[21] Quindi, se un utente prova a riutilizzare una moneta che ha già speso, la rete rifiuterà la transazione perché non risulterà più lui ad essere il proprietario.
La storia completa delle transazioni deve venir memorizzata all'interno del database della catena dei blocchi, che continua a crescere in quanto nuovi record vengono continuamente aggiunti ma mai rimossi. Per come è progettato, solo alcuni utenti hanno bisogno dell'intero database per usare Bitcoin. Ad alcuni utenti invece è sufficiente la porzione del database di pertinenza per le monete che possiede o che può ricevere in futuro. Al momento il database è sufficientemente contenuto (circa 200MB, dati di aprile 2011), per far sì che tutti gli utenti che usano il software Bitcoin lo scarichino nella sua integrità dalla rete peer-to-peer la prima volta che viene eseguito il programma.
Nakamoto ha progettato il sistema in modo che nonostante il database aumenti di dimensioni nel tempo ci sia la possibilità per alcune applicazioni di far uso di Bitcoin senza doverlo avere interamente sul proprio computer. Per gestire questa possibilità, le transazioni sono organizzate in un modo tale che un client Bitcoin possa potenzialmente cancellare porzioni del proprio database di cui sa non dover mai avere bisogno in futuro, come ad esempio vecchie transazioni che riguardano monete che hanno cambiato proprietario molte volte, il tutto sempre mantenendo l'integrità crittografica di tutto il database.
La rete Bitcoin crea e distribuisce in maniera completamente casuale un blocchetto di monete all'incirca sei volte l'ora, nei confronti di chi tiene abilitata l'opzione "genera bitcoin" nel proprio client. Oltre al client ufficiale esistono dei programmi specializzati che sfruttano la potenza delle GPU per avere più probabilità di ottenere i bitcoin. L'attività di generazione di bitcoin viene spesso definita come "mining", un termine analogo al gold mining (scavare l'oro).[12] La probabilità che un certo utente riceva un blocchetto di monete dipende dalla potenza computazionale che aggiunge alla rete, relativa al potere computazionale della rete nella sua interezza.[22] Il numero di bitcoin creati per blocco non è mai più di 50 BTC (a cui è possibile aggiungere un costo per la transazione), e tale quantità è programmata per diminuire nel tempo fino ad arrivare a zero, in modo tale che non verranno mai creati più di 21 milioni di bitcoin in totale.[13] Man mano che la ricompensa per i propri calcoli diminuisce nel tempo, gli utenti saranno motivati a contribuire con le loro capacità di calcolo con nodi che generano blocchi guadagnando sui costi delle transazioni.
Tutti i nodi della rete competono per essere i primi a trovare una soluzione per un problema crittografico che riguarda un blocco candidato, un problema che richiede un gran numero di prove. Quando un nodo trova una soluzione valida la annuncia al resto della rete e richiede la proprietà di un nuovo blocco di bitcoin. I peer che ricevono la soluzione del nuovo blocco la verificano prima di accettarla e poi aggiungerla alla catena. I nodi possono usare la CPU del loro client oppure avvantaggiarsi delle loro GPU mediante software più sofisticati.[13][23][24] Gli utenti possono anche generare bitcoin in maniera collettiva nel modo che viene definito mining pool.[25]
Per fare in modo che un blocco venga generato ogni 10 minuti, ogni nodo in maniera individuale modifica la difficoltà del problema che prova a risolvere ogni 2 settimane, in accordo con la capacità computazionale complessiva della rete peer-to-peer.
Visto che i nodi non hanno l'obbligo di includere le transazioni nei blocchi che generano, chi invia Bitcoin potrà volontariamente pagare una tassa di trasferimento. Facendo questo la velocità di trasferimento aumenterà e offrirà un incentivo agli utenti per tenere attivi i nodi, specialmente quando la difficoltà per generare bitcoin aumenterà o se la quantità di premio per blocco decrescerà nel tempo. I nodi collezionano le tasse di transazione associate a tutte le transazioni presenti nel loro blocco dedicato.[13]
Sebbene Bitcoin sia ancora molto giovane ed il software ancora in beta (ma completamente affidabile per le operazioni di base), Bitcoin è stato menzionato in siti di ampia visibilità come Slashdot[26] o la rubrica tecnica del Time.[27] L'episodio 13 della terza stagione di The Good Wife è dedicato ai bitcoin.
Oltre al client ufficiale e alla libreria in C++, c'è un'implementazione open source del protocollo Bitcoin in Java chiamato BitCoinJ sviluppato da Mike Hearn, un ingegnere di Google.[28]
Un'interfaccia utente alternativa è bitcoin-js-remote, una interfaccia utente via web sviluppata in JavaScript per il demone Bitcoin ufficiale.[29]