Bitcoin

Da Wikipedia, l'enciclopedia libera.
Bitcoin
Logo di Bitcoin
Screenshot di Bitcoin
Sviluppatore Satoshi Nakamoto (creatore)
Gavin Andresen[1]
Ultima versione 0.8.6 (09/12/2013)
Sistema operativo Microsoft Windows
Linux
Mac OS X
Linguaggio C++
Genere Moneta elettronica (non in lista)
Licenza Licenza MIT
(Licenza libera)
Sito web www.bitcoin.org

Bitcoin (simbolo: ฿; codice: BTC o XBT) è una moneta elettronica creata nel 2009 da un anonimo conosciuto con lo pseudonimo di Satoshi Nakamoto, sviluppando un'idea dello stesso autore presentata su Internet a fine 2008. Il nome Bitcoin si riferisce anche al software open source progettato per implementare il protocollo di comunicazione e la rete peer-to-peer che ne risulta. Convenzionalmente, il termine Bitcoin maiuscolo si riferisce alla tecnologia ed alla rete mentre il minuscolo bitcoin si riferisce alla valuta in sé.[2]

A differenza della maggior parte delle valute tradizionali, Bitcoin non fa uso di un ente centrale: esso utilizza un database distribuito tra i nodi della rete che tengono traccia delle transazioni, e sfrutta la crittografia per gestire gli aspetti funzionali come la generazione di nuova moneta e l'attribuzione di proprietà dei bitcoin.

La rete Bitcoin consente il possesso ed il trasferimento anonimo delle monete; i dati necessari ad utilizzare i propri bitcoin possono essere salvati su uno o più personal computer sotto forma di "portafogli" digitali, o mantenuti presso terze parti che svolgono funzioni simili ad una banca. In ogni caso, i bitcoin possono essere trasferiti attraverso Internet verso 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 bloccare la rete, sequestrare bitcoin ai legittimi possessori o di svalutarla creando nuova moneta.

Bitcoin è una delle prime implementazioni di un concetto definito cryptocurrency qui, descritto per la prima volta nel 1998 da Wei Dai su una mailing list[3].

Economia[modifica | modifica sorgente]

Storico del tasso di cambio col dollaro statunitense

Il controvalore totale dell'economia Bitcoin, calcolato a dicembre 2012 era di circa 140 milioni di dollari statunitensi[4], in aprile 2013 1,4 miliardi di dollari statunitensi[5], nel novembre 2013, con un cambio 1 bitcoin = 540 USD, il controvalore sale ancora a più di 6 miliardi di dollari statunitensi[6].

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[7].

Sono moltissimi ormai gli enti, le organizzazioni e le associazioni che accettano donazioni in bitcoin; tra i tanti si possono citare la Electronic Frontier Foundation[8], The Pirate Bay[9] e la Free Software Foundation[10]. È possibile inoltre acquistare da altri grandi siti come Amazon o eBay attraverso alcuni intermediari. Dal novembre 2013 l'Università di Nicosia, a Cipro, accetta il bitcoin come mezzo di pagamento della tasse universitarie.[11]. Alcuni commercianti, utilizzando appositi siti di cambio, permettono di cambiare bitcoin in diverse valute, ivi compresi dollari statunitensi, euro, rubli russi e yen giapponesi[12].

Chiunque può controllare la catena dei blocchi (detta Blockchain) ed osservare le transazioni in tempo reale. Diversi servizi sono già disponibili per facilitare queste operazioni.[13][14]

Differenze con le monete a corso legale[modifica | modifica sorgente]

Proiezione sul totale dei Bitcoin nel tempo.

A differenza delle valute a corso legale, i bitcoin hanno la caratteristica che nessuno può controllarne il valore a causa della natura decentralizzata del metodo di creazione della valuta[15][16]. In Bitcoin la quantità di valuta in circolazione è limitata a priori, inoltre è perfettamente prevedibile e quindi conosciuta da tutti i suoi utilizzatori in anticipo[17]. L'inflazione da valuta 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 valuta, 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 fraudolente 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.[17]

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·1015 unità), permettendo un completo aggiustamento del valore in un ambiente deflazionistico.[18]. 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.[17]

Il cambio con lo Yuan[modifica | modifica sorgente]

La moneta virtuale ha raggiunto, nel 2013, il 21% del totale delle operazioni di cambio della valuta cinese.[19]

Risultati[modifica | modifica sorgente]

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.[20] La decentralizzazione e l'anonimia 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.[21] 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.»[20] [22]

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.[23][24][senza fonte]

Tecnologia[modifica | modifica sorgente]

Programma Bitcoin in esecuzione sotto Windows 7

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 documento di Satoshi Nakamoto, pubblicato nel 2008.[17]

Panoramica[modifica | modifica sorgente]

Bitcoin si basa sul trasferimento di valuta 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.

Indirizzi[modifica | modifica sorgente]

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 d'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.[18] 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 nessun limite 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.

Transazioni[modifica | modifica sorgente]

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.[25] 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.

La catena dei blocchi e le conferme[modifica | modifica sorgente]

La catena principale (in nero) consiste nella serie più lunga di blocchi dal primo (in verde) fino al blocco corrente. I blocchi orfani (in viola) esistono al di fuori della catena principale.

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",[26], 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 proof-of-work (mostrate in Bitcoin come "conferme").

Ogni volta che viene effettuata una transazione, essa parte nello stato di "non confermata"; diventerà "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,[27] 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 al di sopra di quel blocco vengono creati altri blocchi figli ad esso collegato, riceve un'altra conferma. Quando il blocco contenente la transazione raggiunge sei conferme, ovvero vengono creati sei blocchi collegati ad esso, il client Bitcoin cambia stato alla transazione portandola da "non confermata" a "confermata". La motivazione dietro a questa procedura è che ad ogni conferma della transazione, ovvero ad ogni nuovo blocco che viene creato al di sopra del blocco con la transazione stessa, risulta via via più difficile e costoso annullare la transazione. Un ipotetico attaccante, per annullare una transazione con un certo numero di conferme, dovrebbe generare una catena parallela senza la transazione che desidera annullare e composta da un numero di blocchi pari o superiore alle conferme ricevute dalla transazione.

Ne consegue che la catena dei blocchi contiene lo storico di tutti i movimenti di tutti i bitcoin generati a partire dall'indirizzo del loro creatore fino all'attuale proprietario.[28] Quindi, se un utente prova a riutilizzare una moneta che ha già speso, la rete rifiuterà la transazione in quanto la somma risulterà già essere spesa.

Nakamoto ha progettato il sistema in modo che, nonostante il database aumenti di dimensioni nel tempo, sia possibile averne una versione ridotta che riguardi nel dettaglio solo alcune transazioni, ma che rimanga completamente verificabile in modo indipendente. Ad esempio, per un utente privato potrebbe essere interessante avere la catena dei blocchi con le sole transazioni che lo riguardano. Oppure, potrebbe essere desiderabile ripulire dal database tutte le transazioni le cui somme in uscita sono già state utilizzate in altre transazioni, diminuendone di molto le dimensioni.

Generazione dei bitcoin[modifica | modifica sorgente]

La rete Bitcoin crea e distribuisce in maniera completamente casuale un certo ammontare di monete all'incirca sei volte l'ora, nei confronti di chi tiene abilitata l'opzione "genera bitcoin" nel proprio client. L'attività di generazione di bitcoin viene spesso definita come "mining", un termine analogo al gold mining (estrazione di oro).[17]

La probabilità che un certo utente riceva la ricompensa in monete dipende dalla potenza computazionale che aggiunge alla rete, relativa al potere computazionale della rete nella sua interezza.[29] Inizialmente il client ufficiale permetteva l'estrazione dei Bitcoin, sfruttando la CPU per svolgere i calcoli; con l'aumentare della potenza di calcolo totale della rete, questa funzionalità è diventata inutile, in quanto antieconomica, ed è stata rimossa. Oggigiorno esistono dei programmi specializzati che inizialmente sfruttavano la potenza delle GPU per lo svolgimento dei calcoli, e sempre più spesso si appoggiano a schede dedicate (FPGA e ASIC).

Il numero di bitcoin creati per blocco è stato inizialmente di 50 BTC (aggiunti agli eventuali costi delle singole transazioni); tale quantità è stata programmata per diminuire nel tempo, con un dimezzamento del premio ogni 4 anni circa, fino ad arrivare a zero, in modo tale che non verranno mai creati più di 21 milioni di bitcoin in totale.[18] A partire dal 28 novembre 2012, la ricompensa è passata a 25 BTC per blocco[30], e così sarà per i successivi 4 anni. 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, l'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.[18][31][32] Gli utenti possono anche generare bitcoin in maniera collettiva associandosi ad una mining pool.[33]

Dal punto di vista operativo, il mining non è altro che quell'operazione che consiste nel trovare la soluzione ad un problema matematico: individuare un numero (nonce) tale che l'hash SHA-256 del blocco sia inferiore ad una soglia data (difficoltà variabile). Infatti, 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.

Costi di transazione[modifica | modifica sorgente]

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.[18]

Bitcoin sui media[modifica | modifica sorgente]

Bitcoin è stato menzionato in siti di ampia visibilità come Slashdot[34] o la rubrica tecnica del Time.[35] Anche l'Agenzia ANSA ha dato risalto all'ascesa dell'utilizzo, della diffusione e del valore del bitcoin[36]

L'episodio 13 della terza stagione di The Good Wife è dedicato ai bitcoin.

Ampio risalto ha avuto sui media internazionali[37] l'annuncio che il colosso dei blog Automattic ha adottato, a partire dal 15 novembre 2012, la cryptovaluta come metodo di pagamento per sfuggire al blocco di più di 60 paesi adottato da PayPal e dalle carte di credito.

Implementazioni alternative[modifica | modifica sorgente]

In virtù delle caratteristiche open del protocollo e del software originario scritto dal creatore del sistema Bitcoin, nel tempo sono stati creati programmi e librerie che implementano il protocollo Bitcoin in modo indipendente. Queste implementazioni spesso sono pensate per semplificare l'uso dei bitcoin, ad esempio consentendo all'utente di ricevere transazioni senza dover scaricare l'intera catena dei blocchi, o scaricandone una versione ridotta. Altri software sono in grado di collegarsi al client originale per estenderne le funzioni o per agevolarne l'uso. Altre ancora sono pensate per essere utilizzate su dispositivi sui quali il client originale non può essere eseguito.

Di seguito un elenco dei software che implementano in varie forme il protocollo Bitcoin:

  • Armory: Questo programma si collega al client originale e ne estende le funzionalità, garantendo un maggior livello di controllo delle transazioni.
  • MultiBit: È un client che scarica una versione ridotta della catena dei blocchi, che riduce di molto i tempi di sincronizzazione e lo spazio di archiviazione del client originale con un minimo compromesso al livello di sicurezza.
  • Bitcoin Wallet: Simile come principio a MultiBit, ma scritto per smartphone con sistema operativo Android e BlackBerry.
  • Electrum: Si tratta di una coppia di programmi basata su un approccio client/server. Gli utenti utilizzano un programma client che, collegandosi ad un server in esecuzione su una macchina diversa, gli permette di visualizzare tutte le sue transazioni e crearne di nuove. A differenza degli altri approcci, questo sistema richiede che chi esegue il client ponga un certo livello di fiducia nel server a cui si collega.
  • BitCoinJ: è un'implementazione in linguaggio Java sviluppato da Mike Hearn, un ingegnere di Google.[38]
  • bitcoin-js-remote, un'interfaccia utente via web sviluppata in JavaScript per il demone Bitcoin ufficiale.[39]
  • libbitcoin: comunità, libreria e strumenti open source per uno sviluppo libero di Bitcoin
  • btcd: un'implementazione di nodo completo scritta in Go (golang)
  • coinpunk: wallet basato su interfaccia web installabile su server (per sviluppatori e utenti esperti)

Note[modifica | modifica sorgente]

  1. ^ http://www.coindesk.com/already-bigger-than-some-currencies-bitcoin-can-get-bigger-gavin-andresen-says/
  2. ^ Bustillos, Maria, The Bitcoin Boom in The New Yorker, Condé Nast, 4/2/13. URL consultato il 22 dicembre 2013.
    «"...there seems to be a consensus forming around Bitcoin, capitalized, for the system, the software, and the network it runs on, and bitcoin, lowercase, for the currency itself"».
  3. ^ http://weidai.com/bmoney.txt
  4. ^ Statistiche su Blockchain.info
  5. ^ Bloomberg, Bitcoin Really Is an Existential Threat to the Modern Liberal State
  6. ^ Live Bitcoin market capitalization by Bitstamp
  7. ^ Bitcoin Trade
  8. ^ Pagina delle donazioni per EFF
  9. ^ The Pirate Bay Now Accepts Bitcoin Donations da TorrentFreak
  10. ^ Pagina delle donazioni della FSF
  11. ^ Le tasse universitarie a Cipro si pagano in Bitcoin dal Sole 24 Ore
  12. ^ Bitcoin Charts
  13. ^ bitcoinwatch.com
  14. ^ bitcoinmonitor.com
  15. ^ Bitcoin FAQ Italiano
  16. ^ Bitcoin FAQ
  17. ^ a b c d e Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, 24 maggio 2009. URL consultato il 24 agosto 2011.
  18. ^ a b c d e Nathan Willis, Bitcoin: Virtual money created by CPU cycles, LWN.net, 10 novembre 2010.
  19. ^ www.repubblica.it
  20. ^ a b Danny O'Brien, Imagine your computer as a wallet full of Bitcoins in The Irish Times, 26 novembre 2010. URL consultato il 19 dicembre 2010.
  21. ^ Herpel, Mark, 2011 Observations on the Digital Currency Industry, SSRN (Article for DGC magazine Jan2011), 6 dicembre 2010. URL consultato il 19 dicembre 2010.
  22. ^ Guido Mariani, Bitcoin, i misteri della moneta virtuale in Lettera43.it, 7 marzo 2014.
  23. ^ Online-Only Currency Bitcoin Reaches Dollar Parity via Slashdot.
  24. ^ Bitcoin Charts
  25. ^ Transactions - Bitcoin
  26. ^ Nel paper, Nakamoto scrive: «...proponiamo una soluzione al problema della possibilità di spendere due volte la stessa moneta usando un server di marcatura oraria peer-to-peer per generare una prova computazionale dell'ordine cronologico delle transazioni».
  27. ^ Bitcoin Wiki: Block Hashing Algorithm.
  28. ^ Bitcoin Block Explorer.
  29. ^ Thomas Luongo, The FED’s Real Monetary Problem in LewRockwell.com, 23 luglio 2010. URL consultato il 12 ottobre 2010.
  30. ^ Primo blocco estratto con ricompensa di 25 BTC
  31. ^ DiabloMiner, OpenCL miner for BitCoin
  32. ^ poclbm, Python OpenCL bitcoin miner
  33. ^ Bitcoin Pooled Mining
  34. ^ Online-only currency reached Dollar parity
  35. ^ Bitcoin: una moneta online che sfida banche e governi
  36. ^ http://www.ansa.it/web/notizie/rubriche/economia/2013/11/28/Bitcoin-si-ferma-vola-oltre-1-000-dollari_9698538.html
  37. ^ Canale tecnologico di Le Monde, la piattaforma wordpress s'apre ai bitcoin
  38. ^ angry tapir, timothy, Google Engineer Releases Open Source Bitcoin Client, Slashdot, 23 marzo 2011. URL consultato il 29 marzo 2011.
  39. ^ tcatm, bitcoin-js-remote, GitHub. URL consultato il 29 marzo 2011.

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]