Template:Software2 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 ed 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 un 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 inflazionare la moneta creandone di nuova.

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

Economia modifica

Dusty~itwiki/Sandbox
Codice ISO 4217nessuno; generalmente usato BTC
StatiInternazionale, Basato su Internet
Entità emittenteNessuna; decentralizzata; Distribuita
In circolazione dal2009
Tasso di cambio
({{{datacambio}}})
Lista valute ISO 4217 - Progetto Numismatica

Il valore totale dell'economia Bitcoin calcolato in Aprile 2011 è di circa 7 milioni di dollari.[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. Ma merce e servici veri, come ad esempio automobili usate o contratti di sviluppo software vengono attualmente commercializzati. I Bitcoin vengono accettati sia per servizi online che per beni tangibili[3] La Electronic Frontier Foundation ed il Singularity Institute accettano donazioni in Bitcoin.[4][5] I commercianti cambiano regolarmente i bitcoin in diverse valute che comprendono Dollari Americani, Euro, Rubli Russi e Yen Giapponesi utilizzando appositi siti di cambio[6] Chiunque può controllare la catena dei blocchi ed osservare le transazioni in tempo reale. Diversi servizi sono già disponibili per facilitare questa operazione.[7][8]

Differenze monetarie modifica

 
Totale dei Bitcoin nel tempo.

A differenza delle moneta legale, i bitcoin hanno la caratteristica che nessuno può controllarne il valore in maniera artificiale a causa della sua natura decentralizzata[9], mitigando possibili instabilità economiche causate dalle banche centrali. In Bitcoin l'inflazione è definita nella sua definizione, e quindi limitata a priori, inoltre è perfettamente prevedibile e quindi conosciuta da tutti i suoi utilizzatori in anticipo.[10] L'inflazione non può quindi essere manipolata 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 ente esterno che debba fare da supervisore tra le parti. Questo tipo di transazione 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.[10]

Il numero totale di bitcoins tenderà lentamente al limite di 21 milioni, nel tempo. 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 i bitcoins probabilmente subiranno una deflazione dei prezzi (cioè un aumento del valore reale) dovuta alla mancanza di nuova moneta. Inn ogni modo i bitcoin sono divisibili fino all'ottava cifra decimale (con un totale quidni di 2.1 x 1015 unità), permettendo un completo aggiustamento del valore in un ambiente deflazionistico.[11]. Invece che basarsi sull'incentivo dato dalla creazione di nuovi bitcoins per registrare le transazioni nei blocchi, i nodi in quel periodo trarranno profitto dalla loro capacità di effettuare le transazioni, competendo quindi sui prezzi e mantenendoli bassi.[10]

Risultati modifica

Gli scenari previsti per un possibile fallimento di Bitcoin includono 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.[12] 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.[13] 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 '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."[12]

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.ref>Online-Only Currency Bitcoin Reaches Dollar Parity via Slashdot.</ref>[14][senza fonte]

Tecnologia modifica

 
Bitcoin software running under 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 paper di Satoshi Nakamoto, pubblicato nel 2008.[10]

Panoramica modifica

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.

Indirizzi modifica

Ogni persona che partecipa alla rete Bitcoin possiede un portafoglio che contiiene 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 i loro proprietari ed in genere sono anonimi.[11] 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.

Transazioni modifica

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

 
La catena principale (in nero) consiste nella serie più lunga di blocchi dal primo (in verde) fino al blocco corrente. I blocchi orfani (in grigio) 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,[16], 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 particular, each generating node collects all unacknowledged transactions it knows of in a candidate block, a file which among others,[17] contains the cryptographic hash of the previous valid-block known to that node. It then tries to produce a cryptographic hash of that block with certain characteristics, an effort that requires on average a predictable amount of repetitious trial and error. When a node finds such a solution, it announces it to the rest of the network. Peers receiving the new solved-block validate it before accepting it, adding it to the chain.

When a transaction is first acknowledged in a block, it receives one confirmation. Each time that block is acknowledged in future blocks, it receives another confirmation. After six transactions, the Bitcoin client switches from showing "unconfirmed" to "confirmed". Although a transaction is technically "confirmed" after a single confirmation, the client avoids reporting it until several confirmations later, just to ensure that it is overwhelmingly likely that the confirmations are part of the main block chain rather than an orphaned one.

Eventually, the block-chain contains the cryptographic ownership history of all coins from their creator-address to their current owner-address.[18] Therefore, if a user attempts to reuse coins he had already spent, the network will reject the transaction.

The whole history of transactions must be stored inside the block chain database, which grows constantly as new records are added and never removed. By design, some but not all users need the entire database to use Bitcoin - some users only need the portion of the database that pertains to the coins they own or might receive in the future. Presently, the database is small enough (less than 200 MB as of April 2011) that all users of the Bitcoin software receive the entire database over the peer-to-peer network shortly after running the software the first time.

Nakamoto conceived that as the database became larger, applications for Bitcoin without the entire database on each user's computer would be desirable. To enable this, a Merkle tree is used to organize the transaction records in such a way that a future Bitcoin client can locally delete portions of its own database it knows it will never need in the future, such as earlier transaction records of Bitcoins that have changed ownership multiple times, while keeping the cryptographic integrity of the remaining database intact.

Generating bitcoins modifica

The Bitcoin network creates and distributes a batch of new bitcoins approximately six times per hour at random to somebody running the software with the "generate coins" option selected. Any user can potentially receive a batch by running it, or an equivalent program specialized for the equipment the user owns. Generating bitcoins is often referred to as "mining", a term analogous to gold mining.[10] The probability that a given user will receive a batch depends on the computing power he contributes to the network relative to the computing power of all nodes combined.[19] The amount of bitcoins created per batch is never more than 50 BTC (plus transaction fees), and the awards are programmed to decrease over time down to zero, such that no more than 21 million will ever exist.[11] As this payout decreases, the motive for users to run block-generating nodes is expected to change to earning transaction fees.

All generating nodes of the network are competing to be the first to find a solution to a cryptographic problem about their candidate-block, a problem that requires repetitious trial and error. When a node finds such a valid solution, it announces it to the rest of the network and claims a new batch of bitcoins. Peers receiving the new solved-block validate it before accepting it, adding it to the chain. Nodes can employ their CPUs using the standard client or use other software to take advantage of their GPUs.[11][20][21] Users can also generate bitcoins collectively.[22]

So that one block gets generated every ten minutes, each node separately readjusts the difficulty of the problem it tries to solve every two weeks according to any changes of the collective CPU-power of the peer-to-peer network.[senza fonte]

Transaction fees modifica

Because nodes have no obligation to include transactions in the blocks they generate, Bitcoin senders may voluntarily pay a transaction fee. Doing so will speed up the transaction and provide incentive for users to run nodes, especially as the difficulty of generating bitcoins increases or the reward per block amount decreases over time. Nodes collect the transaction fees associated with all transactions included in their candidate block.[11]

Alternative implementations modifica

Besides the official C++ Bitcoin client and library, there is an open source implementation of the Bitcoin protocol in Java called BitCoinJ developed by Mike Hearn, a Google engineer.[23]

Alternative user interfaces include bitcoin-js-remote, a JavaScript web user interface for the official Bitcoin daemon.[24]

See also modifica

Template:Portal box

References modifica

  1. ^ http://weidai.com/bmoney.txt
  2. ^ [1]
  3. ^ Template:Quote web
  4. ^ EFF Bitcoin donation page
  5. ^ SIAI donation page
  6. ^ Bitcoin Charts
  7. ^ bitcoinwatch.com
  8. ^ bitcoinmonitor.com
  9. ^ Bitcoin FAQ
  10. ^ a b c d e Errore nelle note: Errore nell'uso del marcatore <ref>: non è stato indicato alcun testo per il marcatore whitepaper
  11. ^ a b c d e Nathan Willis, Bitcoin: Virtual money created by CPU cycles, LWN.net, 10 novembre 2010.
  12. ^ a b Danny O'Brien, Imagine your computer as a wallet full of Bitcoins, 26 November 2010. URL consultato il 19 December 2010.
  13. ^ Herpel, Mark, 2011 Observations on the Digital Currency Industry, su ssrn.com, SSRN (Article for DGC magazine Jan2011), 6 December 2010. URL consultato il 19 December 2010.
  14. ^ Bitcoin Charts
  15. ^ https://en.bitcoin.it/wiki/Transactions
  16. ^ 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".
  17. ^ Bitcoin Wiki: Block Hashing Algorithm, su bitcoin.org.
  18. ^ Bitcoin Block Explorer, su blockexplorer.com.
  19. ^ Thomas Luongo, The FED’s Real Monetary Problem, 23 luglio 2010. URL consultato il 12 ottobre 2010.
  20. ^ DiabloMiner, OpenCL miner for BitCoin
  21. ^ poclbm, Python OpenCL bitcoin miner
  22. ^ Bitcoin Pooled Mining
  23. ^ angry tapir, timothy, Google Engineer Releases Open Source Bitcoin Client, su news.slashdot.org, Slashdot, 23 March 2011. URL consultato il 29 March 2011.
  24. ^ tcatm, bitcoin-js-remote, su github.com, GitHub. URL consultato il 29 March 2011.

External links modifica