Bitcoin e blockchain: dalle crittovalute agli smart contract - Prof. Marino Miculan - DMIF, Università di Udine
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Bitcoin e blockchain: dalle crittovalute agli smart contract Prof. Marino Miculan – DMIF, Università di Udine marino.miculan@uniud.it Fondazione Friuli 20 dicembre 2019
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Come spiegare Bitcoin e la Blockchain? • Spiegare Bitcoin in forma breve non è semplice • Sovrapposizione di: • Crittografia • Reti informatiche e trasmissione dati • Teoria dei giochi • Teoria economica e monetaria • Ma soprattutto, un cambio di paradigma culturale • Da un sistema basato su autorità centrali e riconosciute • A un sistema decentralizzato, con assenza di fiducia
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Agenda 1. Bitcoin e blockchain: concetti di base 2. Breve prospettiva storica 3. Bitcoin e blockchain: come funzionano 4. Come vengono creati i bitcoin (il processo di mining) 5. Alcune possibili applicazioni della Blockchain
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Cos’è il Bitcoin? Concetti base • Crittovaluta: "Una valuta digitale in cui vengono utilizzate tecniche di crittografia per regolare la generazione di unità di valuta e verificare il trasferimento di fondi, operando indipendentemente da una banca centrale". • Bitcoin è una crittovaluta (ma ce ne sono altre) • "Bitcoin" può fare riferimento a: • Bitcoin (maiuscolo) il protocollo, il software e la comunità • bitcoin (convenzionalmente in minuscolo) l'unità monetaria • Bitcoin esiste esclusivamente come software
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Cos’è il Bitcoin? Concetti base • Crittovaluta: deriva la fiducia da: • NON da statuti a corso legale (come valute legali, fiat) • NON dalle proprietà chimico / fisiche • Ma da proprietà matematiche • basato su principi crittografici, affidabili e consolidati • hash crittografico (SHA256) • firme digitali (ECDSA) • algoritmo distribuito per il consenso decentralizzato tra sistemi peer-to-peer senza fiducia (la blockchain)
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Bitcoin come rete peer-to-peer è ... • Decentralizzata e distribuita • democratica (in un certo senso) • senza alcuna autorità centrale (cioè non supportata da alcun governo o organizzazione) • Questo implica: • Nessuna necessità delle banche come intermediari di fiducia • Nessuna banca centrale coinvolta nell'emissione di denaro • Efficienza bancaria a basso costo per tutti, ovunque
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Da dove Bitcoin prende il suo valore? •Bitcoin ha valore perché le persone credono che abbia un valore •Il valore di un bene è il prezzo che reca
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Breve storia di Bitcoin La storia dei bitcoin suddivisa in alcuni capitoli rappresentativi • Pre Bitcoin-2009: sogni e ideali libertari • 2009-2010: lo sviluppo iniziale di Bitcoin • 2010-2012: scandali, hack e attività illegali • 2013-2014: Bitcoin attira l'attenzione • 2014: accettazione dei commercianti • 2013-2014: startup Bitcoin finanziate da Venture • 2015-Present: Bitcoin fa fatica a scalare • 2014-Presente: Arrivo e diffusione di Ethereum • 2015-Presente: l'aumento di interesse per le "blockchain" da parte delle banche e aziende
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Il sogno libertariano dei cypherpunk • Con l'avanzamento della tecnologia negli anni '80 e '90, nacque il movimento Cypherpunk • I cypherpunk erano ossessionati dal modo in cui la tecnologia avrebbe cambiato il rapporto tra individuo e Stato, e di come le persone potevano proteggere le loro informazioni personali e mantenere la loro privacy dal governo • Manifesto di Cypherpunk: "La privacy è necessaria per una società aperta nell'era elettronica". • Radici nel libertarismo (minima ingerenza dello Stato nella vita dei cittadini) (Locke, Von Hayek, Nozik)
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Cambiare il concetto di denaro • Il sistema finanziario esistente è stato visto come una delle maggiori minacce alla privacy individuale • DigiCash è l'esempio più famoso delle prime criptovalute • basato su un'organizzazione centrale, per confermare ogni firma digitale. • Alla fine, la società di Chaum fallì
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Satoshi Nakamoto e Bitcoin (2008) • Satoshi Nakamoto è l’autore anonimo di Bitcoin che in un white paper di nove pagine ha combinato brillantemente tutti gli sforzi precedenti per creare un denaro digitale autosufficiente (31 novembre 2008) • All’inizio, pochi ci hanno creduto (dati i fallimenti dei precedenti tentativi)
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Genesis Block (2009) • Blocco Genesis, estratto il 3 gennaio 2009 • La base del blocco della genesi fa riferimento a una storia del quotidiano Times of London che coinvolge il Cancelliere che ha salvato le banche • Prima transazione bitcoin il 12 gennaio 2009 con Hal Finney
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan The Sixty Million Dollar Pizza • Il 21 maggio 2010, Laszlo Hanyecz ha acquistato pizze per un valore di 25 USD pagando 10.000 BTC • Questa è stata la prima transazione Bitcoin al mondo per un bene tangibile • Per la maggior parte delle persone, il mining di bitcoin era semplicemente un hobby • 10.000 BTC equivalgono ora a 64.136.800 euro
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan 2010-12: Scandali, hack, attività illegali: Silk Road • Nel febbraio 2011, ha aperto Silk Road, un negozio online di scambi illecito per gli affari di droga ed altro (“l’eBay per le droghe”). Pagamenti in Bitcoin. • Nell'ottobre 2013, l'FBI ha chiuso Silk Road, confiscando 3,6 milioni di dollari di bitcoin. • Ross Ulbricht, il fondatore di Silk Road, sta scontando l'ergastolo senza possibilità di libertà vigilata • Molti altri scandali e hack, che hanno portato a consistenti perdite di bitcoin, ma sono dati dalla cattiva gestione dei servizi, non da problemi del protocollo di Bitcoin (morale: mai fidarsi di nessuno :) )
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan 2014 - accettazione da parte dei commercianti (Da CoinDesk) • 2014 gennaio: Porn.com accetta Bitcoin • 2014 gennaio: Overstock.com diventa il primo grande rivenditore ad accettare Bitcoin • 2014 aprile: I nuovi distributori automatici di marijuana del Colorado accettano Bitcoin • Settembre 2014: Partner PayPal con Coinbase, BitPay • 2014 dicembre Microsoft accetta pagamenti con Bitcoin •… • Al giorno d’oggi, i bitcoin sono ampiamente accettati come forme di pagamento
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan 2015-Oggi: Ethereum • Bitcoin si basa su un linguaggio di scripting semplice e limitato. • Ethereum è una versione di Bitcoin che supporta linguaggio di programmazione reale (“Turing completo”). • Permette applicazioni decentralizzate complesse, chiamati smart contract • Enorme potenziale per nuovi modelli di governance • Storia: • Fine 2013: Ethereum descritto nel white paper di Vitalik Buterin • Luglio e Agosto 2014: Ethereum crowdsale • 30 luglio 2015: lancio della blockchain di Ethereum • Oggi: capitalizzazione dei token > 12.5 miliardi di euro
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Iniziative di “Private Blockchain" • R3CEV • Inizia settembre 2015 • Chain - collaborazione con società finanziarie per la costruzione di uno standard aperto • Progetto Hyperledger: blockchain open source per le aziende • Gestito da Digital Asset Holdings, IBM, Linux Foundation … • Ecosistema molto ricco
3. Bitcoin e blockchain: come funzionano
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Bitcoin: Il Protocollo • Blockchain: Libro mastro pubblico distribuito delle transazioni • Le transazioni specificano il trasferimento di proprietà di una risorsa scritturale digitale • un "token digitale" che può essere scambiato, ma non duplicato • Il registro è condiviso con la tecnologia peer-to-peer e conserva per sempre tutte le transazioni, che sono accessibili a tutti • Potrebbe sostituire qualsiasi autorità centrale di registrazione
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Il funzionamento di blockchain in una slide ○ Transazioni: trasferimenti di bitcoin da indirizzi di input a indirizzi di output ○ Blocchi: raccolta timestamp di transazioni. ○ Minatore: agente che convalida le transazioni e le inserisce in blocchi ○ Blockchain: l'intera serie di blocchi 'incatenati' insieme ○ I minatori competono per aggiungere blocchi, il "vincitore" viene compensato con bitcoin
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Identità in Bitcoin • Bitcoin è pseudonimo, non anonimo • Più simile ai «conti correnti numerati» nei paradisi fiscali ... • ... ma le cui transazioni sono visibili a tutti! • L'indirizzo bitcoin non fornisce informazioni dirette sul proprietario del bitcoin • L’indirizzo è generato direttamente dall’utente con tecniche matematiche da numeri casuali (chiavi pubbliche/private) • Se si perde l’anonimato (ossia si riesce a risalire al possessore di una chiave privata corrispondente ad un cert indirizzo ad una persona), si possono tracciare tutte le transazioni dall'inizio.
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Identità in Bitcoin • Un utente può generare tutte le chiavi (e gli indirizzi) che desidera, autonomamente, e senza chiedere niente a nessuno • Indirizzo di esempio: 3EnQkjmt3Pv2Uyk8gG736xYKen9efED5LQ • Due utenti potrebbero generare le stesse chiavi (e indirizzi)? • La probabilità che ciò succeda è praticamente 0, perché la quantità di chiavi è ENORME • 2^160 indirizzi possibili (1.461.501.637.330.902.918.203.684.832.716.283.019.655.932.542. 976 indirizzi) • Granelli di sabbia sulla terra: 2^63 • Se «vediamo un mondo in un granello di sabbia»: 2^126, che in realtà è solo 0,0000000058% di 2^160
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Transazioni • Una transazione ha un elenco di indirizzi di input e un elenco di indirizzi di output • Significato: "la proprietà dei bitcoin dagli indirizzi di input viene trasferita a questi indirizzi di output, secondo queste quote” • Gli indirizzi di input devono essere gli indirizzi di output di una transazione precedente • Tx tipica: un ingresso, due uscite • Non si spende “un bitcoin”, ma si spende “QUESTO” bitcoin
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Una transazione Bitcoin - versione base • Le transazioni vengono immesse tramite il software “wallet" • La creazione del Wallet genera un indirizzo Bitcoin • Per ricevere denaro, si condivide l’indirizzo del wallet • Il mittente specifica l'indirizzo e l'importo • La transazione viene trasmessa alla rete, dove i "minatori" la verificano e la aggiungono alla cronologia delle transazioni in un nuovo blocco • Una volta convalidata, la transazione viene archiviata per sempre Coinbase interface
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Transazioni • Ogni transazione, per essere valida, deve utilizzare indirizzi di input che non sono utilizzati da altre transazioni • Gli indirizzi di output che non sono utilizzati come input di alcuna transazione è dove risiede attualmente la proprietà effettiva
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Analogia: il catasto tavolare • Esempio familiare: i lotti di terreno • Una particella non si sposta, cambia solo la proprietà • Il sistema della blockchain è come il Catasto tavolare • Il sistema tavolare è un sistema a base reale: riguarda non le "persone" dei proprietari o dei creditori, bensì sempre ed esclusivamente il bene immobile che forma l'oggetto dei diritto • Per ogni lotto (particella) è presente un foglio che registra i cambiamenti di proprietà • I lotti possono essere suddivisi e uniti, producendo nuovi fogli • Il Grundbuch (libro fondiario) è la blockchain! • Differenza fondamentale: il Grundbuch è centralizzato, la blockchain è distribuita
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Blockchain = concatenazione di blocchi di transazioni • blocco: contiene un gruppo ordinato di transazioni • I timestamp delle transazioni sono immutabili • Ogni blocco fa riferimento a un blocco precedente • Ogni blocco ha altezza e profondità (conferme) • Più un blocco è profondo, più è considerato sicuro • Attualmente 609 k blocchi, e in crescita • Blockchain = l'intera serie di blocchi 'concatenati' insieme • cfr. le pagine rilegate del Grundbuch
4. Come vengono creati i Bitcoin: il mining
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Il problema della doppia spesa • Problema: se ogni transazione è creata autonomamente da ogni utente, come possiamo impedire che un utente spenda due (o più) volte lo stesso output? • “doppia spesa” (“double spending”) • In un sistema centralizzato (p.e. banca, catasto, PRA), viene controllato da chi gestisce il registro • Ma in una blockchain non c’è nessun “sistema centrale” • Qui entra in gioco l’idea di proof-of-work di Nakamoto
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Mining di un blocco • Le transazioni non vengono confermate immediatamente, ma vengono tenute in sospeso 1.Prima il miner deve controllare la sua copia della catena di blocchi per assicurarsi che le transazioni siano legittime. 2.In secondo luogo, il suo computer deve utilizzare le risorse per risolvere un difficile enigma matematico, assolutamente inutile 3.Solo dopo aver trovato la soluzione, può annunciare il blocco delle transazioni sulla rete • In cambio si auto-assegna un premio (block reward, attualmente 12.5 BTC = 80.900 EUR)
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Il mining è una gara tra miner • Mining = competizione per verificare le transazioni • Supponiamo che Alice voglia spendere lo stesso BTC due volte • Deve fare due transazioni con lo stesso input e due output diversi • Per convincere tutta la rete che entrambe vanno bene, deve “minare” un secondo blocco (contenente la truffaldina seconda spesa) PRIMA dei nodi onesti • Ma la probabilità che ci riesca è proporzionata alla potenza di calcolo che Alice può controllare. • Finché la maggior parte della potenza di calcolo sulla rete è controllata da persone oneste, i nodi onesti hanno più probabilità di vincere la gara prima dei nodi disonesti (Alice) • MAJORITY IS AN AUTHORITY
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Attacco del 51% • Se i nodi malevoli sono in grado di controllare la maggioranza della potenza di calcolo, possono «cambiare» la storia come desiderano
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Attacchi 51% Tuttavia, se un gruppo di nodi assembla così tanta potenza di CPU, ha questo dilemma: • Utilizzarlo per attaccare il sistema, ma allora nessuno lo userebbe più e il valore dei bitcoin diventerebbe zero. • Oppure usarlo per estrarre bitcoin, guadagnando più bitcoin onestamente. Se i nodi hanno interesse nel sistema Bitcoin, sono incentivati ad agire onestamente, altrimenti “rompono il giocattolo”. Questo è tuttavia un problema per gli altcoin - chiamati altcoin infanticide (ad esempio, un singolo miner di Bitcoin, Luke-Jr., ha ucciso CoiledCoin riempiendo la sua blockchain di blocchi inutili molto più velocemente dei minatori onesti di CoiledCoin, che quindi hanno abbandonato la crittovaluta)
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Quanto è difficile trovare un blocco? • In media all'incirca ogni 10 minuti • Difficoltà del problema viene aggiustata ogni 2 settimane • Bitcoin è in offerta limitata: 21 milioni di bitcoin entro il 2141 • Si dimezza la ricompensa ogni 4 anni (halving) • L'80% è già stato estratto • Successivamente, non verranno creati altri bitcoin • E i bitcoin potrebbero andare (e essersi persi) persi - per sempre! (p.e. di proprietà di indirizzi la cui chiave privata è andata persa) • Un mercato deflazionario!
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Block Reward :: Bitcoin Halving
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Come è fatto un petahash miner
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Costi operativi per i miner • Energia utilizzata per estrarre Bitcoin è considerevole • In pratica un miner è un stufa elettrica che ti fa guadagnare • Il consumo di energia della rete Bitcoin è paragonabile a quello di un piccolo Paese (oggi, circa come la Svizzera o l’Austria) • Equivalente a 25 centrali come quella di Monfalcone • È vantaggioso (= più profitto) dislocare i miner dove l'elettricità è più economica • Ma in tali luoghi l'energia viene prodotta principalmente dal carbone e dal petrolio, quindi c'è un grande impatto sull’ambiente (grandi emissioni di CO2)
5. Alcune applicazioni della Blockchain
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Registro pubblico inalterabile • La Blockchain può essere utilizzata come un registro pubblico immutabile per archiviare praticamente tutti i dati, per sempre, anche in una situazione di mancanza di fiducia tra le parti • Utile per dimostrare l'esistenza di qualcosa in un determinato momento • Robusto anche in contesti soggetti alla censura
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Registro pubblico inalterabile • Possibili applicazioni: • Registro di passaggi di proprietà (come il catasto o il PRA) • Atti pubblici (es. anagrafe, stato civile) • Opere creative: • trademark • la hash di un documento / musica… • Tracciatura di beni (p.e. nella Supply Chain Management)
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan ethereum.org Turing complete contracts on a blockchain • I contratti sono i principali elementi costitutivi di Ethereum. • Un contratto è un programma per computer che vive all'interno della rete distribuita di Ethereum (come se fosse una transazione sospesa) e ha un proprio bilancio in ether, memoria e codice • Ogni volta che si invia una transazione a un contratto, viene eseguito il suo codice, che può archiviare dati, inviare transazioni e interagire con altri contratti • I contratti sono gestiti dalla rete, senza alcun controllo o proprietà centrale • I contratti sono scritti in un linguaggio di programmazione familiare a qualsiasi programmatore
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Esempio: compravendita di una casa in Ethereum
Bitcoin e blockchain - dalle crittovalute agli smart contract M. Miculan Per maggiori dettagli • “Bitcoin and Cryptocurrency Technologies” ottimo testo introduttivo • Disponibile a http:// bitcoinbook.cs.princeton.edu • “Mastering Ethereum” di A. Antonopoulos • Disponibile a https://github.com/ ethereumbook/ethereumbook
Grazie per la vostra attenzione Prof. Marino Miculan marino.miculan@uniud.it
Puoi anche leggere