Introduzione a Bitcoin

Download Report

Transcript Introduzione a Bitcoin

Introduzione a Bitcoin
Marco Polci
Iniziamo subito con la pratica
• Prendete il PC
• Per la dimostrazione scaricare Electrum da:
https://www.electrum.org/download.html
– Windows: scaricare «Standalone Executable»
– Mac: scaricare «Executable for OSX»
– In entrambi i casi non c’è bisogno di installazione
• Procurarsi un foglio di carta e una penna per il «backup»
• Per smartphone: Bitcoin Wallet (Android), BreadWallet (iOS)
• Due concetti per iniziare:
– In Bitcoin non «si apre un conto» come in banca ma «si crea un
portafogli», siamo autonomi
– Esiste una cosa che assomiglia al codice IBAN, si chiama indirizzo
Electrum: setup iniziale
Lanciare il programma scaricato.
Apparirà il wizard per la creazione del portafogli.
Electrum: setup iniziale
• Frase mnemonica usata come seme per generare il portafoglio.
• Scriverla su un foglio di carta.
• Questo foglio è il nostro backup e va conservato al sicuro.
Electrum: setup iniziale
• Reinserire la frase mnemonica per una verifica.
• Da qui in avanti la frase servirà solo in caso di emergenza
per il recupero del portafoglio.
Electrum: setup iniziale
• Password per impedire l’utilizzo a persone non
autorizzate
Electrum: setup iniziale
Attendere qualche secondo per
la generazione del portafoglio
• Confermare «Auto connect»
• Il setup iniziale è completato
• Abbiamo creato il nostro «backup»
su un foglio di carta. È valido per
tutti i nuovi indirizzi e non è
necessario rifarlo.
Electrum: finestra principale
• La finestra principale è suddivisa in 5 schede: posizionarsi su Receive
• Nell’elenco «receiving» ci sono sempre 5 indirizzi con bilancio 0
• Tutti gli indirizzi possono essere usati per farsi inviare i bitcoin
Electrum: invio
Electrum: cronologia transazioni
Perché Electrum?
• Open source: si sa esattamente cosa fa con i
nostri bitcoin
• Semplice nell’utilizzo
• Immediatezza del backup
– Si fa una volta sola
– Non necessita di supporti elettronici
Sistemi di pagamento tradizionali
• Basati su una serie di intermediari:
– Banche
– Gestori carte di credito
– Gestori pagamenti online (Paypal)
• Fiducia verso gli intermediari
– Prendono il controllo dei nostri soldi
– Trattano molte informazioni personali dell’utente
• Costosi e inefficenti
È possibile creare un sistema di pagamenti elettronici che
coinvolga solo i diretti interessati facendo a meno di un
soggetto su cui porre la fiducia?
Bitcoin, perché è speciale?
Un sistema per realizzare pagamenti con queste caratteristiche:
• Senza intermediari – il pagamento coinvolge solo i diretti
interessati, senza che nessun altro possa intervenire o alterare
alcunché, nessuno che può trattenere una percentuale per il
servizio. Costi minimi.
• Senza entità su cui porre la fiducia – niente banche, niente gestori
di carte di credito, niente gestori di pagamenti online (Paypal),
niente valuta fiat. Nessuno può bloccare il nostro “conto”.
• Sistema decentralizzato – la rete non è controllata né controllabile
da un soggetto ma si basa su un meccanismo di maggioranza dove
ognuno può contribuire senza bisogno di alcuna autorizzazione.
Come funziona?
• Niente fiducia!
– I dati sono corredati di prove crittografiche, nessuno che garantisce
alcunché
– I computer della rete (peer to peer) sono potenzialmente tutti uguali e
si controllano a vicenda
– Meccanismo di maggioranza
• Lavoro svolto dai computer della rete:
– Inoltro delle transazioni
– Validazione
– Mantenimento del database delle transazioni: block chain
• La Block Chain è il registro delle transazioni Bitcoin:
–
–
–
–
Tutte le transazioni dalla nascita del sistema
Cronologico
Immodificabile
Tutti i computer della rete ne hanno una copia
Come funziona?
• Mantere la block chain costa: il mining
– Consuma risorse di calcolo: hardware + energia
– La complessità delle elaborazioni aumenta con la potenza totale dell’hardware
impiegato
– Per pagare questi costi:
• Inflazione monetaria (nei primi anni)
• Commissioni sulle transazioni
• Distribuizione tramite un mecanismo di premiazione proporzionale alla potenza di
calcolo
• Sicurezza di Bitcoin
– Si manifesta nella non modificabilità della blockchain
– Aumenta con la potenza di calcolo totale usata per il mining, a condizione che:
• Sia distribuita fra molti computer della rete
• I computer siano controllati da soggetti diversi
• I computer siano distribuiti per il mondo
Terminologia
• bitcoin: inteso come valuta di scambio, sigla BTC o XBT, divisibile fino a
0.00000001 BTC detto un satoshi. Si usa anche bits per i milionesimi di btc.
• wallet o portafoglio: il contenitore dei nostri bitcoin, un po’ come se fosse
il nostro conto corrente.
• wallet client o programma di gestione del portafoglio: è il software che
usiamo per gestire il portafoglio, effettuare e controllare i pagamenti.
• indirizzo: si può immaginare come il codice IBAN di un proprio conto, da
comunicare a chi ci deve inviare dei bitcoin.
• chiavi: la chiave (privata) è un codice numerico associato ad un indirizzo,
necessaria per spendere i propri bitcoin e conosciuta solo dal legittimo
proprietario.
• transazione: un pagamento, corrisponde allo spostamento degli importi
ricevuti da altre transazioni verso uno o più indirizzi.
Software di gestione del portafoglio
• Memorizza le nostre chiavi. Ne esistono molti e si dividono in:
– servizi web: le chiavi e il codice sono sui server del fornitore del servizio (es:
http://blockchain.info/wallet). Pericolo centralizzazione!
– client locali full: installati sui nostri dispositivi e necessitano di scaricare tutto il
database di bitcoin (es: Bitcoin core)
– client locali light: installati sui nostri dispositivi ma non memorizzano il
database (es: Multibit, Electrum)
– client multi sig: realizzano un maggiore livello di protezione (es:
GreenAddress.it)
– client hardware: attualmente disponibili solo soluzioni parziali, massima
protezione delle chiavi.
• Fondamentale fare un backup:
– solo il client possiede le chiavi, se vengono perse anche i bitcoin sono persi per
sempre
– le informazioni sui bitcoin "sono sulla rete" non è necessario fare un backup
quando si riceve un pagamento
Altri client
• GreenAddress
–
–
–
–
https://greenaddress.it
Multipiattaforma: PC (Windows, Mac, Linux), Web, Smartphone (Android, iOS)
Sicurezza (multi sig, 2FA, hardware wallet)
Conferma istantanea delle transazioni
• Bitcoin wallet (Android, Blackberry)
– Estremamente semplice
• Mycelium (Android)
– Inizializzazione con frase mnemonica
– Mercato di vendita/acquisto bitcoin con escrow
• BreadWallet (iOS)
• Armory (Window, Mac, Linux)
– Per utenti esperti
• Maggiori dettagli:
https://bitcoin.org/it/scegli-il-tuo-portafoglio
Caratteristiche
•
Alcuni dati:
–
–
–
–
–
–
•
Massimo numero di BTC: 21 milioni
BTC emessi: 13.5 milioni
Produzione prestabilita, attualmente 25 BTC ogni 10 minuti circa
La produzione dimezza circa ogni 4 anni, il prossimo dimezzamento sarà a fine 2016
Dimensione database (blockchain) attuale: 24 GB
Capacità: 7 transazioni al secondo
Bitcoin è uno strumento molto flessibile:
– diversi tipi di transazioni
es: escrow protection, vincoli temporali, smart contract
– diversi modi di gestire i wallet
paper wallet, brain wallet, deterministic wallet, hierarchical deterministic wallet
– realizzazione di strumenti e servizi aggiuntivi
titoli finanziari (colored coin), mercati decentralizzati, registro notarile per documenti e
informazioni digitali
•
Operativo dal 2009, ampiamente testato ma comunque non è una tecnologia completamente
matura, definitiva né esente da criticità. Cautela!
Acquisto di bitcoin
• Scambio diretto fra privati
– Annunci su forum
– Siti di annunci generici (ebay)
– Siti specializzati (localbitcoins.com, bitboat.net)
• ATM
• Exchange (therocktrading.com, bitstamp.net)
The Rock Trading
Sconto del 50% per 3 mesi: https://www.therocktrading.com/promo/bitcoinforum
Mercati valute
Deposito e
prelievo
Registrazione
The Rock Trading - registrazione
The Rock Trading – verifica documenti 1
The Rock Trading – verifica documenti 2
The Rock Trading – deposito
1
3
2
Causale del bonifico
Come è fatto un bitcoin?
• Ogni bitcoin è rappresentato dalla sua storia di passaggi di proprietà
• Chiunque è autonomo nel verificare la validità di ogni passaggio di proprietà
• Per essere sicuri che non ci sia stato un tentativo di spendere 2 volte gli stessi
bitcoin, bisogna conoscere tutte le transazioni fatte e registrate dal sistema
Block chain
• Ogni blocco contiene l’impronta digitale (hash) del precedente blocco
• Ogni blocco contiene una prova di lavoro, cioè il risultato di un calcolo fatto sul
blocco stesso
• Per completare la prova di lavoro vengono impiegati in media 10 minuti.
• Tutti i nodi della rete concorrono nello svolgere il lavoro su un nuovo blocco per
riuscire ad inserirlo nella catena, il primo che ci riesce ottiene il premio
• In presenza di biforcazioni, cioè versioni diverse della block chain, si va avanti
finché una diventa più lunga e vince sull’altra.
• Tentare una modifica alla block chain vuol dire ricalcolare la prova di lavoro per il
blocco interessato e tutti quelli successivi prima che il resto della rete aggiunga
nuovi blocchi
Transazione
Siti web
• Pagina ufficiale con guide e link utili:
https://bitcoin.org/
• Grafici: https://blockchain.info/charts
• Analisi transazioni, indirizzi, block chain:
https://blockchain.info/
• Spiegazioni tecniche: https://en.bitcoin.it/
• Raccolta di link: http://j.mp/sitib