Bitcoin. Come funziona? (II)

Il funzionamento di Bitcoin (II) — prove e conoscenza comune

di Dusty,  il Portico Dipinto ( 17/07/2011)
In un post precedente sono stati esposti alcuni dei concetti crittografici che sono alla base del funzionamento di Bitcoin.

In questo vedremo invece una panoramica del funzionamento ad un livello più alto.

E’ necessario prima di tutto inquadrare i problemi da affrontare per implementare un sistema di transazioni monetarie completamente decentralizzato ed anonimo (o meglio, pseudoanonimo). Il problema principale è quello di riuscire ad avere una “conoscenza comune” delle proprietà della moneta. In particolare tutti devono sapere chi è il proprietario corrente di ogni unità monetaria (per evitare che qualcuno “spenda” del denaro che non gli appartiene), ma bisogna anche sapere che tutti abbiano le stesse informazioni. Ed è necessario sapere che gli altri sappiano che io so che loro sanno… e così via. Più formalmente questo tipo di conoscenza è definito in letteratura come “conoscenza comune1.

In altre parole non mi basta sapere di conoscere i proprietari di ogni moneta ma devo anche contare sul fatto che gli altri siano d’accordo con me, e sapere che io sono d’accordo con loro. Se si riesce ad arrivare ad una tale situazione allora è possibile fare in modo che facciamo tutti riferimento alla stessa storia (delle transazioni) risolvendo quindi il problema di una discordanza su chi è il proprietario di cosa, ma senza fidarsi di nessuno in particolare. Questo è il problema principale che per la prima volta Bitcoin ha risolto in maniera brillante senza dover fare affidamento ad una autorità centrale di cui fidarsi, come normalmente era sempre avvenuto.

L’innovazione chiave per risolvere questa problematica è stata quella di poter dimostrare quante operazioni si sono impiegate per produrre un certo risultato, altrimenti definito come “dimostrazione di lavoro2. In un sistema che implementa questa caratteristica è possibile avere una archivio di transazioni che dimostra avere alle spalle una certa mole di lavoro. A quel punto è sufficiente che la maggior parte degli utenti del sistema accettino come “buono” l’archivio che ha alle spalle il numero maggiore di calcoli che sono stati fatti su di esso. Questo permette di conoscere quale sia il “libro mastro”, e possiamo essere sicuri che è lo stesso usato da tutti gli altri.

Ed in definitiva questo permette di avere una prova di proprietà senza una autorità centrale.

Avendo chiaro questo concetto, una buona parte della complessità di Bitcoin comincia a diventare accessibile.

In un articolo precedente si era accennato al fatto che dei Bitcoin vengono dati in premio a chi riesce a risolvere un particolare problema matematico. Questo problema non serve solo per permettere una distribuzione iniziale delle monete, anzi, non è nemmeno il suo scopo principale. Il suo obiettivo principale invece è quello di dimostrare che un certo elenco di transazioni porta con se il maggior numero di calcoli eseguiti. Quindi se noi cominciamo a lavorare sull’ultima soluzione conosciuta (che ha un elenco di transazioni fino ad un preciso punto nel tempo) partiamo da una documentazione che al momento ha il numero maggiore di calcoli eseguiti su di essa. Il protocollo di Bitcoin specifica che è necessario utilizzare la più “grande” (cioè quella con più calcoli alle spalle), ma come si vedrà questo è nel nostro stesso interesse.

Se pubblichiamo un “aggiornamento”, cioè l’ultimo elenco delle transazioni più quelle più recenti, assieme ad una soluzione allora gli altri utenti sanno che il nostro “libro mastro” porta con se tutto l’elenco dei conti precedenti fino all’ultima soluzione più tutti quelli che abbiamo fatto noi. Di conseguenza se vogliamo reclamare il bonus (in bitcoin) per l’ultima soluzione è bene partire dal “libro mastro” che contiene l’ultima soluzione.

Vediamo quindi di riepilogare e sintetizzare una semplificazione di quello che accade in una rete bitcoin:

  1. Quando un utente vuole trasferire i propri bitcoin a qualcun altro trasmette a tutti un messaggio che contiene la transazione, cioè quanti dei propri bitcoin vanno a chi, e lo firma con la propria chiave privata.
  2. Quando un utente riceve un messaggio che identifica un trasferimento di proprietà (una transazione) come prima cosa verifica che la firma sia valida (vedere l’articolo precedente3 in proposito) e che l’indirizzo di colui che “spende” i bitcoin possieda fondi a sufficienza, cosa che può verificare sul “libro mastro”. Se le verifiche sono positive allora mantiene la transazione e la distribuisce a tutti i suoi contatti.
  3. Gli utenti che vogliono reclamare il premio per una soluzione (cioè i “minatori”) raggruppano tutte le transazioni che possiedono (cioè le nuove più quelle dell’ultimo libro mastro confermato) e creano un problema matematico unico per questo insieme. Poi cominciano a cercare una soluzione ad esso.
  4. Quando qualcuno trova una soluzione la distribuisce a tutti i suoi contatti assieme all’insieme delle transazioni a lui conosciute (cioè l’ultima versione del “libro mastro”). Come per le singole transazioni, ognuno di coloro che la riceve la verifica e, se valida, la distribuisce a tutti gli altri.
  5. I minatori che ricevono una nuova soluzione valida interrompono i calcoli che stavano facendo e prendono l’ultima versione del “libro mastro” come nuovo punto di partenza per cercare una nuova soluzione. Come definito nel punto 3) aggiungono ad esso tutte le nuove transazioni di cui sono a conoscenza e costruiscono un nuovo unico problema matematico da risolvere.

Nella pratica può succedere che a volte diversi utenti troveranno simultaneamente una soluzione e che queste si propaghino all’interno delle varie parti della rete a diverse velocità. I minatori dovranno quindi tenere tutte le ultime versioni dei “libri mastri” in attesa che uno di questi diventi più “lungo” (cioè porti con se un numero di conti maggiore) e quindi definitivo. Dal canto loro gli utenti invece aspetteranno un certo numero di nuove soluzioni dopo una certa transazione è stata accettata per essere sicuri che confermata a sufficienza.

Traducendo i concetti generali sopra esposti nel lessico tipico di Bitcoin avremmo che una nuova soluzione, con il suo blocco di transazioni vecchie e nuove, viene chiamato “blocco”. Il “libro mastro”, cioè tutto l’elenco delle transazioni, con tutte le soluzioni intermedie che dimostrano come sono costruite una sull’altra, viene chiamato “catena dei blocchi” perchè ogni blocco si collega al “libro mastro” precedente, formando quindi una catena.

Ci sono ancora molti dettagli da definire, cosa che vedremo di fare in articoli successivi, ma questo dovrebbe far capire i concetti generali del funzionamento della rete Bitcoin ed alcuni degli elementi fondamentali in gioco.

Dusty


Fonte: traduzione libera dell’articolo Bitcoin overview: proofs and common knowledge

Note:

E’ nata la moneta del futuro. Si chiama Bitcoin

di Goemon, da Bitcoin-Italia 05/07/2011
Un sistema economico in cui i soggetti principali non siano solo le grandi banche e i governi ma anche un gran numero di cittadini connessi in rete, liberamente. Utopia? Certo. Ma anche Linux, una volta, era un’utopia: oggi fa funzionare la maggior parte di internet. Libero, senza grandi poteri, free source e basato sul web: il mondo del futuro (se non si autodistrugge prima) tutto sommato potrebbe anche essere così

Il Bitcoin è una moneta elettronica che unisce tre elementi tecnologici:

1) Il calcolo distribuito: invece di un supercomputer, tanti piccoli computer connessi tra loro, come nel programma SETI@home del 1999 (ricerca di segnali radio extra-terrestri) o in Folding@home del 2000 (analisi di assemblamenti di proteine). I primi usi di questa tecnologia risalgono agli anni ’70, da Arpanet a Usenet e finalmente a Internet.

2) Il peer-to-peer (P2P): non c’è un server centrale ma ciascun utente fa da server a tutti gli altri. Appartegono a questa categoria i programmi di scambio file, da Napster a Torrent.

3) Il trasferimento di moneta tra conti pubblici usando crittografia a chiave pubblica come Pretty Good Privacy (PGP), nato nel ’91. Tutte le transazioni sono pubbliche e memorizzate in un database distribuito.

Tutte queste tecnologie hanno avuto una popolarità immediata, tali erano le genialate dei loro inventori: Shawn Fanning, Sean Parker, Bram Cohen, Phil Zimmermann. Popolarità non vuol dire vita facile: Napster fu comprato e chiuso, il creatore di PGP incriminato. I creatori del Bitcoin sono nascosti da uno pseudonimo giapponese, Satoshi Nakamoto, e nel 2009 hanno realizzato la prima plausibile manifestazione di una “cryptocurrency” open source e globale (e con una licenza del Mit).Complessi algoritmi controllano cioè la creazione della moneta, rendendo teoricamente inutili le banche. L’attività di generazione della moneta elettronica viene definita “mining” (gergo dei cercatori d’oro…) e viene svolto da un software open source che sfrutta la potenza di calcolo della scheda video. Con l’aumento dei bitcoin in circolazione, questa operazione richiede sempre più potenza computazionale. Il loro totale è fissato a 21 milioni (adesso ne sono presenti 6,7 milioni), mimando anche qui la scarsità dell’oro.

Ma quanto vale un bitcoin, in realtà? Nel maggio 2010 un utente di forum, dalla Florida, chiedeva dove poteva comprare due pizze maxi coi suoi 10mila bitcoin (allora equivalenti a circa 40 dollari), suscitando ironie su una pizza così costosa. Con gli stessi bitcoin, adesso, potrebbe comprare un’auto di grossa cilindrata. Il bitcoin infatti a gennaio 2001 valeva 0,2 dollari, a maggio mezzo dollaro, e un mese fa ha sfiorato i 30. Beh, non siamo alle leggendarie azioni Cocacola trovate nella cassapanca del bisnonno, ma un portafoglio bitcoin è memorizzato in un file del computer e resta lì finchè non viene ritrovato.

Il bitcoin è lo strumento ideale per il micropagamento. Oggi donare un dollaro (o un euro) o spenderlo per un servizio si può fare solo passando per una compagnia telefonica (ih Giappone o in Usa) o addirittura per una banca (in Europa), con costi enormi. Con Paypal, ad esempio, su 1 euro quasi il 40% andrebbe in commissione.Il bitcoin è libero, funziona in rete e nessun potere esterno può metterci le mani. Ti permette di donare denaro a WikiLeaks, per esempio, dopo che Visa, Mastercard e Bank of America gli hanno chiuso i conti (permette anche di evadere le tasse, è vero: ma per questo, soprattutto in Italia, non c’era bisogno di aspettare sistemi nuovi…).

E se qualche governo lo vietasse, visto che è così indipendente? In teoria potrebbe farlo, ma in pratica… Sarebbe come riuscire a impedire davvero di scaricare musica “pirata”. Secondo WikiLeaks (28 giugno 2011: vedi) “il bitcoin è una moneta elettronica sicura e anonima. I bitcoin non sono facilmente tracciabili, e sono una veloce e tranquilla alternativa agli altri metodi di donazione. Quando Visa e MasterCard sono felici di dare servizi al Klu Klux Klan ma non a WikiLeaks, è tempo di agire”.

Abbiamo “minato” il nostro primo bitcoin: che cosa ne facciamo ora?Possiamo convertirlo in euro attraverso MtGox per ricevere un bonifico su un conto bancario europeo, o attraverso VirWox per ricevere euro su un conto Paypal. MtGox, al cambio odierno di 14 dollari a bitcoin (ma con una commissione di circa 50 centesimi), un Bitcoin frutterebbe circa 10 euro accreditabili sul conto.Oppure possiamo spenderlo per ricevere beni o servizi. Già ora su www.spendbitcoin.com possiamo cambiare i Bitcoin con buoni-acquisto usabili su Amazon (di qualunque nazione, anche Amazon.it!).Uno dei siti più originali invece è www.forbitcoin.com, dov’e si possono comprare o vendere servizi di ogni tipo: traduzioni, assistenza informatica, creazione di loghi e siti, e anche cose strampalate, come l’ateo pronto a convertirsi e a pregare per te per pochi centesimi, o il tizio che ti scrive lettere e poesie per aiutarti a conquistare (ma anche lasciare) la tua ragazza. E ancora fare i compiti di matematica, farsi ritrarre in versione manga, vendere polline d’api…Non solo acquisti: www.biddingpond.com è uno dei primi esempi di siti di aste, come Ebay, ad avere il bitcoin come moneta. Le offerte in Italia sono ancora poche e poco battute, è frequentato da gente che abita oltreoceano, ma è possibile acquistare tra le altre cose materiale informatico e olio d’oliva.

Bitcoin è “esploso” come visibilità a maggio, coi pezzi dedicatigli dei giornali economici “ufficiali” (Economist, Financial Times, Business Week). Questa popolarità purtroppo nelle ultime settimane ha richiamato anche l’attenzione dei ladri. E’ arrivato il primo malware che ruba portafogli virtuali (più o meno come Serpe nei Simpson…) ed è stato attaccato MtGox, il più grande sito di trading di Bitcoin, costringendolo a chiudere per una settimana per risolvere i suoi problemi di sicurezza.MtGox scambia sui 50mila bitcoin al giorno, il suo immediato rivale, Tradehill, circa 1000. Un sostanziale monopolio, strano in un sistema decentralizzato. E anche nel mining le cose non vanno meglio: Deepbit “mina” un terzo dell’intera rete (4000 Ghash/s sui 12mila del totale).I nuovi ingressi tuttavia sono impressionanti (e hanno reso reso più lenta la creazione di nuovi bitcoin). Fra Usa, Giappone e Europa si calcola che nelle ultime ventiquattr’ore (bitcoinwatch.com) siano stati trasferiti 469.372, 94 bitcoin, circa 20mila all’ora. Se è un inizio, è un buon inizio.