Presentazione del mining Bitcoin
-
Upload
treatabit -
Category
Economy & Finance
-
view
352 -
download
2
description
Transcript of Presentazione del mining Bitcoin
Bitcoin - IntroduzioneINTRODUZIONE AL MINING„Introduzione al bitcoin mining“@Treatbit Incubatore Politecnico di Torino 7 Ottobre 2014
Vincenzo Agui - [email protected] Consultant Network&Security Analyst http://www.linkedin.com/vincenzoagui
Bitcon Foundation International http://www.bitcoinfoundation.org
Bitcoin Foundation Italia http://ww.bitcoin-italia.org
Founder Coinsecurity – htttp://www.coinsecurity.it
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Introduzione al BitcoinCos'è Bitcoin ?
● Un protocollo decentralizzato (p2p) che permette di effettuare transazioni senza l'intervento di una autorità terza o di certificazione
● Basato sulla „prova del lavoro“ dei minatori (PoW) che in cambio di una ricompensa generano i bitcoin e validano/certificano le transazioni degli utenti.
● Basato su regole e standard (crittografiche e matematiche),aperte e ben definite.
● Elenco di tutte le transazioni condiviso e pubblico (blockchain)● Progetto opensource avviato nel 2009 da sviluppatore anonimo
Satoshi Nakamoto
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Introduzione al BitcoinQuali sono le caratteristiche ?
● Decentralizzazione
● Sicurezza e controllo
● Trasparenza e neutralità
● Impossibilità di chiudere un portafoglio
● Irreversibilità delle transazioni (no chargeback)
● Bassi o nulli costi di transazione
● Velocità di transazione
● Progetto Opensource in continuo sviluppo
● Divisibilità, universalità...
● PseudoanonimoINTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Introduzione al BitcoinAlcuni campi di applicazione
● Compravendita online
● Micropagamenti
● Trasferimenti di denaro
● Servizi di escrow
● Servizi proof of existence/ownership
● Crowfunding
● Servizi derivati da multi-signature address
● Servizi di contrattualistica
● Servizi di incentivazione/job
● Strumenti finanziari tradizionali...INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Introduzione al Bitcoin – Come Funziona – attori in campo
● Minatori/Miners● Exchangers● Blockchain● Utenti/Wallets● Merchants
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Introduzione al Bitcoin – invio di una transazione
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Blockchain
● Registro distribuito di tutte le transazioni● Pubblico e consultabile da tutti● Prima transazione 6 gennazio 2009 – „genesis block“● Dimensioni attuali 25 Gbyte● Associazione utenti indirizzi „pseudonimo“● Altri utilizzi
proof of existenceproof of ownershiptimestampsmart contracts...
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Bitcoin come funziona - IndirizzoGli indirizzi (address) Bitcoin sono stringhe alfanumeriche di 34 caratteri come questa:
1933phfhK3ZgFQNLGSDXvqCn32k2buXY8a
Possono essere generate da chiunque e in maniera istantanea e sono concettualmente equivalenti al codice IBAN.
Sono pubblici, se si vuole ricevere un pagamento in Bitcoin è sufficiente fornire questa stringa all’utente che la userà come indirizzo di destinazione.
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
I principi delle transazioniGli utenti inviano e ricevono bitcoin attraverso un «wallet»
Il «saldo» mostrato dal portamonete è la somma dell’ammontare dei bitcoin depositati sugli indirizzi controllati dal portamonete . Se viene aggiunta una chiave privata (importata) al portamonete, la quantità depositata nel corrispondente indirizzo viene aggiunta al saldo del portamonete.
Quando Alice vuole pagare una quantità di Bitcoin a Bob, Alice usa il suo portamonete bitcoin per firmare un messaggio di transazione bitcoin includendo l’importo e l’indirizzo di Bob. La firma di Alice usa la chiave privata corrispondente ad un indirizzo finanziante del suo portamonete.
Se necessario, il portamonete di alice combinerà più di uno dei suoi indirizzo nel messaggio di transazione per finanziare la sua operazione di pagamento.
Il messaggio viene trasmesso a tutti i nodi validatori (nodi completi) sul network bitcoin che verificheranno la firma/e di Alice usando la chiave pubblica/e anch’essa inclusa nel messaggio.
I validatori controlleranno anche che la transazione sia coperta con indirizzi contententi quantità sufficenti.
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Le transazioni● Per impedire la possibilità di usare gli
stessi Bitcoin in più di una transazione il protocollo implementa un server di marcatura oraria P2P
● Ogni transazione che viene effettuata in Bitcoin inizia con lo status di “non confermata”
● La transazione viene inserita all’interno di un blocco assieme a molte altre transazioni, quando il blocco viene verificato dai miners, la transazione riceve una prima conferma.
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
BlocchiLe informazioni sulle transazioni sono perennemente salvate nella rete Bitcoin all’interno di files chiamati “blocchi”
● Ogni 10 minuti circa viene creato un nuovo blocco
● La conferma da parte dei miners della correttezza e unicità delle transazioni al suo interno lo rende permanente all’interno della blockchain
● Ogni blocco contiente fra le altre cose: un 256-bit hash dell’header del blocco precedente e un 256-bit hash basato sulle transazioni del blocco
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Bitcoin – Regole di emissione
Quanti sono i Bitcoin ? Come vengono emessi ? ● Totale bitcoin 21.000.000 (21 milioni BTC) ● Inflazione programmata, Ricompensa per i minatori
dimezzata ogni 210.000 blocchi (attuale 25BTC/Blocco)
Difficoltà si autoregola ogni 2016 blocchicirca ogni 2 settimane
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Introduzione al Bitcoin – curva di emissione
time:
10.5M
21.0M
2009 +4 years
blocks:
+8 +12 +16 +20 +24
210k0 420k 630k 840k 1.05M 1.26M
50 BTC/ block
25 BTC/ block
12.5
6.253.125
1.5625 0.78125To
tal B
TC In
Exi
sten
ce
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Mining – a cosa serve ?
● Validazione delle transazioni● Prevenzione della “doppia spesa”● Emissione di nuove monete● Remunerazione per il lavoro svolto
(“commissioni di transazione”)
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Mining – PoW- Proof of Work
● Algoritmo di mining SHA-256Bitcoin usa: SHA256(SHA256(Block_Header))
● Il SHA-256 hash dell' header di un blocco deve essere inferiore al target
● difficoltà = difficoltà_1_target / current_targetLa difficoltà si regola periodicamente per far si che i blocchi siano generati al tasso prestabilito (uno ogni 10 minuti). La difficoltà cambia ogni 2016 blocchi (circa 14 giorni), è basata su quanto velocemente siano stati trovati i precedenti 2016 blocchi.
● Ricompensa per i minatori dimezzata ogni 210.000 blocchi● Ricompensa= Bitcoin generati + ∑ tasse di transazione
all’interno del blocco verificatoINTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Mining – Principali attività di un miner
● Broadcast di tutte le transazioni verso altri nodi della rete● Ogni nodo collezziona le nuove transazioni in blocchi● Ogni nodo lavora per trovare il proof-of-work per il blocco● Quando un nodo trova proof-of-work, fa il broadcasts del
blocco agli altri nodi della rete.● I nodi accettano il blocco solo se tutte le transazioni al suo
interno sono valide e non già spese● I nodi dimostrano di accettare il nuovo blocco
semplicemente iniziando a lavorare al successivo blocco della catena usando l'hash del precedente blocco accettato.
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Mining – strategie di mining
● Solo Mining● Pool mining● P2Pool mining● Mining Services/CloudMining
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
L’evoluzione del mining• 2009 – Inizio mining, esiguo numero di minatori, alta ricompensa (50 BTC a blocco) ma ancora basso o
nullo il valore
• Successivo aumento interesse, aumento di minatori e quindi aumento di difficoltà, primo aumento prezzo di vendita.
• Inizio diffusione capillare del Bitcoin, aumento esponenziale di minatori, quindi di difficoltà e calo di probabilità di ottenere singolarmente il premio da rivendere.
• Passaggio dall’operare singolarmente a attività collettiva, collegandosi a mining pool con suddivisione della ricompensa.
• Ingegnerizzazione del mining, passaggio da CPU, a GPU, chip FPGA fino all’ultimo anno con ASIC, macchine apposite. (aumento esponenziale della difficoltà)
• Costo hardware specializzato ormai inaccessibile ai più. Si ricorre all’acquisto condiviso.
18
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Introduzione al Bitcoin – difficoltà grafico dal 2009
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Difficoltà nel Tempo
Source: Peter Wuille
Maggio 2013 Gennaio 2014
INTRODUZIONE AL MINING @TREATBIT| Martedi 7 Ottobre 2014 - Bitcoin Foundation Italia – www.bitcoin-italia.org
Ottobre 2014