Valute digitali Scuola di Ingegneria e Architettura - Bologna - 26 Gennaio 2016 - Unibo

Pagina creata da Greta Bertini
 
CONTINUA A LEGGERE
Valute digitali Scuola di Ingegneria e Architettura - Bologna - 26 Gennaio 2016 - Unibo
Valute digitali

            Scuola di Ingegneria e Architettura – Bologna - 26 Gennaio 2016

                                                Giovanni Neri
                                       Università degli studi di Bologna
                                            Tel +39-051-2093040
                                           Fax +39-051-2093073
                                           http://gneri.deis.unibo.it

                            Blog recensioni musicali http://kurvenal.wordpress.com

                                        e-mail giovanni.neri@unibo.it

Giovanni Neri                                                                        1
Valute digitali Scuola di Ingegneria e Architettura - Bologna - 26 Gennaio 2016 - Unibo
Soldi del Monopoli

                Fiches del casino

                Gettoni telefonici

                Assegnini

Giovanni Neri                        2
Valute digitali Scuola di Ingegneria e Architettura - Bologna - 26 Gennaio 2016 - Unibo
Presupposti

 Tentativo di generare un sistema non collegato ad alcun organo centrale di
  controllo (e quindi indipendente dale politiche nazionali e dagli organi di
  regolazione)

 Valuta dematerializzata (nel passato unità di conto…)

 Assoluta segretezza delle transazioni (con tutte le conseguenze anche negative
  rispetto a tasse, terrorismo etc.). Equivalente cash.

 Tentativo di generare un sistema autoregolato indipendente da gestori centrali

 Rischio fluttuazione

Giovanni Neri                                                                      3
Valute digitali Scuola di Ingegneria e Architettura - Bologna - 26 Gennaio 2016 - Unibo
 Che cosa NON è il BitCoin (BTC) - come ogni una valuta digitale.

      • Una carta di credito

      • Una valuta che corrisponda a biglietti o monete bancarie

      • Una valuta regolata da enti centrali governativi

      • Una valuta che si rifa a riserva auree

      • Una valuta a corso legale con cambi regolati

  E’ una valuta immateriale basata su Internet il cui valore è determinato dalla
   sua capacità di acquistare beni o servizi da coloro che la accettano

  Può essere convertita in valuta corrente da cambiavalute sulla base di un valore
   fissato quotidianamente dipendente dalla sua circolazione e che può fluttuare
   significativamente (ad esempio il 7 Gennaio in occasione della crisi finanziaria
   cinese il BitCoin è passato a Shanghai da 2,897 a 3.000 yuan ovvero + 3,5%)

  I BTC possono essere custoditi in un «wallet» locale sul PC o ci si può avvalere
   di un intermediario. BTC merchants

Giovanni Neri                                                                         4
Valute digitali Scuola di Ingegneria e Architettura - Bologna - 26 Gennaio 2016 - Unibo
Cosa è il BitCoin (BTC)?
                           Satoshi Nakamoto chi era costui?
•     Nell’ «ecosistema» del BTC esistono gli «operatori – peers » e i «minatori - miners».
      Sono operatori i classici Bob e Alice noti al sistema solo per i loro indirizzi che
      scambiano BTCs per beni e servizi. Un elenco assolutamente incompleto degli operatori
      che accettano BTCs si trova alla fine della presentazione
•     Perché BTC? Privacy: non esiste correlazione fra indirizzo e identità fisica (v. ad
      esempio donazioni a partiti politici). Un utente può anche avere (normalmente ha) n
      differenti indirizzi (come può avere n differenti firme digitali).
•     Chiunque può operare in modo trasparente anche coloro che NON hanno un conto
      corrente etc. Basta avere una connessione Internet. I BTC si comprano dai merchants
•     Totalmente decentralizzato (P2P). Non ci sono regolatori né emettitori di valuta. Il
      controllo normalmente fatto da una banca o da una istituzione finanziariaè affidato
      al sistema decentralizzato che gestisce un libro mastro (ledger) distribuito di cui esiste
      una copia su ogni nodo BitCoin
•     Poiché il valore del singolo BTC è tendenzialmente alto si usano anche gli Satoshi che
      valgono 1/100.000.000 di BTC (oggi – 26-01-2016 ore 11:16 - il BTC vale circa 366,44
      € e quindi lo Satoshi vale circa 0,0000036644€. Un € vale oggi 0.0027604 BTC). Il BTC
      questa mattina era in discesa. Valore definito dal mercato
    Giovanni Neri                                                                              5
Valute digitali Scuola di Ingegneria e Architettura - Bologna - 26 Gennaio 2016 - Unibo
Client-server vs. P2P

                Client        Client                    P            P

                         Server                                            P
         Client                        Client       P

                          Client                                 P

                   Client-Server                            Peer-to-Peer
                                                            (ex. Skype)

  Il controllo che è effettuato ad esempio dalle banche per la validazione di una
  transazione è qui effettuato in modo distribuito da tutti i peers

Giovanni Neri                                                                       6
Hash crittografico

                         Long
                        message

                                                Funzione non invertibile
        Digest SHA 160-256
           (160-256 bit)

SHA ha alcuni predecessori Message Digest 4, MD5….

Trasformazione matematica deterministica

L’hash crittografico deve essere efficiente dal punto di vista computazionale, resistente
alle collisioni, ben distribuito e apparire random

Non fornisce alcuna informazione sull’input

Giovanni Neri                                                                               7
SHA (Secure Hash Algorithm)
                            Funzione non invertibile
L’algoritmo       (la     cui     descrizione     e     codice   si     trovano     all’indirizzo
https://it.wikipedia.org/wiki/Secure_Hash_Algorithm) prevede una «imbottittura» del messaggio
iniziale e una serie successiva di rotazioni e somme. Ecco un esempio di un passo dell’algoritmo
(SHA1 per digest 160 bit, SHA2 per digest 224-512 bit).

                                                                    F è una funzione non
                                                                    lineare ;
4BTC
                                Mandami una pizza ai funghi
                                       Sono 5 BTC
                                          Eccoli
                                       Arriva la pizza!

                        Alice                                 Bob
Alice to Bob sono numeri nel sistema (sono di fatto le loro chiavi pubbliche) e la
transazione è memorizzata nel ledger ovvero il libro mastro del sistema che è
distribuito e presente in tutti i nodi dell’ «ecosistema» bitcoin

 Se supponiamo che Alice abbia 10 BTC nel suo «wallet» (che sono il risultato di
 transazioni precedenti) ne spedisce 5 a Bob e 4 a sé stessa. 1 BTC va ai «miners» come
 fee per lo sforzo compiuto(minatori ovvero i gestori della verifica – v. dopo).

 Alice inserisce nella transazione le informazioni che sono leggibili da tutti in chiaro e
 firma digitalmente con la sua chiave privata l’hash della transazione (verificabile da
 chiunque con la chiave pubblica di Alice che Alice rende disponibile). La transazione va
 all’indirizzo di BOB (che deriva dalla sua chiave pubblica) e solo a lui

Bob analizza la transazione e grazie ai «miners» che mantengono il «ledger» (catena di
blocchi di transazioni simili a una pagina di un libro mastro» - v. dopo) è sicuro della
transazione (bitcoins disponibili e indirizzati a lui). Il sistema poi garantisce che Alice
non possa spendere due volte gli stessi BTC

Giovanni Neri                                                                                 9
Aritmetica dei moduli

• Funzione non invertibile

• Due numeri y=3 e k=7

         x                   1     2        3        4         5        6

         3X                  3     9       27        81      243      729

                             3     2        6        4         5        1
    z=   yX (mod   k)

• Per numeri grandi invertire (trovare y e k a partire da z conoscendo x) è
  impossibile. Il problema è (probabilmente) np-completo (non dimostrato però)

 Giovanni Neri                                                                   10
Trasmissione delle chiavi
                                    Bob, Alice e Eva
                   Si vuole trasmettere la chiave segreta fra Bob e Alice
                            Due numeri P e Y con P primo e > Y
                              Hello - Usiamo Y = 7 e P = 11
                   Alice                                            Bob
                        (Telefono, e-mail, comunicazione non sicura)
                             Eva (riesce sapere Y e P)
         Alice sceglie A segreto (3)                     Bob sceglie B segreto (6)

  K = YA (mod P) [K = 73 (mod 11) = 2]          H = YB (mod P) [H = 76 (mod 11) = 4]

                Comunica K (=2)        Dati noti a Eva      Comunica H (=4)
   Z = HA (mod P) [Z = 43 (mod 11) = 9]          W = KB (mod P) [W = 26 (mod 11) = 9]

                               Z = W = Chiave = 9 !!!
                                       Ignota a Eva !!!
Giovanni Neri                                                                        11
Spiegazione … a colori
                           «Usiamo vernice gialla»
                 (informazione trasmessa in modo non sicuro)
                Alice                                    Bob
                                     Eva
                 (Telefono, e-mail, comunicazione non sicura)

    Alice aggiunge del verde (segreto)   Bob aggiunge del marron (segreto)
                Lo spedisce                         Lo spedisce
            Aggiunge del verde                 Aggiunge del marron

  I recipienti hanno lo stesso colore (giallo + verde + marron) !!!
 Eva ha intercettato i colori scambiati (giallo+verde e giallo+marron)
                        ma non quello finale !!!!
Giovanni Neri                                                                12
Algoritmo di crittografia RSA
                                         Rivest Shamir Adleman

 • Chi deve firmare un file F sceglie due numeri primi p e q molto grandi (chiave privata)

 • Li moltiplica ottenendo N

 • Sceglie un numero k a caso [primo con (p-1)x(q-1)]

 • Pubblica k e N (chiave pubblica)                                        pubblicati

 • Il file F viene cifrato generando C = Fk (mod N)

 • Per permettere la decifrazione è anche fornito dal firmatario un numero d tale che

                                (k x d) [mod((p-1)x(q-1))] = 1

 • Il messaggio M è decifrato calcolando           M = Cd (mod N)

                Non si riesce a risalire a p e a q da N ! Non è possibile ricostruire la chiave privata !

Giovanni Neri                                                                                               13
Esempio - cifratura

   • p = 17 e q = 11   (chiave privata)
   • N = pxq = 17x11= 187       (K e N chiave pubblica)
   •K=7                         (K=7 primo con p-1=16 e q-1=10)
   • M = 88     (messaggio da cifrare)
   • C = 887 (mod 187) (operazione di cifratura)   [Mk (mod N)]
   • Poiché vale la proprietà che dato un numero Z = Πj xj
         Z mod(N) = [(Πj xj) mod(N)] = [Πj (xj mod(N))] mod(N)
   • C = [884 (mod 187) x 882 (mod 187) x 881 (mod 187)] mod (187)
   • C = 11 (messaggio cifrato)

Giovanni Neri                                                        14
Esempio - decifratura

      dapprima calcolare d tale che (k x d) [mod((p-1)x(q-1))] = 1

• (7 x d) mod (16 x 10) = (7 x d) mod 160 = 1 -> d=23 v. nota
                                       (chiave privata)
•M=       1123   (mod 187)
                                     (chiave pubblicata)
•   M = [111 (mod 187) x 112 (mod 187) x 114 (mod 187) x 1116 (mod 187) ] mod (187)

• M = [11 x 121 x 55 x 154] (mod 187)

• M = 88 !!!!!!!

                       nota 7 x 23 : 160 = 161 :160 = 1 resto 1
    Giovanni Neri                                                                     15
Firma digitale

                                  DECODIFICA                            =?
      Certification
                                      HASH                          Si, firma OK
       Authority
                                 (Chiave pubblica)      Hash
                                                     decodificato

    Elenco delle chiavi
        pubbliche                                                         HASH
                           Hash firmato
                            (codificato)             VERIFICA
                              aggiunto
                           al documento               FIRMA

                                       Card
                                                          HASH
                                   con microchip
                                Software
                          Associata a un individuo
                             Contiene la chiave                        Documento
                                  privata

Giovanni Neri                                                                      16
Transazione

1) Creazione dell’indirizzo (ogni peer ne può avere un numero a piacere)

                                                                                   Anche per le firme digitali è
                                    Numero random ASCII         Chiave privata
                                                                                   possibile NON usare cards a
                                         256 bit                  in ASCII
                                                                                   microchip ma solo sis sw (i.e.
                                     chiave privata
                                                                                   Verisign, PGP etc.)
                   Trasformazione ellittica
                                                        Hash
                                    Chiave pubblica            Chiave pubblica
                                        512 bit                    160 bit         La maggior parte dei wallets
                                                         Codifica QR               BTC e altri software correlati
                                                                                   supportano       la    lettura
                                                                Indirizzo 58 bit   dell’indirizzo BTC come codice
                                                               per ricevere BTC    QR       (codice    a    barre
                                                                                   bidimensionale)
2) Transazione

                                    Trans A
                                                                       Trans C
                                IN            OUT                                  Ad ogni transazione vanno
                                                                 IN         OUT    aggiunti n BTC come fee per i
                               3BTC           1BTC              1BTC        1BTC   minatori. Il resto dei BTC va
                                                                                   rimandato al mittente
                                    Trans B                      IN         OUT
                                                                                   Sono possibili transazioni con IN
                                                                3BTC        3BTC
                                IN            OUT                                  e OUT multipli
                               5BTC           3BTC

Giovanni Neri                                                                                                       17
Verifica

                Transazione A=>B                               Transazione B=>C                           Transazione C=>D

                         TXN content                                 TXN content                                TXN content

     A chiave privata      B address                                  C address                                  D address
                                                  B chiave privata                           C chiave privata

                             Firma                                      Firma                                      Firma

                         TXN firmata A             Debbono                                    Debbono
                                                                   TXN firmata B                              TXN firmata C
                                                  coincidere                                 coincidere
                        A chiave pubblica                         B chiave pubblica                          C chiave pubblica
                                       Verifica                                   Verifica                                   Verifica

 •      Esempio: transazione B=>C. Il contenuto della transazione (in chiaro che include anche la
        chiave pubblica di B) è «hashed» e firmato con la chiave privata di B.

 •      La chiave pubblica di B (in realtà il suo QR) deve coincidere con l’indirizzo della transazione

 •      La chiave pubblica di B permette di verificare la validità dell’hash della transazione B=>C.
        La chiave pubblica di B poteva finora non essere stata rivelata (solo il suo QR era noto)

Giovanni Neri                                                                                                                           18
Minatori (1)

• POW Proof of Work : i nodi «minatori» costruiscono i «blocchi» selezionando le
  transazioni pendenti ancora non inserite in precedenti blocchi (tendenzialmente quelle
  che forniscono le fees maggiori), ne fanno l’hash e vanno alla ricerca di un valore
  numerico (nonce) tale che l’hash complessivo ottenuto sia inferiore al target corrente
  (correlato a un parametro «difficoltà» gestito dall’ecosistema BTC), ovvero un valore
  che ha come caratteristica quella di avere molti zeri iniziali. Inseriscono anche il loro
  indirizzo per ricevere il reward se per primi trovano il POW
• Il «vincitore» valida il blocco (leggibile in chiaro e che si lega alla catena di blocchi
  precedenti) e ottiene il «reward» (fees + BTC generati – v.dopo). Le transazioni del
  blocco sono considerate verificate (Bob può mandare la pizza ad Alice! In realtà dopo
  almeno 6 blocchi per sicurezza…). Il POW è difficile da trovare («brute force») ma
  immediato da verificare
• La ricerca del POW è diversa per ogni minatore dal momento che nei dati da minare è
  inserito l’indirizzo del minatore.
• La difficoltà del sistema viene calibrata in modo che mediamente venga generato un
  nuovo blocco ogni 10 minuti (statistico visto l’alto numero dei minatori). Viene
  aumentata o diminuita ogni 2016 blocchi a seconda dei tempi impiegati ovvero
  teoricamente circa ogni due settimane (10x6x24x14 = 2016). Hardware dedicato – ASIC,
  Miners pools
Giovanni Neri                                                                            19
5BTC
                                                 4 BTC
                     Trans                                                   Trans

                                       Alice                      Bob
                                                                                 Teoricamente potrebbe succedere che due
                                                                                 miners calcolino allo stesso tempo un POW (il
                                       M
                                       M       M           M      M              numero di transazioni per blocco è libero e
                                                                                 non influisce di fatto sul tempo di mining):
                                       Tr2                         Trn
                                                                                 maggiore però il numero di transazioni
                                 Tr1                      Trn-1
                                                                                 maggiori i fees. In questo caso vale la chain
                                   Hash                        Hash              con la difficoltà complessiva maggiore (la
        Fees+Reward
                                                                                 somma delle relative difficoltà)
                                                                                 Per ragioni di sicurezza una transazione si
                                                 Hash
                                                                                 considera confermata quando è annegata in
                                                                                 sei blocchi. Dipende comunque dai wallets in
                                                                                 base al rapporto sicurezza/tempo. Per i BTC
   Block     Block       Block                     Hash                          generati il numero di blocchi richiesti è 100

  t=0
                                             Challenge             Hash              Proof of Work ?

                                                                         <
                        Block                         0000……000xxxxxxxxx…. target

                                          Difficoltà=> target - ricalibrata a tempi fissi
                                            in modo che il tempo medio sia 10 mins
                       La funzione hash non è invertibile ovvero conoscendo il
Giovanni Neri        challenge e fissando l’hash NON è possibile trovare il POW!!                                            20
Minatori (2)

• In caso (rarissimo, ovviamente) di coincidenza temporale l’ecosistema bitcoin accetta la
  blockchain più lunga ovvero quella la cui somma delle difficoltà ha il maggior valore
  numerico (ovvero quella che presumibilmente ha richiesto il maggior tempo)

• Alcune transazioni possono teoricamente essere rimandate a lungo (ad esempio se non
  forniscono fee...)

• Ogni nuovo blocco è broadcasted così ogni nodo può verificare se la propria transazione
  è entrata nella chain (e quindi verificata)

•     Per ogni BTC attraverso le varie transazioni si può risalire fino alla sua creazione
      come reward. I BTC sono creati solo come reward

    Giovanni Neri                                                                            21
Un dispositivo di mining

       Data la difficoltà di «minare» i blocchi si sono costituiti pools di minatori

Giovanni Neri                                                                          22
Difficoltà di mining
         In ogni blocco il target è rappresentato «packed» Tpacked b1##b2 H(exadecimal)
            ll Tattuale si calcola dalla formula => b2 x 2 8(b1-3) imbottito a sinistra di «0»

                  Ad esempio se Tpacked = 1A0CD43FH => Tattuale=0CD43F x 2 8(1A-3) Hex da cui
                                                 i
      Tattuale= 0000000000000CD43F0000000000000000000000000000000000000000000000H
 Il POW «hashed» con il challenge delle transazioni del blocco deve fornire un valore inferiore al
 Tattuale. Variando Tpacked (indicato in ogni blocco come «bits») ogni 2016 blocchi minati aumenta
 (diminuisce) nel target il numero degli zeri iniziali e quindi diminuisce (aumenta) il numero dei
 valori in grado di soddisfare la diseguaglianza e aumenta (diminuisce) quindi il tempo medio di
 ricerca del POW. Così si regola statisticamente il valore medio di un blocco minato ogni 10
 minuti calcolando il tempo complessivo richiesto per il 2016 blocchi
       T1 è il valore massimo del target (valore minimo della difficoltà) prefissato a 1D00FFFF

            (1D-3)H = 1A H =26 D => 26x8=208 => 2208 => 208 «0» ovvero 52 valori Hex

         T1 = 00000000FFFF0000000000000000000000000000000000000000000000000000H
 Attualmente (21/1/2016) Tpacked (bits) = 403288859D =1809B31B H => Tattuale =09B31B x 2 8(18-3) Hex

        Tattuale=000000000000000009B31B000000000000000000000000000000000000000000 H

                La difficoltà D è un parametro riassuntivo calcolato come T1/Tattuale

                           da cui Dattuale= 113.354.299.801,47 (Decimale)
Giovanni Neri                                                                                     23
Profitability

 http://tpbitcalc.appspot.com/?difficulty=113354299801.0000&hashrate=1000.00&exchangerate=395.60&bitcoin
 sperblock=25.00&rigcost=1000.00&powerconsumption=80.00&powercost=0.10&investmentperiod=355
                Breakevem => 1.700.000 MHash//sec !!!!!! Raggiunto con il pool mining 1018 H/sec !
Giovanni Neri                                                                                              24
Bob e Alice             …. che hanno
 Wallets
 indirizzi
                                hanno PC
«Double spending»

                                         12BTC
                                          3 BTC

                                 Eva                   Bob

                 Pete

         Block   Block   Block         Block   Block         Block    Block    Block   Block

        T=0
                                                  Block       Block    Block

   Poiché la blockchain accettata è la più lunga (maggior difficoltà complessiva) Eva
   dovrebbe essere in grado di generare blocchi a partire da quello «corrotto» più in
   fretta di tutti gli altri minatori e con difficoltà complessiva superiore. Dovrebbe
   avere più del 50% della potenza complessiva di calcolo di tutti i minatori!!!
Giovanni Neri                                                                                  26
Struttura di una transazione

                •   Ora dell’invio

                •   Importo in BTC

                •   Indirizzo di provenienza

                •   Indirizzo di destinazione

                •   Dati della transazione precedente (hash)

                •   Hash dei dati

Giovanni Neri                                                  27
Struttura di un blocco

                                           dimensione del blocco
N. transazioni giornaliere del Dicembre 2015

         https://www.quandl.com/data/BCHAIN/NTRAN-Bitcoin-Number-of-Transactions
           https://www.quandl.com: questo sito aggiorna quotidianamente i dati su BitCoin e valute
                         Tutti i dati riportati nei grafici sono aggiornati all’8/1/2016
Giovanni Neri                                                                                        29
N. transazioni dall’inizio del BTC

Giovanni Neri                                        30
Dimensione media dei blocchi (in MB)

                    https://www.quandl.com/data/BCHAIN/AVBLS-Bitcoin-Average-Block-Size

                                 Numero medio di transazioni per blocco

Giovanni Neri   https://www.quandl.com/data/BCHAIN/NTRBL-Bitcoin-Number-of-Transaction-per-Block   31
Andamento della difficoltà

Giovanni Neri                                32
Esempi di blocchi (http://blockexplorer.com)

 Number          Hash             Time             Transactions    Total BTC        Size (kB)

                                  2015-06-01
 358999          6ecee94daa...                     232             4262.90539567    153.691
                                  21:31:38
                                  2015-06-01
 358998          109b2a06d4...                     1284            10131.18979887   663.872
                                  21:30:01
                                  2015-06-01
 358997          13922bb84b...                     1048            10666.38091663   749.092
                                  21:15:15
                                  2015-06-01
 358996          14afb22d9a...                     937             8103.11744471    473.959
                                  21:09:35
                                  2015-06-01
 358995          13df1fed20...                     1700            9212.96452347    999.98
                                  21:01:40
                                  2015-06-01
 358994          440e239997...                     1288            8694.57122792    749.178
                                  20:51:03
                                  2015-06-01
 358993          b1b8432059...                     2510            18655.70162198   749.114
                                  20:39:57
                                  2015-06-01
 358992          d03b6f48fc...                     1247            9812.03749267    647.794
                                  20:19:28
                                  2015-06-01
 358991          75a7c4b679...                     872             7585.56728045    749.105
                                  20:13:08

  Maggiore è il numero di transazioni inserite in un blocco che si riesce a inserire nella block chain
                         maggiore è la fee complessiva (NON il reward)!!!

Giovanni Neri                                                                                            33
La produzione di BTC

•     I BTC sono generati out of thin air come reward. Il tetto al numero di BTC previsto è di         21
      milioni (al valore attuale di 370 €/BTC      - 25 Gennaio 10:25 ) circa 7,5 miliardi di €)

•     Il reward per ogni blocco «mined» si dimezza ogni 210.000 blocchi «mined» (circa 4 anni). Era 50
      BTC all’inizio e già oggi è 25 BTC. Considerando un blocco mined ogni 10 mins. e la riduzione
      programmata del reward (v. dopo) il valore di 21 milioni di BTC sarà raggiunto circa nel 2040.

•     Il controllo dell’emissione è ottenuto anche calibrando la difficoltà del POW

•     Quando saranno raggiunti i 21 milioni di BTC il reward sarà solo nelle fees delle transazionni.
      Ma a quel punto il numero di utenti BTC renderà il mining attraente

•     Il BTC è convertibile nelle valute correnti. Il suo valore fluttua giorno per giorno e anche ora per
      ora come una qualsiasi commodity

    Giovanni Neri                                                                                            34
Prima generazione di BTC (BTC genesis block)

•   Come sono stati generati inizialmente i BTC ? Blocco «hardcoded» nel sw con una transazione che genera
    BTC non spendibili perché non provenienti da precedente transazione . Blocco 0 della blockchain senza input
    (hash del blocco precedente tutti zeri) con 50 BTC

•   Input
      Previous output N/A
      Amount: 50 + reward
      From address N/A
      Type generation
      Firma 04ffff………….…….

•   Output
      Index 0
      Redeemed at input Not yet redeemed
      Amount 50 (questo è il reward spendibile per avere «minato» il blocco)
      To address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa (Codice QR)
      Type Pubkey
      Signature 0467……

•   Hash 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26fH inferiore al target iniziale
         00000000ffff0000000000000000000000000000000000000000000000000000H
•   Ovviamente si possono creare altre blockchains ….. (ce ne sono 3 per test)

                 http://bitcoin.stackexchange.com/tags/genesis-block/hot
Giovanni Neri                                                                                               35
Valore del reward in BitCoin

Giovanni Neri                                  36
Numero totale di BitCoins prodotti…

 10.000.000

 1.000.000

  100.000

  10.000

  1000

   100

              Jan ‘09   Jul ‘09   Jan ‘10   Jul ‘10    Jan ‘11   Jul ‘11   Jan ‘12   Jul ‘12   Jan ‘13   Jul ‘13   Jan ‘14   Jul ‘14   Jan ‘15   Jul ‘15   Jan ‘16

                                                          … dall’inizio dei tempi
Giovanni Neri                                                                                                                                                        37
Numero totale di BitCoins prodotti…
  15.080.000

  15.060.000

  15.040.000

  15.020.000

  15.000.000

  14.960.000

  14.960.000

  14.940.000

               10 Dec   12 Dec   14Dec   16Dec   18 Dec   20 Dec   22Dec   24 Dec   26 Dec   28 Dec   30 Dec   1 Jan   3 Jan   5 Jan   71 Jan

                                                  … negli ultimi 30 gg.
Giovanni Neri                                                                                                                                   38
La blockchain in tempo reale
                                 https://blockchain.info/
 •   Come si propaga una transazione? I wallet rimbalzano la informazione a tutti i nodi cui
     sono connessi. Questo garantisce che la transazione arrive ai minatori. In generale un nodo è
     connesso (rimbalza a..) a almeno 8 nodi (random) e quindi propagazione (anche se con
     qualche minimo ritardo). Il protocollo è TCP (IPv4 e IPv6). Nessun nodo conosce tutti gli
     altri nodi

 •   Ogni trasmissione di transazione porta a ricevere uno o più indirizzi peers

 •   Un peer può ricevere più volte la stessa transazione ma non la rimbalza dopo la prima volta.
     Ovviamente la transazione è rimossa quando “mined” (informazione inviata con lo stesso
     metodo)

 •   In ogni caso ogni peer manda un messaggio di “esistenza in vita” ogni 24 ore rimbalzato con
     lo stesso metodo

 •   Ogni trasmissione di transazione porta a ricevere uno o più indirizzi peers (timeout)

 •   All’inizio di una connessione si invia l’hash del blocco minato che si ritiene più recente ai
     peers. Se non è ritenuto il più recente si riceve un blocco che è fino a 500 blocchi più recente
     di quello inviato. Il contenuto di tutti i blocchi viene essere richiesto ai peers. A questo punto
     la procedura si ripete fino a ricevere tutti i blocchi (al momento circa 7 GB). “Gossip system”

Giovanni Neri                                                                                             39
Una lista parziale dei peers attivi viene anche mantenuta – ad esempio –da www.blockchain.info

 che è il maggior sito disponibile dove si trova anche l’hash dell’ultimo blocco minato

 •   Esempio:

     Sommario
     Altezza                                              394181 (Main chain)

                                                          00000000000000000175b79556262c4700397fccda435bf7a
     Hash
                                                          697e76652389e3e

                                                          000000000000000004e9f6ef12a13a6db1598fd43f22b3da66
     Blocco Precedente
                                                          841977b08acbba

     Blocchi Successivi                                   (non esistente ovviamente – ultimo blocco minato)

     Orario                                               2016-01-20 (20 Gennaio 2016) 16:15:56

     Difficoltà (decimale)                                113,354,299,801.47

     Bits (packed target decimale)                        403288859D (=1809B31BH)

     Numero di Transazioni                                745

     Totale Output                                        5.486,27138187 BTC

     Volume Transazioni                                   1.285,27153384 BTC

     Dimensione                                           976.5498046875 KB

Giovanni Neri                                                                                                  40
Sommario (il reward attualmente è 25 BTC)

                  Numero delle Transazioni         745
                                                   5.486,27138187 BTC
                  Totale Output
                                                   (1 BTC 411,9 USD – 377,4 €)
                  Volumedella Transazione
                  (totale pagato – il resto        1.285,27153384 BTC
                  tornato indietro)
                  Commissioni di Transazione
                                                   0,27941656 BTC
                  (fees)
                  Altezza                          394181 (Catena Principale)

                  Timestamp                        2016-01-20 16:15:56

                  Orario di Ricezione              2016-01-20 16:15:56

                  Inoltrato da                     F2Pool

                  Difficoltà (decimale)            113.354.299.801,47
                                                   403288859D (=1809B31BH)
                  Bit (packed target - decimale)

                  Dimensione                       976.5498046875 KB

 •   Rete di Propagazione https://blockchain.info/it/inv/00000000000000000175b795
                              56262c4700397fccda435bf7a697e76652389e3e

Giovanni Neri                                                                       41
Valore in € del BitCoin (dall’inizio - in anni)

Giovanni Neri                                                     42
Valore in € del BitCoin

                 … negli ultimi sei mesi
Giovanni Neri                              43
Valore in $ del BitCoin

                … negli ultimi 7 giorni….

Giovanni Neri                               44
Giovanni Neri   47
Capitalizzazione di mercato BTC vs valore in USD

Giovanni Neri                                                  48
Confronti (June 2015)
                  Strumento di pagamento      Transazioni giornaliere
                Visa                       212.603.000
                Mastercard                 98.578.000
                AMEX                       14.521.000
                Paypal                     7.700.000
                Western Union              633.000
                Bitcoin                    65.122
                Xoom Corp                  25.000

                  Strumento di pagamento             Volumi in $
                Visa                       16.518.000.000
                Mastercard                 9.863.000.000
                AMEX                       2.434.000.000
                Paypal                     397.000.000
                Western Union              216.000.000
                Bitcoin                    33.400.000
                Xoom Corp                  15.000.000
Giovanni Neri                                                           49
Un po’ di storia
•    15/08/2008 Data di deposito di una richiesta di brevetto

•    18/10/2008 Registrazione del sito Bitcoin.org

•    31/10/2008 Data ufficiale di creazione - Pubblicazione del design paper

•    03/01/2009 Prima release del software e creazione genesis block

•    02/06/2011 Difficoltà 1.000.000 raggiunta con il blocco 133.056

•    02/04/2013 Il BTC super i 100$

•    11/03/2014 La Bank of China dichiara di non volere bloccare i BTC

•    30/07/2014 Wikimedia accetta donazioni in BTC

•    23/09/2014 Paypal permette ai commercianti nordamericani l’uso dei BTC

                           http://historyofbitcoin.org/
Giovanni Neri                                                                  50
Altre applicazioni della Blockchain

•     La tecnologia della blockchain può essere applicabile in moltissimi campi (ad
      esempio tutte le transazioni commerciali, oppure come DB a prova di intrusione
      (Grecia e Honduras lo stanno introducendo per il catasto), cataloghi delle opere
      d’arte, documenti notarili (v. firma digitale), servizi finanziari per eliminare i libri
      mastri. Il banco Santander ha valutato un risparmio di 22M€ per anno entro il 2022

•      Può anche essere realizzata con metodi meno «computer» intensive» del mining
       ovvero metodi di garanzia meno complessi (e quindi meno costosi) in funzione del
       grado di sicurezza richiesto. Bank of England ha indetto un concorso per studenti
       per nuove applicazioni della Blockchain

•      25 banche sono riunite nel R3 CEV per uno standard comune. Il NASDAC sta
       iniziando a usarlo per la memorizzazione delle securities delle compagnie private

    Giovanni Neri                                                                                51
Perchè il BTCè avversato

  •   Droga, terrorismo, tasse….

  •   Banche, carte di credito, altri sistemi di garanzia di pagamento sono ovviamente
      avversi ma in modo più o meno aperto prendono in considerazione la tecnologia
      Anche a causa della diminuita fiducia degli utilizzatori nei confronti degli istituti di
      credito…

 • Il BTC (dichiarato morto ogni mese, chissà da chi….) è comunque un sistema
   giovane ed è necessario un adeguato periodo di assestamento per verificarne tutti
   gli effetti e quindi standardizzarlo.

 • Alla conferenza PayExpo del Giugno 2015 è stata presentata una carta di credito in
   BTC.

 • First they ignore you, then they laugh at you, then they fight you. Then you
   win. (attribuita a Gandhi - forse)

Giovanni Neri                                                                                    52
Food for thought…
Sito ufficiale BTC http://www.bitcoin.org

Un articolo di comoda lettura

https://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8
&ved=0ahUKEwjs-
qWgurPKAhWBhA8KHTMkBJYQFggfMAA&url=http%3A%2F%2Fnetworkcultures.o
rg%2Fgeert%2F2015%2F01%2F28%2Fgeert-lovink-and-patrice-riemens-the-bitcoin-
experience-part-i%2F&usg=AFQjCNHntAfJKHOAffHPVJxdtd-
5l2G77w&bvm=bv.112064104,d.bGQ

Un journal: http://bitcoinist.net

Un report molto «biased»

http://www.wealthdaily.com/reportpdfs/a-beginners-guide-to-bitcoin-1349.pdf

Conferenza BitCoin

http://insidebitcoins.com/new-york/2016

Assob.it è l'associazione per lo sviluppo e la diffusione delle tecnologie basate sulla blockchain
http://www.assob.it/

Giovanni Neri                                                                                        53
Interviste e articoli

•   http://www.econopoly.ilsole24ore.com/2015/11/24/banca-intesa-ametrano/

•   http://www.pymnts.com/in-depth/2015/what-banks-stand-to-lose-by-ignoring-blockchain/

•   http://www.finextra.com/blogs/fullblog.aspx?blogid=11913&utm_medium=rs

•   http://www.paymenteye.com/2015/11/23/coinbase-introduces-bitcoin-visa-debit-cards/

 http://qz.com/563967/goldman-sachs-wants-to-create-its-own-version-of-bitcoin/

•   Rivista del BTC http://bitcoinist.net/

•   http://www.zdnet.com/article/bitcoin-group-ceo-eyes-billion-dollar-opportunity-with-upcoming-
    asx-debut/

•   http://www.coindesk.com/bitcoin-notary-startup-develops-tool-for-russian-payments-
    firm/

•   http://www.coindesk.com/2016-blockchain-reality-deloitte/

Giovanni Neri                                                                                       54
Giovanni Neri   55
Giovanni Neri   56
Elenco di alcune società che accettano BTC come pagamento

  http://www.bitcoinvalues.net/who-accepts-bitcoins-payment-companies-stores-take-bitcoins.html

  Bitcoin now accepted by 100,000 merchants worldwide

  Companies that now accept bitcoin payments include Microsoft, Dell, Wikipedia, Twitch,
  Greenpeace, Expedia and PayPal.

Giovanni Neri                                                                                     57
•WordPress.com – An online company that allows user to create free blogs
 •Overstock.com – A company that sells big ticket items at lower prices due to overstocking
 •Amazon – An online company that sells almost anything.
 •Target – An American retailing company
 •CVS – A pharmacy shop
 •Subway – Eat fresh
 •Victoria’s Secret – A lingerie outlet
 •Namecheap - Domain name registrar
 •Bitcoin.Travel – a travel site that provides accommodation, apartments, attractions, bars, and beauty
 salons around the world
 •Pembury Tavern – A pub in London, England
 • Old Fitzroy – A pub in Sydney, Australia
 •The Pink Cow – A diner in Tokyo, Japan
 •Virgin Galactic - Richard Branson company that includes Virgin Mobile and Virgin Airline
 •The Pirate Bay - BitTorrent directories
 •Reddit – You can buy premium features there with bitcoins
 •Zynga – Mobile gaming
 •PayPal / Ebay - Credit card / payment processor / Auction
 •Tesla – The car company
 •OkCupid – Online dating site

Giovanni Neri                                                                                             58
•4Chan.org – For premium services
•EZTV – Torrents TV shows provider
•Mega.co.nz – The new venture started by the former owner of MegaUpload Kim
Dotcom
•Lumfile – Free cloud base file server – pay for premium services
•Etsy Vendors – 93 of them
•PizzaForCoins.com - Domino’s Pizza signed up – pay for their pizza with bitcons
•Tigerdirect – Major electronic online retailer
•CheapAir.com – Travel booking site for airline tickets, car rentals, hotels
•Expedia.com – Online travel booking agency
•Zappos – Online retailer
•Whole Foods – Organic food store (by purchasing gift card from Gyft)
•Bitcoincoffee.com – Buy your favorite coffee online
•Grass Hill Alpacas – A local farm in Haydenville, MA
•Jeffersons Store - A street wear clothing store in Bergenfield, N.J
•Helen’s Pizza - Jersey City, N.J., you can get a slice of pizza for 0.00339 bitcoin by
pointing your phone at a sign next to the cash register
•A Class Limousine - Pick you up and drop you off at Newark (N.J.) Airport
•Fiverr.com – Get almost anything done for $5
•Seoclerks.com – Get SEO work done on your site cheap
•Namecheap – Cheap domain registration company
•Sacramento Kings – Professional Basketball team out in Sacramental California
(NBA)

 Giovanni Neri                                                                            59
•Mint.com - Mint pulls all your financial accounts into one place. Set a budget, track your goals and do
more
with your money, for free! (Source: mint.com)
•TechCrunch.com – IT blog
•Fancy.com - Discover amazing stuff, collect the things you love, buy it all in one place
•Bing by Microsoft – 2nd search engine to Google
•Bloomberg.com – Online newspaper
•Humblebundle.com – Indie game site
•BigFishGames.com – Games for PC, Mac and Smartphones (iPhone, Android, Windows)
•Suntimes.com – Chicago based online newspaper
•San Jose Earthquakes – San Jose California Professional Soccer Team (MLS)
•Square – Payment processor that help small businesses accept credit cards using iPhone, Android or
iPad
•Crowdtilt.com - The fastest and easiest way to pool funds with family and friends
•Lumfile – Server company that offers free cloud-based servers
•Museum of the Coastal Bend - 2200 East Red River Street, Victoria, Texas 77901, USA
•Home Depot - Office supplies store
•Kmart - Retail products store

 Giovanni Neri                                                                                             60
•Sears - Clothing and household products, electronic store
•Gap, GameStop and JC Penney – have to use eGifter.com
•Etsy Vendors – Original art and Jewelry creations
•Fight for the Future – Leading organization finding for Internet freedom
•i-Pmart (ipmart.com.my) – A Malaysian online mobile phone and electronic parts
retailer
•curryupnow.com - A total of 12 restaurants on the list of restaurants accept bitcoins in
San Francisco Bay Area
•Dish Network - An American direct-broadcast satellite service provider
•Apple’s App Store - Buy music and any app on the Apple AppStore with bitcoins
•The Libertarian Party – United States political party
•Yacht-base.com – Croatian yacht charter company
•Euro Pacific – A major precious metal dealer
•CEX – The trade-in chain has a shop in Glasgow, Scotland that accepts bitcoin
•Straub Auto Repairs - 477 Warburton Ave, Hastings-on-Hudson, NY 10706 - (914)
478-1177        (914) 478-1177
•PSP Mollie – Dutch Payment Service
•Intuit - an American software company that develops financial and tax preparation
software and related services for small businesses, accountants and individuals.

 Giovanni Neri                                                                              61
•Newegg.com – Online electronics retailer now uses bitpay to accept bitcoin as payment
 •ShopJoy – An Australian online retailer that sells novelty and unique gifts
 • Wikipedia - The Free Encyclopedia with 4 570 000+ article
 •Lv.net - Las Vegas high speed internet services
 •ExpressVPN.com – High speed, ultra secure VPN network
 •Grooveshark – Online music streaming service based in the United States
 •Dell - American privately owned multinational computer technology company
 •Braintree – Well known payments processor
 •MIT Coop Store - Massachusetts Institute of Technology student bookstore
 •SimplePay - Nigeria’s most popular web and mobile-based wallet service
 •SFU bookstore - Simon Fraser University in Vancouver, Canada
 •State Republican Party – First State Republican Party to accept bitcoin donations
 (http://www.lagop.com/bitcoin-donate)
 •mspinc.com – Respiratory medical equipment supplies store
 •1-800-FLOWERS.COM                1-800-FLOWERS.COM FREE – United States based online
 floral and gift retailer and distributor

 - See more at: http://www.bitcoinvalues.net/who-accepts-bitcoins-payment-companies-
 stores-take-bitcoins.html#sthash.eB6bValo.dpuf

Giovanni Neri                                                                             62
•   La documentazione del seminario:
                      File PDF
                      File PPSM
                      Registrazione della conferenza (slides e voce)
                      Software installabile (Windows) per l’uso dei files

                si trova (da domani) all’indirizzo:

                http://www3.deis.unibo.it/Staff/FullProf/GNeri/ftproot/Bitcoin/

                                          Giovanni Neri
                                 Università degli studi di Bologna
                                      Tel +39-051-2093040
                                     Fax +39-051-2093073
                                     http://gneri.deis.unibo.it

                      Blog recensioni musicali http://kurvenal.wordpress.com

                                  e-mail giovanni.neri@unibo.it

Giovanni Neri                                                                     63
Puoi anche leggere