Beruflich Dokumente
Kultur Dokumente
TESI
DI
LAUREA
MAGISTRALE
IN
INFORMATICA
RELATORE:
PROF.
CARLO
TRAVERSO
CONTRORELATORE:
PROF.
GIUSEPPE
ATTARDI
CANDIDATO:
DAMIANO
PIERMARTINI
MONETA
DIGITALE:
BITCOIN
E
BITCOIN,
ANALISI
E
PROSPETTIVE
Damiano
Piermartini
27
giugno
2014
Riassunto
Analitico
Scopo
di
questa
tesi
di
comprendere
e
analizzare
tutti
gli
aspetti
di
Bitcoin,
per
poter
formulare
delle
previsioni
sul
suo
sviluppo
nel
breve
futuro.
Nella
tesi
verr
analizzato
il
concetto
di
valuta
digitale,
la
sua
storia
e
le
idee
che
hanno
portato
alla
sua
nascita.
Verranno
analizzati
gli
aspetti
tecnici
e
le
regole
alla
base
del
funzionamento
del
protocollo,
con
particolare
attenzione
all'analisi
del
mining.
Verr
poi
trattato
il
problema
della
sicurezza
del
protocollo,
analizzando
i
principali
attacchi
noti,
con
particolare
attenzione
alle
tecniche
di
mining
fraudolento,
distruzione
dell'anonimato
e
tentativi
di
double
spending.
Gli
attacchi
saranno
particolarmente
analizzati
alla
luce
degli
effetti
possibili
sullo
sviluppo
di
Bitcoin.
Saranno
analizzate
le
funzioni
crittografiche
alla
base
del
protocollo
e
la
loro
sicurezza,
analizzando
anche
un
possibile
scenario
futuro
di
crittoanalisi
quantistica.
Tratteremo
altri
esempi
di
valuta
digitale
odierna,
soffermandoci
in
particolare
sulle
nuove
valute
nate
da
Bitcoin.
Useremo
poi
le
tecniche
spiegate
nella
tesi
per
analizzare
la
comunit
degli
utenti
di
bitcoin,
mostrando
unanalisi
personale
della
rete
realizzata
dallautore.
Una
parte
importante
della
trattazione
sar
dedicata
all'analisi
del
futuro
di
bitcoin.
Cercheremo
di
comprendere
l'economia
nella
comunit
attuale
di
bitcoin
ed
il
suo
sviluppo
futuro.
Analizzeremo
la
sua
storia
e
le
normative
attualmente
in
vigore.
Considereremo
il
presente
e
futuro
delle
commissioni
e
del
mining
di
Bitcoin
e
analizzeremo
la
scalabilit
del
protocollo.
Oltre
ad
un'analisi
conclusiva
sulle
prospettive
future
mostreremo
una
semplice
modifica
che
potrebbe
aumentare
il
successo
futuro
di
bitcoin.
Abstract
The
aim
of
this
thesis
is
to
analyze
and
understand
all
of
Bitcoin's
aspects,
in
order
to
forecast
its
development
in
the
near
future.
Were
going
to
analyze
the
concept
of
digital
currency,
his
history
and
the
ideas
behind
its
birth.
In
the
thesis
we're
going
to
analyze
technical
aspects
and
rules
on
the
core
of
the
protocol
definition,
with
particular
focus
on
mining
analysis.
We're
going
to
study
the
security
issues
of
the
protocol,
analyzing
the
main
known
attacks,
especially
focusing
on
fraudolent
mining,
deanonymizing
and
double
spending
techniques.
Well
show
the
possible
future
effects
of
this
attacks
on
the
bitcoin
phenomenon.
We're
going
to
analyze
the
cryptographic
functions
at
the
core
of
the
protocol
and
their
security,
also
studying
them
by
a
post
quantum
cryptography
point
of
view.
We're
going
to
show
examples
of
others
modern
days
digital
currencies,
focusing
on
new
Bitcoin
based
currencies.
Were
going
to
use
the
techniques
we
explained
in
the
thesis
to
study
the
bitcoin
user
community,
showing
the
results
of
an
analysis
made
by
the
author.
An
important
part
of
the
thesis
is
going
to
be
dedicated
to
the
analysis
of
the
future
of
bitcoin.
We're
going
to
study
the
economy
in
the
actual
bitcoin
community
and
it's
predictable
future.
We're
going
to
study
its
history,
recent
regulations
and
scalability.
We're
going
to
analyze
the
present
and
future
of
both
mining
and
transaction's
fees.
After
conclusive
predictions
about
the
foreseeable
future
development,
we're
going
to
show
a
simple
change
to
the
actual
protocol
which
could
enhance
bitcoin's
future
success.
Indice
Introduzione
9
Capitolo
1
Storia
e
Filosofia
13
Capitolo 2 Protocollo 39
2.1
Indirizzi
39
2.2
Transazioni
40
2.3
Mining
43
2.4
Biforcazioni
50
2.5
Verifica
Semplificata
SPV
56
2.6
Network
59
Capitolo
3
Crittografia
65
5.1
Discendenti
di
Bitcoin
135
5.1.1
Litecoin
136
5.1.2
Peercoin
140
5.1.3
Namecoin
142
5.1.4
Primecoin
143
5.2
Ripple
144
5.2.1
Fondamentali
del
Protocollo
145
5.2.2
Valuta
interna
146
5.2.3
Confronto
con
Bitcoin
147
Capitolo
6
Analisi
del
Grafo
148
6.1
Ron
e
Shamir
151
6.2
A
Fistful
of
Bitcoins
154
6.3
Analisi
dellautore
158
Capitolo
7
Prospettive
Future
173
7.1
Economia
173
7.1.1
Tasso
di
cambio
175
7.1.2
Volatilit
178
7.1.3
Deflazione
179
7.1.4
Capitalizzazione
181
7.2
Scalabilit
184
7.3
Costo
del
mining
188
7.3.1
Costo
del
dollaro
189
7.3.2
Costo
dei
bitcoins
192
7.3.3
Confronto
194
7.4
Futuro
delle
commissioni
195
7.5
Normative
201
7.5.1
Unione
Europea
202
8
Bibliografia 215
INTRODUZIONE
Nel
2008
uno
pseudonimo
Satoshi
Nakamoto
pubblic
il
manifesto
di
una
nuova
moneta
digitale
chiamata
Bitcoin
con
l'obbiettivo
dichiarato
di
creare
una
nuova
moneta
libera
e
sicura
per
tutti.
Cinque
anni
dopo
(fine
2013)
un
bitcoin
valeva
mille
e
duecento
dollari
statunitensi.
Lo
scopo
di
questa
tesi
analizzare
il
fenomeno
bitcoin.
Per
farlo
saranno
necessari
uno
studio
rigoroso
delle
caratteristiche
tecniche
alla
base
del
protocollo,
ed
un'analisi
accurata
del
suo
utilizzo
nella
societ.
Saranno
quindi
approfonditi
sia
gli
aspetti
tecnici
che
sociali.
In
genere
utilizzato
il
termine
Bitcoin
per
rappresentare
l'insieme
delle
regole
tecniche
che
formano
il
protocollo,
e
bitcoin
per
indicare
l'utilizzo
pratico
che
ne
viene
fatto
nella
societ
(come
anche
la
valuta
stessa).
Analizzeremo
quindi
nella
tesi
questo
dualismo
Bitcoin-bitcoin.
Vediamo
adesso
i
principi
fondanti
alla
base
di
Bitcoin
e
interroghiamoci
sulla
loro
validit,
anche
se
la
risposta
alle
domande
poste
di
seguito
sar
possibile
solo
nelle
conclusioni
di
questo
lavoro,
quando
avremo
un'approfondita
conoscenza
sia
di
Bitcoin
che
di
bitcoin.
fondi.
Questo
aspetto
piace
molto
alla
comunit
libertaria,
ed
ha
avuto
molta
presa
anche
su
utenti
comuni
delusi
dalla
crisi
finanziaria
globale.
Oggi
Bitcoin
realmente
decentralizzato,
ma
davvero
corretto
pensare
che
nel
tempo
si
manterr
libero
ed
indipendente,
oppure
lecito
prevedere
che
nel
futuro
sar
controllato
e
gestito
da
un'unica
entit
centrale?
Nel
primo
capitolo
chiariremo
i
concetti
alla
base
di
Bitcoin
e
delle
valute
digitali
in
genere.
Spiegheremo
il
concetto
di
valuta
digitale
e
la
sua
storia,
confrontandolo
con
gli
altri
concetti
con
cui
solitamente
confuso.
Analizzeremo
poi
la
filosofia
libertaria
che
ha
portato
alla
nascita
delle
valute
digitali.
Infine
analizzeremo
la
storia
di
Bitcoin
dalla
sua
nascita
fino
ai
giorni
nostri.
Nel
secondo
capitolo
analizzeremo
il
protocollo
alla
base
di
Bitcoin
con
particolare
attenzione
a
come
avvengono
le
transazioni,
come
sono
validate,
cosa
si
intende
per
mining,
cosa
la
catena
dei
blocchi,
come
gestita
la
rete
peer
to
peer
sottostante
e
come
funziona
nella
pratica
Bitcoin.
Durante
la
dissertazione
terremo
sempre
a
mente
i
principi
crittografici
che
permettono
al
protocollo
di
funzionare.
Nel
terzo
capitolo
analizzeremo
le
funzione
crittografiche
che
garantiscono
la
sicurezza
del
protocollo.
In
particolare
tratteremo
di
firme
crittografiche,
hash
crittografiche
e
sistemi
di
proof-of-work.
Analizzeremo
inoltre
il
futuro
di
Bitcoin
in
un
ambiente
post-quantistico,
cio
dopo
l'entrata
in
funzione
di
computer
quantistici
sufficientemente
potenti.
Studieremo
in
particolare
gli
effetti
di
un
computer
quantistico
sul
protocollo
e
le
contromisure
necessarie
a
garantirne
la
sicurezza.
Nel
quarto
capitolo
analizzeremo
i
principali
attacchi
di
cui
pu
essere
vittima
Bitcoin.
Mantenendo
il
principio
dell'inviolabilit
delle
funzioni
crittografiche
utilizzate
mostreremo
come
numerosi
attacchi,
con
diverse
motivazioni,
siano
comunque
possibili.
Analizzeremo
i
nuovi
tipi
d'attacco
specifici
di
Bitcoin,
come
i
tentativi
di
double-spending,
e
di
distruzione
dell'anonimato
degli
utenti.
Analizzeremo
anche
come
i
principali
attacchi
tradizionali
possano
danneggiare
la
rete
Bitcoin,
tra
i
quali
attacchi
di
tipo
denial
of
service,
sybil
attacks
e
furti.
Il
capitolo
tratter
approfonditamente
del
problema
della
presenza
di
miners
fraudolenti
analizzando
quali
minacce
comportino
per
il
sistema1.
Scopo
del
capitolo
sar
di
evidenziare
i
possibili
danni
prodotti
da
questi
attacchi
al
futuro
di
bitcoin.
Nel
quinto
capitolo
analizzeremo
altri
esempi
di
valuta
digitale
oggi
disponibili.
Distingueremo
in
particolare
tra
valute
digitali
nate
come
estensioni
o
modifiche
di
Bitcoin
e
valute
completamente
indipendenti.
Nel
sesto
capitolo
tratteremo
dellanalisi
del
grafo
di
bitcoin,
ottenuta
dalle
tecniche
1
Secondo
il
modesto
parere
dell'autore
questo
tipo
di
attacco
il
pi
pericoloso
tra
quelli
noti
sia
perch
mina
la
credibilit
dell'intero
protocollo
(distruggendo
il
principio
di
base
dell'assenza
di
un'entit
centralizzata)
sia
perch
sembra
razionalmente
inevitabile.
12
Infine
nelle
conclusioni
useremo
le
informazioni
ottenute
nei
capitoli
precedenti
per
dare
risposta
alle
domande
lasciate
aperte
in
questa
introduzione
e
per
prevedere
il
futuro
di
Bitcoin.
Capitolo
1
Storia
e
Filosofia
In
questo
capitolo
analizzeremo
le
basi
da
cui
nato
Bitcoin.
Spiegheremo
quindi
nel
primo
capitolo
cosa
sia
una
valuta
digitale,
quali
sono
le
differenze
con
altri
tipi
di
valute
e
da
quali
necessit
della
societ
nata.
Analizzeremo
poi
lideologia
libertaria
che
alla
base
dellidea
di
valute
digitali
in
generale
e
di
Bitcoin
in
particolare.
Analizzeremo
quindi
la
corrente
cypherpunk
mostrando
la
sua
importanza
per
la
nascita
del
protocollo.
Alla
fine
del
capitolo
analizzeremo
la
storia
dettagliata
di
Bitcoin
dalla
sua
nascita
fino
ad
oggi.
Il
capitolo
servir
come
base
concettuale
per
comprendere
le
motivazioni
delle
regole
alla
base
del
protocollo
illustrate
nei
capitoli
successivi.
1.1.1 - Storia
Illustriamo
una
breve
storia
informale
dell'evoluzione
della
valuta
nella
civilt
umana.
In
principi
c'era
il
baratto,
se
avevo
bisogno
di
un
bene
(una
gallina)
e
avevo
solo
un
bene
diverso
(mele)
potevo
scambiare
una
parte
dei
miei
beni
con
il
bene
desiderato
(alcune
delle
mie
mele
per
una
gallina).
Ogni
bene
possedeva
un
valore
associato
relativo
agli
altri
beni
(ad
esempio
una
gallina
poteva
valere
come
una
forma
di
pane
e
mezza
o
dieci
mele).
Il
baratto
per
presenta
il
problema
che
non
tutti
desiderano
lo
stesso
bene,
quindi
se
un
individuo
vuole
il
pane
ed
ha
solo
mele
ed
un
altro
vuole
le
mele
ed
ha
una
gallina,
il
primo
individuo
non
accetter
come
pagamento
di
dieci
mele
la
gallina
anche
se
il
valore
corretto,
semplicemente
perch
non
vuole
la
gallina.
Per
risolvere
il
problema,
serve
un
bene
intermedio
che
tutti
desiderino
(o
accettino),
quindi
il
passo
successivo
fu
di
rendere
esplicito
il
valore
relativo
di
ogni
bene
paragonandolo
ad
un
bene
fissato,
come
ad
esempio
una
pecora
(il
termine
pecunia
periva
infatti
da
pecora).
Ognuno
accettava,
ad
esempio,
che
una
gallina
valesse
un
decimo
di
una
pecora
o
che
una
forma
di
pane
valesse
un
quindicesimo
di
una
pecora.
Le
pecore
per
potevano
morire
o
riprodursi,
improvvise
malattie
portavano
a
morie
di
pecore
e
quindi
distruzione
di
capitali.
Una
pecora
inoltre
un
bene
indivisibile
(da
viva),
quindi
non
era
possibile
dividere
una
pecora
in
venti
pezzi
per
comprare
una
mela.
C'era
quindi
bisogno
di
un
bene
che
funzionasse
da
rappresentazione
astratta
del
numero
di
14
pecore
possedute.
Questo
bene
doveva
risolvere
i
problemi
dellutilizzo
di
pecore
vive
durante
gli
scambi.
Doveva
quindi
essere
durevole,
cio
non
doveva
deteriorasi
nel
tempo,
doveva
essere
facilmente
trasportabile,
immagazzinabile
e
divisibile,
doveva
essere
sufficientemente
raro
e
non
falsificabile
da
impedire
che
chiunque
potesse
crearsi
nuovi
capitali
dal
nulla.
Si
inizi
dal
sale
(da
cui
il
termine
salario),
conchiglie
o
pietre
preziose,
per
arrivare
all'oro.
L'oro
era
raro,
bello
da
vedersi
e
poteva
essere
fuso
in
monete.
Ogni
moneta
serviva
per
rappresentare
una
quantit
di
valore
standard,
e
recava
incisa
l'effige
del
governante
per
garantire
che
la
quantit
d'oro
(cio
il
peso)
fosse
corretta.
Adesso
chiunque
poteva
stabilire
il
valore
di
un
oggetto
o
servizio
in
base
ad
un
numero
di
monete.
La
moneta
d'oro
ha
valore
perch
lindividuo
accetta
che
rappresenta
una
percentuale
di
una
pecora,
e
le
altre
persone
sono
pronte
ad
accettare
monete
d'oro
in
cambio
di
oggetti
(anche
se
di
per
s
l'oro
non
da
loro
nessun
vantaggio
rispetto
ad
esempio
ad
una
mela,
che
pu
invece
essere
mangiata).
Una
moneta
digitale
per
essere
considerabile
valuta
deve
possedere
le
tre
propriet
di
una
valuta:
Per
funzionare
come
mezzo
di
scambi,
una
valuta
deve
mantenere
le
propriet
che
portarono
alla
scelta
delloro.
Deve
quindi
essere:
2
Che
vedremo
essere
chiamato
catena
dei
blocchi.
16
Una
valuta
digitale
si
differenzia
dalle
valute
tradizionali
per
la
sua
nascita
ed
utilizzo
su
supporti
digitali.
Questo
vuol
dire
che
lintera
vita
di
questo
tipo
di
valute
si
sviluppa
allinterno
di
computer
e
quindi
le
transazioni
con
queste
valute
devono
rispettare
propriet
aggiuntive,
implicite
nei
mezzi
di
scambio
tradizionali.
Queste
propriet
sono
la
non
ripudiabilit,
confidenzialit
e
prevenzione
del
double
spending.
Non
ripudiabilit
significa
garantire
limpossibilit
di
negare
una
transazione
passata,
ed
spesso
garantita
dallutilizzo
di
firme
digitali
ed
archivi
(centrali
o
distribuiti)
delle
transazioni
avvenute3.
Confidenzialit
significa
protezione
della
privacy
degli
utenti
impegnati
in
una
transazione
ed
solitamente
garantita
dallutilizzo
di
funzioni
crittografiche4.
La
prevenzione
del
double
spending
consiste
nellimpedire
che
un
utente
copi
semplicemente
dei
fondi
e
li
spenda
pi
di
una
volta5.
Il
problema
del
double
spending
pu
essere
visto
come
lanalogo
della
falsificazione
di
banconote
nel
mondo
digitale.
La
soluzione
a
questo
problema
data
dallutilizzo
di
un
archivio
(centralizzato
o
distribuito)
che
tenga
traccia
del
passaggio
di
proprietario
dei
fondi
utilizzati
dalle
transazioni.
3
I
mezzi
di
scambio
tradizionali
come
loro
garantiscono
questa
propriet
attraverso
il
metodo
di
scambio
basato
sul
passaggio
di
mano.
Se
un
utente
d
ad
un
altro
delloro,
poi
non
pu
negare
di
averglielo
dato
poich
loro
in
possesso
del
secondo
utente.
4
Un
mezzo
di
scambio
tradizionale
garantisce
questa
propriet
non
richiedendo
di
conoscere
informazioni
sugli
altri
utenti
per
poter
effettuare
scambi
con
loro.
possibile
scambiare
delloro
con
qualsiasi
sconosciuto.
5
I
mezzi
di
scambio
tradizionali
impediscono
di
spendere
pi
volte
gli
stessi
fondi
grazie
alle
regole
della
fisica
ununit
centrale
deriva
che
nuove
monete
devono
essere
anchesse
generate
in
modo
distribuito,
meccanismo
che
protegge
la
valuta
da
inflazione
o
deflazione
arbitraria.
Le
valute
digitali
non
devono
essere
confuse
con
le
valute
virtuali.
Il
termine
valuta
virtuale
utilizzato
per
indicare
le
valute
utilizzate
in
economie
virtuali,
spesso
derivanti
da
giochi
multi
player
on-line,
tra
cui
lesempio
pi
famoso
sono
i
Linden
dollars
di
Second
Life.
Alcune
di
queste
valute
possano
essere
acquistate
e
scambiate
con
valute
tradizionali
o
digitali,
ma
sono
utilizzabili
solo
nel
mondo
virtuale
del
gioco
in
cui
sono
definite
per
acquistare
beni
o
servizi
virtuali,
non
hanno
effetto
sulleconomia
reale
allesterno
del
gioco.
In
senso
lato
possiamo
considerare
uneconomia
virtuale
allinterno
di
un
gioco
multiplayer
come
uneconomia
che,
a
differenza
delleconomia
reale,
dipende
da
regole
algoritmiche
piuttosto
che
fisiche.
Per
chiarire
il
concetto
possiamo
considerare
lesempio
di
World
of
Warcraft
(WoW).
Nel
gioco
possibile
ottenere
delloro,
la
cui
distribuzione
e
generazione
controllata
dal
programma.
Questo
oro
costituisce
la
valuta
virtuale
interna
del
gioco
e
pu
essere
scambiato
con
commercianti
o
altri
giocatori.
La
confusione
nasce
quando
diventano
disponibili
dei
servizi,
esterni
allambiente
di
gioco,
per
acquistare
oro
di
WoW
in
cambio
di
valute
tradizionali
(come
dollari
USD).
Leconomia
virtuale
infatti
contamina
leconomia
reale
allesterno
del
gioco.
noto
di
compagnie
che
pagavano
i
propri
dipendenti
per
giocare
a
18
WoW
e
raccogliere
quanto
pi
oro
possibile,
che
poi
la
compagnia
rivendeva
agli
altri
giocatori.
Questa
tecnica,
detta
gold
farming,
non
deve
essere
confusa
con
il
mining
di
Bitcoin.
Nel
farming
lutente
si
limita
a
raccogliere
le
risorse
generate
dal
programma,
nel
mining
lutente
crea
(e
raccoglie)
nuove
risorse.
Come
abbiamo
gi
spiegato
gli
individui
possono
utilizzare
numerosi
mezzi
di
scambio
per
commerciare,
ma
questo
non
gli
rende
delle
valute.
Se
ricordiamo
le
tre
propriet
indicate
in
precedenza
necessarie
per
una
valuta
ci
accorgiamo
dei
limiti
delle
valute
virtuali.
In
particolare
osserviamo
come
sia
difficile
che
una
valuta
virtuale
possa
essere
un
buon
deposito
di
valore
nel
lungo
periodo.
Infatti
il
valore
di
una
valuta
virtuale
strettamente
legato
alla
sua
economia
virtuale
e
quindi
alla
vita
del
gioco.
Quando
il
gioco
passa
di
moda
o
viene
rimpiazzato
dal
successore
e
gli
utenti
iniziano
ad
abbandonarlo,
la
sua
economia
muore
e
cos
crolla
il
valore
della
valuta
virtuale
associata.
Anche
se
cos
non
fosse
labbondanza
di
valuta
nel
gioco
porta
ad
uninflazione
elevata.
Loro
perde
valore
facilmente
in
un
mondo
virtuale
dove
trovato
letteralmente
per
terra
e
ne
viene
continuamente
creato
di
nuovo
dal
programma
del
gioco.
1.2 - Libertarianismo
(Libertarianism).
Per
libertarianismo6
si
intende
una
forma
di
pensiero
che
riconosce
nella
libert
dellindividuo
il
bene
pi
grande.
Esistono
numerose
branche
di
questa
filosofia,
ognuna
delle
quali
d
una
diversa
definizione
di
libert
individuale
e
individua
la
forma
di
stato
necessaria
a
proteggerla.
Ponendo
al
centro
della
societ
lindividuo
si
indebolisce
lidea
di
comunit
e
quindi
vengono
meno
molti
compiti
dello
stato.
Lo
stato,
in
generale,
ha
il
solo
compito
di
garantire
che
le
libert
individuali
siano
rispettate.
Nelle
forme
pi
estreme
di
libertarianismo
lo
stato
addirittura
del
tutto
assente
e
le
sue
funzioni
di
garanzia
sono
ricoperte
dai
privati.
dAmerica
infatti
il
concetto
si
molto
sviluppato,
grazie
allaffermazione
del
libero
mercato
capitalista
e
alle
idee
di
diritto
naturale
dellindividuo
stabilite
nella
dichiarazione
dindipendenza.
Nella
dichiarazione
infatti
sancito
il
principio
di
base
del
libertarianismo:
ogni
individuo
ha
diritto
alle
proprie
libert
civili
e
lo
scopo
del
governo
di
garantire
queste
libert,
quindi
gli
individui
hanno
il
diritto
di
rovesciare
uno
stato
che
non
le
garantisse.
20
contratti,
n
deve
intervenire
contro
gli
individui
o
gli
alti
stati
(politica
di
non
intervento
estero).
Il
ruolo
estremo
unicamente
di
controllore
del
libero
mercato
e
delle
libert
individuali
lidea
di
stato
minimalista
proposta
dalla
corrente
del
miniarchismo
(in
cui
lo
stato
visto
come
inevitabile
entit
incaricata
del
monopolio
della
costrizione,
cio
lunica
che
pu
ledere
le
libert
di
un
individuo
per
proteggere
la
libert
di
tutti).
Ancora
pi
estreme
sono
le
posizione
della
corrente
anarco-capitalista
che
ritiene
invece
che
lo
stato
debba
essere
abolito
del
tutto.
Secondo
questa
corrente,
le
sole
regole
del
libero
mercato
sarebbero
sufficienti
a
garantire
la
prosperit
e
libert
degli
individui.
I
ruoli
di
garanzia
e
controllo
dello
stato
sarebbero
affidate
a
individui
privati
in
competizione
tra
loro,
e
quindi
selezionati
dalle
regole
di
mercato.
Tra
le
violenze
perpetrate
da
uno
stato,
dal
punto
di
vista
libertario,
incluso
lobbligo
dellutilizzo
della
moneta
ufficiale.
Le
valute
dovrebbero
essere
decise
dalle
sole
regole
del
mercato
e
mai
imposte.
Storicamente
questa
convinzione
ha
portato
molti
libertari
a
desiderare
un
ritorno
allutilizzo
dei
metalli
preziosi,
che
non
possono
essere
creati
dal
nulla
come
le
valute
moderne
e
non
sono
monopoli
statali.
Bitcoin
sembra
quindi
la
valuta
perfetta
per
il
sogno
libertario.
Bitcoin
infatti
non
imposto
o
controllato
dallo
stato.
Bitcoin
una
moneta
privata
che
trasmette
il
controllo
da
entit
terze
allindividuo
(grazie
al
suo
disegno
distribuito).
In
Bitcoin
ogni
utente
banchiere
di
se
stesso
e,
attraverso
il
mining,
sono
gli
individui
a
creare
nuova
moneta
al
posto
dello
stato.
Bitcoin
permette
leconomia
globale
libera
da
controlli
centrali
sognata
dal
libertarianismo.
Ugualmente
il
meccanismo
del
consenso
utilizzato
da
Bitcoin
segue
lidea
libertaria
di
assenza
di
stato
sociale.
Le
decisioni
non
sono
democraticamente
prese
da
tutti
gli
utenti
in
quanto
appartenenti
alla
comunit
(e
quindi
in
base
ad
unidea
di
cittadinanza),
ma
il
voto
stabilito
in
base
al
potere
di
hash,
e
quindi
in
base
alla
potenza
nellecosistema
bitcoin
(vedi
sezione
2.3).
La
deflazione
un
altro
aspetto
di
Bitcoin
caro
ai
libertari
che
osteggiano
linflazione
perpetrata
dallo
stato,
vista
come
intromissione
nelle
libere
leggi
del
mercato.
soldi
a
chi
volevano.
Questo
fatto
fu
uno
shock
per
i
libertari
(e
non
solo)
poich
negava
in
un
colpo
solo
la
libert
dellindividuo
e
del
mercato.
bene
ricordare
come
Wikileaks
fu
attaccata
economicamente
dal
governo
senza
aver
subito
nessuna
condanna
legale.
Lavvenimento
mostr
come
un
governo
con
il
monopolio
di
una
valuta
poteva
utilizzare
quella
valuta
per
fini
meramente
politici.
Lindipendenza
di
Bitcoin
lo
pone
al
riparo
da
questo
tipo
di
utilizzo
e
permette
il
suo
utilizzo
come
valuta
anti-censura.
Chiunque
pu
entrare
nelleconomia
bitcoin
e
pu
inviare
pagamenti
a
qualsiasi
utente.
A
differenza
dei
sistemi
di
pagamento
tradizionali,
non
esiste
nessun
controllo
centrale
che
pu
impedire
lingresso
di
nuovi
utenti
o
pu
bloccare
delle
transazioni7.
1.2.1 - Cypherpunk
7
Come
vedremo
nei
capitoli
successivi
questa
affermazione
resta
valida
fintanto
che
la
rete
resta
onesta,
cio
non
esiste
un
cartello
di
miners
che
controllano
la
maggioranza
del
potere
computazionale
(sezione
4.1.1).
8
Da
non
confondersi
con
cyberpunk,
che
indica
una
branca
della
fantascienza
incentrata
su
un
futuro
prossimo
armamento
e
ne
era
proibita
lesportazione.
Grazie
alle
nuove
tecnologie
per
si
erano
sviluppati
sia
i
mezzi
che
le
necessit
del
suo
utilizzo
per
i
cittadini
comuni.
Scopo
del
movimento
era
quindi
di
sviluppare
programmi
crittografici
per
tutti
gli
utenti
che
permettessero
un
utilizzo
libero
e
privato
della
rete.
Il
primo
passo
fu
lo
sviluppo
del
programma
PGP
(Pretty
Good
Privacy)
da
parte
di
Phill
Zimmermann
nel
1991.
PGP
permetteva
tutte
le
principali
operazioni
crittografiche
senza
bisogno
per
lutente
di
conoscenze
tecniche
di
crittografia
ed
utilizzando
risorse
limitate
disponibili
nella
maggior
parte
degli
elaboratori
commerciali
del
periodo.
Nel
1992
nacque
la
Cypherpunk
mailing
list
che
divenne
il
mezzo
ufficiale
del
movimento.
La
mailing
list
era
utilizzata
sia
per
discutere
di
idee
filosofiche
che
per
pi
pratiche
analisi
e
sviluppi
di
software
crittografici.
Non
tutti
gli
aderenti10
condividevano
le
idee
libertarie
dei
fondatori
ma
tutti
erano
paladini
convinti
del
diritto
alla
privacy.
Le
battaglie
(soprattutto
legali)
del
movimento
furono
supportate
dallElettronic
Frountier
Foundation.
Le
molte
cause
portate
avanti
da
cypherpunk
con
laiuto
dellEFF
portarono
a
molte
vittorie
decisive.
Il
caso
del
1995
iniziato
da
Daniel
J.
Bernstein
e
supportato
dallEFF
port
nel
1999
alla
storica
sentenza
che
affermava
che
il
codice
era
una
forma
di
parola
e
quindi
la
sua
diffusione
era
garantita
dalla
costituzione
e
non
poteva
essere
impedita
dal
governo.
Unaltra
sentenza
nel
1997
riconosceva
la
libert
di
espressione
nel
cyberspazio,
equiparandola
a
quella
nel
mondo
reale,
quindi
dichiarando
incostituzionale
la
censura
governativa.
Queste
importanti
sentenze
segnavano
due
importanti
vittorie
del
movimento,
e
delle
idee
libertarie
in
genere,
sancendo
la
libert
della
rete
e
del
software.
Le
idee
del
movimento
portarono
alla
nascita
del
software
open
source,
di
Wikipedia
e
Wikileaks,
della
rivista
Wired,
di
SSL,
TOR
e
BitTorrent.
Il
movimento
cypherpunk
ha
contribuito
inoltre
a
riabilitare
il
concetto
di
hacker.
Un
hacker
visto
in
senso
positivo
come
programmatore,
piuttosto
che
i
senso
negativo
come
ladro.
Questo
ha
portato
alla
nascita
di
gruppi
di
hackers
(come
Anonymous)
che
definiscono
se
stessi
combattenti
per
la
libert,
con
lobbiettivo
di
liberare
internet
dai
tentativi
di
controllo
centralizzato.
Sotto
unottica
libertaria
un
hacker
benigno
visto
come
un
combattente
non
violento
della
libert
personale
in
rete.
Non possiamo sapere se Satoshi Nakamoto sia stato membro della mailing list o, pi in
10
Come
ad
esempio
il
sopracitato
Phill
Zimmermann.
23
generale,
del
movimento
cypherpunk11,
per
sappiamo
che
molte
delle
idee
alla
base
del
funzionamento
di
Bitcoin
derivano
proprio
da
quel
periodo.
Nel
1997
il
crittografo
cypherpunk
Adam
Back
invent
la
prima
proof-of
work,
detta
hashcash,
per
prevenire
attacchi
DoS,
ed
in
particolare
lo
spamming
di
e-mail.
Nel
1998
Wei
Dai
cre
b-money,
una
valuta
digitale
anonima
che
utilizzava
il
sistema
delle
proof-of-work.
Contemporaneamente
Nick
Szabo
invent
bit-gold,
che
utilizzava
la
difficolt
delle
proof-of-work
per
simulare
la
difficolt
dellestrazione
delloro.
Ogni
soluzione
trovata
garantiva
al
minatore
nuova
valuta
(in
valore
proporzionale
alla
difficolt
del
problema
risolto),
e
tutte
le
soluzioni
erano
salvate
il
un
registro
distribuito
che
contenente
le
soluzioni
di
tutti
gli
utenti.
Oltre
a
questi
aspetti
tecnici
Btcoin
ha
ereditato
dal
pensiero
cypherpunk
limportanza
dellanonimato,
assenza
di
unit
centrale
e
progettazione
open
source.
Lidea
stessa
di
valuta
digitale
crittografica
sicura
figlia
del
movimento
cypherpunk,
come
possiamo
leggere
nel
manifesto
del
movimento
scritto
da
Eric
Hughes
nel
1993
[39]:
We
are
defending
our
privacy
with
cryptography,
with
anonymous
mail
forwarding
systems,
with
digital
signatures,
and
with
electronic
money.
La
storia
di
Bitcoin
ha
inizio
il
primo
novembre
del
2008
quando
Satoshi
Nakamoto
pubblico
il
suo
articolo
contenente
i
principi
base
di
Bitcoin.
Bisogna
per
spettare
ancora
due
mesi
prima
che
venga
rilasciata
la
prima
versione
open-source
del
codice
di
un
client
Bitcoin
nel
gennaio
2009.
Contemporaneamente
Satoshi
stesso,
il
3
gennaio
2009,
estrasse
il
primo
blocco
con
ricompensa
di
50
BTC,
ribattezzato
Genesis
Block,
creando
le
prime
50
bitcoins
al
mondo
e
iniziando
la
catena
dei
blocchi
che
viene
usata
ancora
oggi.
La
diffusione
di
Bitcoin
fu
lenta
e
spontanea
e
ovviamente
limitata
agli
addetti
ai
lavori.
Utenti
esperti
di
informatica
e
crittografia
abbracciarono
la
nuova
invenzione
apprezzandone
la
libert
ed
universalit.
11
Poich
non
nota
lidentit
(o
le
identit)
che
si
nasconde
dietro
il
(presunto)
pseudonimo
Satoshi
Nakamoto.
24
Questi
primi
utenti
facevano
gare
per
scavare
nuovi
blocchi,
e
l'anima
della
comunit
era
il
bitcointalk
forum
in
cui
gli
utenti
scambiavano
opinioni
sui
progressi
di
mining
e
su
come
migliorare
il
codice
open
source
sottostante
al
protocollo.
Il
progetto
era
ancora
nel
suo
stadio
iniziale
e
il
valore
dei
bitcoins
era
soggettivo
e
sostenuto
solo
dall'entusiasmo
dei
possessori.
Gavin
Andresen
cre
un
sito
chiamato
Bitcoin
Faucet
che
possedeva
10.000
bitcoins
(del
valore
5.000.000$
al
momento
in
cui
scrivo
e
pagati
da
Andresen
50$
all'epoca)
e
ne
dava
una
parte
a
chiunque
le
avesse
richieste.
Allo
stesso
periodo
risale
il
primo
commerciante
ad
accettare
bitcoins
come
forma
di
pagamento12
ed
il
primo
acquisto
della
storia
fatto
in
bitcoins:
il
18
Maggio
2010
Laszlo
Hanyecz
in
Florida
pag
10.000
BTC
per
due
pizze
usando
come
intermediario
un
volontario
inglese
che
accett
i
bitcoins
ed
us
la
sua
carta
di
credito
dall'Inghilterra
per
pagare
effettivamente
le
pizze.
Il
2010
fu
anche
l'anno
della
prima
vulnerabilit
scoperta
e
sfruttata
del
protocollo.
Il
15
agosto
fu
scoperta
in
un
blocco
una
transazione
che
conteneva
184
miliardi
di
bitcoins
(cifra
superiore
al
numero
massimo
di
bitcoins
generabili).
Questa
transazione
sfruttava
il
bug
che
le
transazioni
erano
validate
senza
controllare
prima
che
gli
output
non
fossero
talmente
grandi
da
causare,
una
volta
sommati,
un
overflow
con
conseguente
risultato
errato.
Il
codice
fu
corretto
in
poche
ore
ed
i
nodi
aggiornati
biforcarono
la
catena
prima
della
transizione
fraudolenta
per
costruire
una
nuova
catena
pi
lunga.
Nonostante
questo
alcuni
nodi
non
ancora
aggiornati
continuarono
a
costruire
sulla
catena
incriminata
e
ci
vollero
ben
53
blocchi
prima
che
i
nodi
aggiornati
prendessero
il
sopravvento
condannando
quindi
il
ramo
della
catena
fraudolenta
e
cancellando
la
transazione
incriminata
dalla
storia
della
catena.
La
vulnerabilit
spiegata
ad
oggi
l'unico
caso
in
cui
sia
stato
possibile
creare
nuovi
bitcoins
dal
nulla,
infatti,
come
spiegheremo
nei
successivi
capitoli,
nemmeno
un'entit
che
abbia
il
completo
controllo
della
catena
dei
blocchi
pu
creare
o
distruggere
bitcoins
(a
meno
di
estrarle
correttamente
attraverso
il
mining).
Alla
fine
dell'anno
il
misterioso
creatore
Satoshi
Nakamoto
pubblic
il
suo
ultimo
messaggio
al
pubblico
sul
forum
alle
18:22
GMT
del
12
dicembre.
Da
allora
inizi
a
rispondere
alle
mail
sempre
pi
sporadicamente
fino
a
cessare
del
tutto
il
26
aprile
2011
per
abbandonare
Bitcoin
definitivamente
(un
nuovo
post
sar
pubblicato
per
il
6
Marzo
2014
12
David
Forster
del
Massachusetts
accettava
bitcoins
in
cambio
di
calzini
di
lana
di
Alpaca.
25
per
smentire
di
essere
Dorian
S.
Nakamoto
come
pubblicato
da
un
articolo
di
Newsweek,
vedi
sezione
1.3.4).
Depositari
della
missione
di
mantenere
e
migliorare
il
codice
sorgente
rimasero
quei
programmatori
che
avevano
seguito
Bitcoin
fin
dalla
sua
nascita
(primo
tra
tutti
Gavin
Andresen)
e
che
erano
i
suoi
principali
difensori
e
promotori.
La
valuta
non
aveva
ancora
nessun
valore
reale.
Anche
quando
nell'aprile
del
2010
fu
per
la
prima
volta
possibile
scambiare
bitcoins
con
dollari
statunitensi,
il
valore
dei
bitcoins
era
di
pochi
centesimi.
Si
raggiunse
la
parit
col
dollaro
solo
nel
febbraio
2011
(per
poi
ricadere
subito
sotto
i
novanta
centesimi).
La
storia
di
Bitcoin
per
era
ad
una
svolta
poich
all'inizio
dell'estate
del
2011
furono
pubblicati
i
primi
articoli
che
parlavano
di
Bitcoin
al
grande
pubblico
(in
pi
casi
in
chiave
negativa
legando
la
moneta
al
commercio
di
stupefacenti).
Andresen
fu
invitato
dalla
CIA
a
Langley
a
parlare
di
Bitcoin
mentre
il
prezzo
si
impennava
fino
a
quasi
30
dollari
per
bitcoin
(prima
di
ricadere
subito
dopo
a
pochi
dollari
per
bitcoin
lotto
luglio
2011).
Il
grande
pubblico
si
stava
interessando
alla
nuova
valuta
digitale
e
questo
aument
il
valore
del
limitato
numero
di
bitcoins
in
circolazione
rendendo
il
mining
pi
redditizio
e
quindi
pi
competitivo.
I
mezzi
limitati
e
naive
dei
primi
minatori
non
erano
pi
sufficienti
con
tanta
concorrenza
e
inizi
la
cosiddetta
corsa
all'oro
(gold
rush)
di
bitcoins.
I
nuovi
minatori
si
dotavano
di
grosse
quantit
di
rapide
schede
video
per
risolvere
le
hash
sempre
pi
difficili,
portando
alla
costruzioni
di
vere
e
proprie
farm,
rumorose
a
causa
delle
ventole
di
raffreddamento
e
dagli
enormi
consumi13.
Oramai
Bitcoin
aveva
raggiunto
il
grande
pubblico
e
in
poco
tempo
fiorirono
nuovi
servizi
per
gli
utenti
della
rete
(servizi
di
portafogli
"sicuri",
servizi
di
cambio,
servizi
commerciali),
molti
dei
quali
chiudevano
poi
dopo
poco
tempo,
o
attaccati
dagli
hacker
o
chiusi
volontariamente
dai
propri
creatori
truffaldini.
A
questo
periodo
d'espansione
incontrollata
risale
anche
il
primo
presunto
furto
della
storia
di
Bitcoin
ai
danni
di
un
utente
con
nickname
"Allinvain"
che
dichiar
di
essere
stato
derubato
di
25.000
BTC
il
13/06/2011.
Presunto
o
meno
il
furto
sar
il
primo
di
una
lunga
serie,
infatti
ora
i
bitcoins
avevano
un
valore
fissato
e
crescente
nel
tempo
ed
iniziavano
13
Si
racconta
di
un
minatore
che
fu
interrogato
dalla
polizia
perch
la
sua
bolletta
elettrica
era
talmente
alta
da
aver
portato
gli
agenti
a
concludere
che
stesse
coltivando
marijuana,
"ma
no
agenti,
sto
estraendo
monete"
fu
il
commento
del
minatore.
26
a
far
gola
ai
ladri.
Il
19
giugno
2011
fu
attaccato
il
pi
grande
ed
accreditato
sito
di
cambio
di
bitcoins:
Mt.Gox
(che
all'epoca
era
stimato
gestire
il
90%
di
tutti
i
cambi
di
bitcoins).
Il
dominio
Mtgox.com
fu
registrato
dallo
statunitense
Jed
McCaleb
nel
2007.
Il
nome
era
lacronimo
di
Magic
The
Gathering
Open
eXchange,
infatti
il
sito
doveva
essere
un
sito
di
scambio
di
carte
Magic.
Lo
scambio
di
carte
non
decoll
mai
e
quindi
nel
luglio
del
2010
McCaleb
decise
di
riconvertire
il
sito
per
lo
scambio
di
bitcoins.
Il
sito
per
ebbe
talmente
tanto
successo
da
spaventare
McCaleb
che
nel
2011
vendette
l88%
della
propriet
a
Mark
Karpeles,
che
ne
divenne
il
nuovo
gestore.
Karpeles
era
un
bravo
programmatore
e
lo
rese
il
pi
popolare
sito
di
cambi
di
Bitcoin.,
tanto
che
i
tassi
di
cambio
di
Mt.
Gox
erano
considerati
i
tassi
di
riferimento
per
lintera
economia
Bitcoin.
Il
19
giugno
2011
Mt.Gox
fu
penetrato
da
un
hacker
che
riusc
a
rubare
il
database
con
le
informazioni
dei
61.020
utenti
del
sito.
Mt.Gox
proteggeva
le
password
con
una
semplice
hash
MD5
che
era
gi
allepoca
ritenuta
non
sicura.
Lattaccante
pot
quindi
accedere
agli
account
di
molti
utenti14
ed
inizi
una
colossale
operazione
di
vendita.
Pare
che
in
pochi
secondi
furono
messi
in
vendita
400.000
BTC,
portando
il
valore
di
cambio
con
il
dollaro
da
17,5
USD
a
0,01
USD
per
1
BTC.
Lattaccante
pot
quindi
ricomprare
i
bitcoins
a
prezzo
stracciato.
Poi
ritir
i
fondi
comprati
illegalmente,
ma
Mt.Gox
applicava
un
blocco
ai
prelievi
di
un
valore
massimo
di
1.000
USD
al
giorno
in
bitcoins,
quindi
il
ladro
pot
ritirare
solo
una
cifra
ignota
di
bitcoins
compresa
tra
2.500
e
100.000
BTC.
Mt.Gox
interruppe
gli
scambi
per
una
settimana
bloccando
di
fatto
la
maggior
parte
dei
cambi
di
BTC
(data
la
sua
posizione
dominante
nel
mondo
dei
cambi).
Ma,
mentre
la
maggior
parte
dei
servizi
derubati
da
presunti
hackers
chiudevano
semplicemente
lasciando
i
propri
clienti
frodati,
Mt.
Gox
dichiar
che
avrebbe
rimborsato
i
propri
clienti
e
continu
ad
operare.
Nel
periodo
di
chiusura
del
sito
tutti
gli
spostamenti
interni
di
bitcoins
furono
invertiti
riportando
la
situazione
a
prima
dellattacco
(chiaramente
rimase
per
il
buco
lasciato
dai
bitcoins
che
lattaccante
era
riuscito
rubare).
Inoltre
fu
richiesto
a
tutti
gli
utenti
di
scegliere
nuove
password.
La
decisione
di
Mt.Gox
di
continuare
ad
operare
rafforz
limmagine
del
sito
come
servizio
serio
ed
affidabile,
cancellando
la
cattiva
pubblicit
dovuta
al
furto.
14
Alcuni
di
questi
utenti
utilizzavano
le
stesse
password
di
Mt.Gox
anche
per
gestire
i
propri
portafogli
sul
servizio
MyBitcoin,
quindi
il
giorno
successivo
lattaccante
utilizzo
queste
password
anche
per
rubare
da
MyBitcoin
i
fondi
di
questi
utenti,
rubando
4.019
BTC.
27
Questo
primo
grande
incidente
di
Bitcoin
gett
un'ombra
sullimmagine
della
valuta.
I
media
passarono
da
profetici
a
scettici
e
la
situazione
peggior
con
gli
incidenti
successivi.
Nel
luglio
2011
Bitomat
(il
terzo
pi
grande
servizio
di
cambio)
annunci
che
aveva
accidentalmente
sovrascritto
il
suo
intero
portafoglio,
perdendo
cos
17.000
BTC
dei
propri
utenti.
Lo
stesso
mese
il
pi
vecchio
servizio
di
gestione
di
portafogli
on-line,
chiamato
MyBitcoin,
smise
di
funzionare
e
rispondere
alle
mail
dei
clienti
per
un
mese.
Ricomparve
nell'agosto
2011
dichiarando
che
era
stato
penetrato
da
hackers
e
che
avrebbe
chiuso
in
seguito
alla
perdita
di
78.000
BTC,
lasciando
sul
terreno
il
51%
dei
fondi
dei
propri
clienti
(molti
sospettarono
che
in
realt
l'intera
vicenda
fosse
solo
una
truffa).
Sempre
alla
fine
di
agosto
si
scopr
il
primo
schema
ponzi
della
storia
di
Bitcoin
quando
il
proprietario
di
Bitcoin
Savings
and
Trust
spar
con
500.000
BTC
dei
propri
utenti
(vedremo
in
seguito
che
il
gestore
del
servizio
Trendon
T.
Shavers,
sar
riconosciuto
colpevole
nel
2013).
Nello
stesso
anno
comparvero
i
primi
malware
e
trojan
che
infettavano
le
proprie
vittime
per
trasformarle
in
minatori
inconsapevoli,
rubando
di
fatto
capacit
di
calcolo
a
favore
dell'hacker
che
le
controllava
(vedi
sezione
4.1.4).
Sui
siti
si
moltiplicarono
i
commenti
che
definivano
l'intero
progetto
Bitcoin
una
truffa
colossale
(uno
schema
piramidale)
e
la
fiducia
croll.
Dal
massimo
dell'8
luglio
in
cui
il
prezzo
era
arrivato
a
31$
per
bitcoin
la
caduta
fu
rapida
e
costante
e
la
risalita
lenta
e
pigra.
Si
sarebbe
dovuto
aspettare
fino
all'inizio
del
2013
per
avere
un
rinnovato
aumento
di
interesse
in
Bitcoin.
sito
BitPay
annunci
di
aver
superato
il
numero
di
mille
commercianti
che
accettavano
la
valuta
come
pagamento.
BitPay
inizi
ad
operare
nellagosto
del
2011
ed
offriva
le
stesse
funzionalit
di
PayPal
allinterno
delleconomia
bitcoin,
agendo
da
intermediario
e
permettendo
a
chiunque
di
accettare
pagamenti
in
bitcoins.
Inoltre
sempre
pi
siti
iniziarono
ad
accettare
donazioni
in
bitcoins
(seguendo
l'esempio
di
Wikileaks
che
accettava
la
valuta
gi
dal
giugno
2011).
Il
24
aprile
2012
comparve
sulla
scena
Satoshi
Dice
che
per
la
prima
volta
offriva
un
servizio
di
scommesse
in
bitcoins.
Satoshi
Dice
un
servizio
di
scommesse
basato
sulla
catena,
questo
vuol
dire
che
non
esiste
nessun
sito
o
software
per
giocare,
gli
utenti
inviano
semplicemente
la
propria
scommessa
ad
un
indirizzo
pubblico
del
servizio
(sono
disponibili
pi
indirizzi
ed
ogni
indirizzo
associato
ad
una
diversa
probabilit
di
vittoria).
I
gestori
si
occuperanno
poi
di
determinare
se
lutente
ha
vinto,
nel
qual
caso
invieranno
la
vincita
(decurtata
di
una
commissione)
allutente.
Se
lutente
perde
ricever
comunque
una
transazione
di
consolazione
contenente
un
satoshi
(10-8
BTC).
Il
sito
fu
di
tale
successo
da
generare
dopo
poche
settimane
pi
transazioni
di
tutti
gli
altri
servizi
messi
insieme.
Alcuni
utenti
arrivarono
ad
accusare
Satoshi
Dice
di
essere
in
realt
un
attacco
DDoS
mascherato.
Il
servizio
infatti
accusato
di
inondare
la
rete
di
transazioni
inutili.
Se
il
servizio
permettesse
agli
utenti
di
connettersi
ad
un
sito,
piazzare
numerose
puntate,
come
un
classico
sito
di
scommesse,
e
solo
alla
fine
incassare
eventuali
profitti,
ogni
giocatore
produrrebbe
solo
due
transazioni
per
sessione
(indipendentemente
dal
numero
di
scommesse
fatte)
invece
di
due
transazioni
per
ogni
scommessa,
alleggerendo
di
molto
limpatto
sulla
rete.
Il
2013
stato
senzaltro
l'anno
della
svolta
per
Bitcoin.
Fino
al
2010
la
valuta
aveva
vissuto
in
una
nicchia
protetta,
tra
il
2011
ed
il
2012
si
era
timidamente
affacciata
al
grande
pubblico
riscuotendo
moderato
interesse,
ma
fu
nel
2013
che
entr
nell'immaginario
collettivo
e
la
sua
popolarit
esplose.
Il
valore
di
un
bitcoin
continu
a
salire
stabilmente
per
tutto
l'inizio
dell'anno
superando
presto
il
precedente
massimo
storico
di
30$
per
bitcoin.
29
Fu
in
questo
periodo
di
crescente
interesse
che
successe
un
fatto
eclatante:
alle
23:30
dellundici
marzo
ci
si
accorse
di
una
biforcazione
nella
catena.
Il
fatto
di
per
s
non
era
strano
poich
biforcazioni
casuali
avvengono
in
continuazione
(come
spiegheremo
nella
sezione
2.4),
questa
biforcazione
era
per
molto
pi
pericolosa.
Il
problema
era
che
era
stato
aggiunto
alla
catena
un
nuovo
blocco
generato
da
un
minatore
che
eseguiva
la
nuova
versione
0.8
del
client
ufficiale
bitcoind.
La
maggioranza
dei
nodi
avevano
infatti
correttamente
aggiornato
la
propria
versione
allultima
release,
la
0.8
appunto.
Essendo
Bitcoin
completamente
libero,
non
tutti
i
nodi
avevano
aggiornato
il
proprio
software
ed
alcuni
eseguivano
ancora
la
vecchia
versione
0.7.
Sfortunatamente
per
il
blocco
non
veniva
riconosciuto
come
valido
dai
nodi
che
utilizzavano
ancora
la
versione
0.7.
Infatti
con
la
versione
0.8
era
cambiato
il
database
utilizzato
per
memorizzare
i
blocchi
da
BerkleyDB
al
pi
efficiente
LevelDB.
BerleyDB
utilizzava
un
b-tree
per
salvare
gli
oggetti
con
due
lock
necessari
per
ogni
update
di
un
oggetto
dellalbero.
Il
client
bitcoind
0.7
indicava
10.000
come
numero
massimo
di
lock
che
potevano
essere
messi
in
contemporanea
sul
database.
LevelDB
non
introduceva
al
contrario
nessun
limite.
Il
nuovo
blocco
estratto
comportava
laggiornamento
di
pi
di
cinquemila
transazioni,
rendendo
il
numero
di
lock
necessari
maggiore
del
limite.
I
nodi
con
la
versione
0.7
non
potevano
quindi
leggere
il
blocco
e
lo
ritenevano
di
conseguenza
invalido,
non
lo
aggiunsero
alla
catena
ed
estrassero
al
suo
posto
un
blocco
valido
creando
una
biforcazione.
I
nodi
con
la
vecchia
versione
continuarono
poi
a
costruire
la
catena
su
questo
nuovo
ramo.
I
nodi
con
la
versione
0.8
invece
continuarono
ad
aggiungere
blocchi
sul
proprio
ramo
poich
restava
il
pi
lungo.
Poich
adesso
esistevano
due
catene
distinte
chiunque
poteva
spendere
i
propri
fondi
due
volte
(una
volta
con
un
utente
che
riconosceva
come
corretta
il
primo
ramo
e
una
seconda
volta
con
un
qualsiasi
nodo
che
invece
seguiva
l'altro
ramo).
Il
caos
generato
rischiava
di
portare
lancora
fragile
economia
di
Bitcoin
al
collasso,
quindi
gli
sviluppatori
si
fecero
avanti
per
trovare
una
soluzione.
Ognuna
delle
due
soluzioni
possibili
presentava
per
un
problema.
Considerare
il
ramo
0.8
il
ramo
ufficiale,
poich
pi
lungo,
significava
costringere
ogni
utente
ad
aggiornarsi
subito
alla
versione
0.8.
Considerare
invece
il
ramo
0.7
quello
ufficiale
richiedeva
agli
utenti
con
la
versione
0.8
di
abbandonare
il
ramo
pi
lungo
contravvenendo
alle
regole
del
protocollo.
Poich
la
rete
doveva
restare
libera
si
ritenne
improponibile
dover
costringere
alcuni
utenti
ad
aggiornarsi
od
abbandonare
la
rete,
quindi
si
decise
per
la
seconda
soluzione.
Mentre
i
maggiori
siti
di
cambio
e
commercio
on-line
bloccavano
tutti
gli
scambi
in
attesa
di
una
soluzione,
gli
sviluppatori
contattarono
tutti
i
maggiori
mining
pool
convincendoli
a
tornare
alla
vecchia
versione
0.7
.
Sebbene
alcuni
30
Il
18
marzo
2013
arriv
un
report
del
FinCEN15
[49]
sulle
valute
virtuali
che
regolava
Bitcoin
come
valuta
virtuale
e
sollevava
i
suoi
utilizzatori
da
qualsiasi
obbligo
tranne
nel
caso
che
i
bitcoins
fossero
stati
scambiati
per
valuta
nazionale,
nel
qual
caso
il
soggetto
che
li
scambiava
aveva
lo
stato
legale
di
MSB
(Money
Service
Business).
Nella
pratica
questo
si
traduceva
nell'obbligo
per
i
siti
di
cambio
e
per
i
minatori
che
vendevano
bitcoins
in
cambio
di
dollari,
di
registrarsi
come
MSB
e
quindi
di
dover
rispettare
tutte
le
norme
antiriciclaggio
(tra
le
quali
l'obbligo
di
tenere
un
archivio
delle
transazioni,
conoscere
determinate
informazioni
sugli
utenti
come
normali
istituzioni
finanziarie
e
l'obbligo
di
segnalare
i
pagamenti
sopra
una
certa
cifra
o
ritenuti
sospetti).
Parrebbe
che
un
tale
effetto
regolatore
avrebbe
dovuto
avere
un
effetto
negativo
sull'economia
di
Bitcoin
poich
annebbiava
l'idea
di
libert
originaria
della
moneta.
Invece
ebbe
l'effetto
contrario
rassicurando
il
grande
pubblico.
Ora
che
Bitcoin
era
regolamentato
entrando
nella
sua
economia
non
si
commetteva
un
atto
potenzialmente
illegale.
Il
valore
di
15
Financial
Crimes
Enforcement
Network,
alle
dipendenze
del
Dipartimento
del
Tesoro
degli
Stati
Uniti
d'America.
31
un
bitcoin
continu
quindi
a
crescere
fino
a
superare
per
la
prima
volta
100$
il
primo
di
aprile
e
raggiungere
poi
il
nuovo
record
di
266$
lo
stesso
mese.
Dopo
l'euforia
torn
la
discesa
ed
il
prezzo
fluttu
nei
mesi
successivi
intorno
ai
100$.
Durante
questi
mesi
di
intensi
scambi
il
vecchio
colosso
dei
cambio
Mt.
Gox
sub
altri
due
scossoni.
Il
primo
fu
un
rallentamento
generale
nei
servizi
a
causa
dell'incapacit
tecnica
del
sito
di
gestire
l'aumento
delle
richieste
di
cambi
avvenuto
ad
aprile
all'apice
del
cambio
con
il
dollaro.
Questi
ritardi
contribuirono
alla
caduta
del
prezzo
e
al
ritorno
su
quote
di
poco
superiori
ai
100$.
A
maggio
il
Dipartimento
di
Sicurezza
Nazionale
degli
Stati
Uniti
d'America
congel
gli
account
contenenti
cinque
milioni
di
dollari
che
Mt.
Gox
deteneva
negli
Stati
Uniti,
per
mancanza
di
adesione
da
parte
del
sito
ai
nuovi
obblighi
dettati
dal
FinCEN
quell'anno.
Questo
fin
per
escludere
Mt.
Gox
dal
mercato
statunitense.
Ma
Mt.
Gox
non
era
il
solo
ad
avere
problemi.
Per
tutto
l'anno
si
susseguirono
notizie
di
furti
ai
danni
dei
servizi
di
cambio
o
di
portafoglio
on-line,
portando
alla
chiusura
di
molti
di
questi
(anche
se
qualcuno
fu
sospettato
di
aver
inscenato
i
furti
e
di
essersi
invece
appropriato
dei
fondi
degli
utenti).
L'undici
agosto
fu
scoperta
una
vulnerabilit
(eliminata
2
giorni
dopo)
nel
generatore
di
numeri
casuali
del
sistema
Android
che
permise
numerosi
furti
ai
portafogli
gestiti
da
quel
sistema
(infatti
il
generatore
di
numeri
casuale
non
era
realmente
casuale
e
quindi
il
parametro
casuale
usato
durante
la
firma
veniva
ripetuto,
portando
alla
possibilit
di
un
attaccante
di
scoprire
la
relativa
chiave
privata,
vedi
sezione
3.1.1).
Sempre
ad
agosto
arriv
la
sentenza
del
caso
Securities
and
Exchange
Commission
vs.
Trendon
T.
Shavers
and
Bitcoin
Savings
and
Trus
(BTCST),
in
cui
il
giudice
del
Texas
incaricato
riconobbe
colpevole
il
proprietario
di
BTCST
Trendon
T.
Shavers
accusato
di
aver
perpetrato
uno
schema
ponzi
ai
danni
degli
utenti.
interessante
notare
come
Shavers
avesse
adottato
come
linea
difensiva
il
ragionamento
che
bitcoin
non
fosse
una
valuta.
Il
giudice
riconobbe
per
che
bitcoin
era
scambiato
in
cambio
di
beni
e
quindi
poteva
essere
considerato
una
moneta.
Da
ci
conseguiva
che
gli
utenti
avevano
investito
una
somma
di
denaro
(non
un
32
Il
mondo
di
Bitcoin
era
ormai
molto
cambiato
dai
suoi
inizi
e
a
novembre
il
primo
sito
di
cambio
per
valore
delle
transazioni
effettuate
divenne
il
sito
cinese
BTC
China.
L'interesse
per
Bitcoin
si
era
infatti
riacceso
portando
ad
una
nuova
salita
del
prezzo
che
super
la
soglia
dei
1.000$
il
27
novembre
per
poi
raggiungere
nello
stesso
mese
il
nuovo,
e
fino
ad
oggi
imbattuto,
record
di
1.200$
.
Linizio
del
2014
port
una
nuova
minaccia
alla
rete
Bitcoin.
Il
dieci
e
undici
febbraio
la
rete
fu
sommersa
da
un
massiccio
attacco
DDoS
che
costrinse
i
principali
siti
di
cambio
a
interrompere
gli
scambi.
La
rete
non
era
nuova
ad
attacchi
denial
of
service,
ma
mai
di
queste
dimensioni.
I
mining
pools
o
i
siti
di
servizi
on-line
potevano
infatti
colpire
i
rivali
con
attacchi
denial
of
service
per
screditarli
ed
attirare
a
s
i
loro
miners
o
clienti.
Erano
anche
successi
episodi
di
botnet
che,
dopo
essere
state
espulse
da
un
mining
pool,
si
vendicavano
sul
mining
pool
utilizzando
i
dispositivi
infetti
per
un
attacco
DDoS
contro
di
lei.
Un
attaccante
poteva
inoltre
tentare
un
attacco
DDoS
contro
un
sito
di
cambi
per
far
abbassare
i
tassi
di
cambio
ed
ottenere
un
ritorno
economico.
Lattacco
di
settembre
per
fu
il
primo
abbastanza
potente
da
colpire
lintera
rete,
bloccando
gli
scambi
di
bitcoins
per
ore,
e
portando
ad
un
crollo
del
valore
dei
bitcoins.
Lattacco
fu
portato
da
un
nodo
che
sfruttava
la
malleabilit
delle
transazioni
per
sommergere
la
rete
di
transazioni
clonate
(vedi
sezione
4.4.3).
I
maggiori
siti
di
cambio
videro
unimprovvisa
esplosione
di
tentativi
di
double
spending
(vedi
sezione
2.3)
e
quindi
chiusero
le
connessioni,
per
rafforzare
il
proprio
software
e
al
tempo
stesso
controllare
che
non
dipendesse
dallhash
unico
delle
transazioni
per
funzionare
correttamente
(altrimenti
questa
vulnerabilit
sarebbe
stata
sfruttata
dalle
transazioni
clonate)16.
I
principali
siti
di
scambi
si
ripresero
presto
dallattacco,
ma
non
Mt.Gox
per
cui
questultima
spallata
sar
il
colpo
di
grazia.
Lo storico sito di cambio aveva avuto problemi per tutto lanno passato. I problemi
16
Osserviamo
che
il
client
ufficiale
di
bitcoin
non
vulnerabile
ad
attacchi
basati
sulla
malleabilit,
poich
non
considera
le
hash
delle
transazioni
ma
si
basa
solo
sulle
nuove
transazioni
confermate
nella
catena.
33
giudiziari
con
il
governo
degli
Stati
Uniti
avevano
portato
la
compagnia
ad
interrompere
i
pagamenti
in
dollari,
impedendo
agli
utenti
statunitensi
di
ritirare
i
propri
fondi.
Anche
quando
i
pagamenti
ripresero,
furono
sempre
pi
lenti
e
sporadici.
Nonostante
lapparente
solidit
i
dipendenti
del
sito
affermeranno
in
seguito
che
la
compagnia
era
un
disastro.
Karpeles
era
un
amministratore
egocentrico
che
voleva
tenere
tutto
sotto
controllo
ma
senza
curasi
della
quotidiana
amministrazione.
La
compagnia
mancava
di
tutte
le
procedure
di
sicurezza
e
verifica
del
software.
I
dipendenti
diranno
che
Karpeles
era
un
geniale
programmatore
ma
un
imprenditore
negato.
La
compagnia
tent
di
restare
a
galla
alzando
i
tassi
di
cambio
rispetto
ai
rivali
per
rastrellare
pi
fondi
ma
fu
tutto
vano.
Subito
prima
dellattacco
di
febbraio
Mt.Gox
blocc
tutti
i
prelievi,
congelando
i
fondi
degli
utenti.
Bisogner
aspettare
il
28
febbraio
per
la
dichiarazione
ufficiale
della
bancarotta.
Le
vere
cause
del
fallimento
di
Mt.Gox
sono
ad
oggi
ancora
ignote
ma
illustreremo
di
seguito
la
spiegazione
pi
diffusa.
Mt.Gox
usava
una
codifica
non
standard
per
le
firme
delle
sua
transazioni.
Come
vedremo
nella
sezione
4.4.3,
dalla
versione
0,8
del
client
ufficiale
bitcoind
(rilasciata
a
febbraio
2013)
le
firme
in
formato
non
standard
sono
accettate
ma
non
inoltrate
ad
altri
nodi.
Le
transazioni
di
Mt.Gox
furono
quindi
considerate
non
standard
a
partire
da
febbraio
2013
e
quindi
non
venivano
inoltrate
dai
nodi
aggiornati
rendendo
la
loro
propagazione
sulla
rete
lenta
o,
in
alcuni
casi,
impossibile.
Questo
caus
grandi
ritardi
nei
prelievi
dal
sito.
Alcuni
utenti
scoprirono
il
problema
e
iniziarono
a
correggere
da
soli
le
transazioni,
rappresentando
in
maniera
standard
la
firma,
per
vederle
validate
in
fretta.
Di
fatto
gli
utenti
stavano
sfruttando
la
malleability
allinverso,
invece
di
creare
cloni
da
una
transazione
standard,
creavano
una
transazione
standard
da
una
che
era
vista
come
clonata.
Gli
stessi
utenti
si
accorsero
che
malleando
la
transazione
lhash
identificativo
cambiava
e
Mt.Gox
non
registrava
il
prelievo
poich
si
aspettava
la
vecchia
hash.
La
transazione
era
corretta
ed
entrava
quindi
nella
catena,
ma
Mt.Gox
non
sapeva
di
aver
speso
quei
fondi.
Gli
utenti
potevano
quindi
reclamare
fraudolentemente
a
Mt.Gox
di
non
aver
ricevuto
i
fondi,
e
la
compagnia
dava
ragione
agli
utenti
poich
non
aveva
registrato
la
transazione,
non
riconoscendo
lhash
identificativa.
In
altre
parole
Mt.Gox
pagava
di
fatto
gli
utenti
senza
accorgersene.
Mt.Gox
credeva
di
non
aver
pagato
lutente
e
quindi
creava
una
nuova
transazione
a
suo
favore.
Normalmente
Mt.Gox
avrebbe
potuto
invece
controllare
la
catena
e
si
sarebbe
subito
accorto
che
lutente
stava
mentendo.
Anche
senza
controllare
la
catena
Mt.Gox
si
sarebbe
potuto
limitare
ad
inviare
la
stessa
transazione
(quella
clonata
dallutente)
di
nuovo
e
controllare
se
questa
volta
fosse
stata
accettata.
Questa
la
procedura
standard
in
34
Bitcoin
in
caso
di
reclamo.
Infatti
se
vengono
inviate
pi
copie
della
stessa
transazione
una
sola
potr
essere
validata
nella
catena
(le
altre
saranno
scartate
come
tentativi
di
double
spending),
quindi
chi
invia
i
fondi
sicuro
che
pagher
al
massimo
una
volta.
Per
provare
a
far
validare
una
transazione
chi
la
invia
pu,
al
massimo,
provare
ad
aumentare
la
commissione
o
rappresentare
diversamente
la
firma,
per
assicurarsi
che
non
sia
rifiutata
per
commissioni
troppo
basse
o
firme
non
standard.
Mt.Gox
per
non
fece
nulla
di
tutto
questo.
Vedendo
che
la
transazione
non
riusciva
ad
essere
confermata
(originariamente
perch
era
non-standard
e
successivamente
perch
era
gi
presente
un
suo
clone
nella
catena)
creava
una
nuova
transazione
utilizzando
altri
fondi
di
input.
Come
se
non
bastasse
anche
questa
nuova
transazione
era
non
standard,
quindi
lutente
fraudolento
poteva
modificarla
senza
che
Mt.Gox
sene
accorgesse,
far
approvare
sulla
catena
la
transazione
modificata
e
ricontattare
Mt.Gox
per
chiedere
ancora
gli
stessi
fondi.
A
causa
della
generale
incompetenza
con
cui
era
gestita
la
compagnia
(o,
secondo
alcuni,
della
collusione
di
alcuni
impiegati)
nessuno
si
accorse
dellemorragia
fino
al
dieci
febbraio
2014.
Quel
giorno
fu
pubblicato
un
comunicato
che
accusava
il
protocollo
Bitcoin
di
essere
vulnerabile
ed
accusarono
la
malleability
delle
transazioni
di
tutte
le
loro
perdite.
Il
giorno
dopo
la
rete
fu
attaccata
dal
massiccio
DDoS
che
sfruttava
proprio
la
malleabilit
e
Mt.Gox
chiuse
per
sempre.
La
spiegazione
ufficiosa
del
furto
sopra
indicata
non
trova
per
consenso
unanime
nella
comunit.
Molti
ritengono
assurdo
che
nessuno
allinterno
di
Mt.Gox
si
sia
accorto
di
nulla,
e
ci
sono
diffusi
sospetti
sulla
gestione
del
servizio.
I
dubbi
pi
autorevoli
sulla
vicenda
sono
stati
sollevati
da
due
ricercatori
di
Zurigo
[66]
che
hanno
cercato
di
rintracciare
lenorme
mole
di
transazioni
clonate
necessarie
a
commettere
il
furto.
Gli
autori
hanno
inserito
nella
rete
un
nodo
ascoltatore
ed
analizzato
tutte
le
transazioni
inviate
sulla
rete
a
partire
da
gennaio
2013.
Tenendo
traccia
delle
transazioni
clonate,
hanno
potuto
individuare
29.139
attacchi
basati
sulla
malleabilit
che
riguardavano
302.700
BTC
in
totale.
Di
questi
attacchi
solo
il
21,36%
avrebbe
avuto
successo
garantendo
un
furto
totale
di
64.564
BTC
.
Ma
35
di
tutti
questi
furti
la
maggior
parte
sono
dovuti
al
gi
citato
attacco
del
dieci
febbraio,
mentre
Mt.Gox
aveva
gi
bloccato
qualsiasi
prelievo
lotto
febbraio.
Da
gennaio
2013
allotto
febbraio
2014
solo
386
BTC,
molto
meno
delle
850.000
BTC
denunciate,
sono
individuate
come
proventi
illeciti
dovuti
ad
attacchi
basati
sulla
malleabilit.
Lo
studio
iniziato
da
gennaio
2013
e
quindi
non
possiamo
sapere
se
la
maggior
parte
dei
furti
non
fosse
gi
stata
commessa.
Inoltre
le
transazioni
clonate
sono
considerate
non
standard
e
quindi
si
propagano
sulla
rete
con
grande
difficolt,
possibile
quindi
che
il
nodo
ascoltatore
degli
autori
non
sia
venuto
a
conoscenza
di
molte
di
loro.
Infine
questo
studio
considera
le
transazioni
standard
come
legittime
mentre
abbiamo
visto
come
Mt.Gox
inoltrasse
transazioni
non
standard,
malleate
poi
in
formato
standard
dagli
attaccanti.
Certo
che
lo
studio
getta
una
fitta
ombra
sullonest
del
servizio.
Un
altro
fatto
sospetto
lannuncio
di
Mt.Gox
del
20
marzo
di
aver
ritrovato
200.000
BTC
depositati
in
un
vecchio
portafoglio
da
tempo
non
utilizzato.
Come
possibile
che
la
compagnia
avesse
depositato
cos
tanti
fondi
in
un
portafoglio
per
poi
dimenticarsene
e
nessuno
si
fosse
accorto
della
scomparsa
di
200.000
BTC
(che
equivalgono
a
circa
cento
milioni
di
dollari
statunitensi)
?
ambienti
accademici
legati
alle
valute
digitali.
Lidentit
del
fondatore
di
Bitcoin
rimasta
sempre
avvolta
dal
mistero.
Anche
durante
le
discussioni
sul
forum
di
Bitcoin
(prima
di
scomparire)
Satoshi
ha
sempre
parlato
solo
di
aspetti
tecnici,
rifiutandosi
di
fornire
qualsiasi
informazione
sulla
sua
identit.
Bitcoin
completamente
indipendente
dal
suo
fondatore
che
non
ha
nessun
tipo
di
controllo
sul
protocollo,
quindi
potrebbe
sembrare
che
conoscere
la
sua
vera
identit
sia
una
semplice
curiosit,
ma
in
realt
non
cos.
Il
successo
di
bitcoin
si
basa
in
larga
misura
sulla
presa
che
ha
sugli
utenti.
Bitcoin
particolarmente
vulnerabile
agli
effetti
della
propria
popolarit
e
lidentit
misteriosa
del
suo
fondatore
ricopre
una
parte
importante
nel
folklore
collegato
alla
valuta.
Gli
utenti
originali
vedono
in
Satoshi
un
campione
della
libert
della
rete,
ma
i
nuovi
utenti
potrebbero
essere
spaventati
dallutilizzare
la
creazione
di
una
figura
cos
enigmatica.
Se
si
scoprisse
la
vera
identit
di
Satoshi
ci
sarebbe
un
volto
dietro
allintero
progetto
bitcoin.
Se
Bitcoin
si
basa
su
idee
perfette
della
matematica,
il
suo
creatore
segue
invece
le
stesse
regole
imperfette
di
tutti
gli
uomini.
Gli
avversari
di
bitcoin
potrebbero
trasporre
gli
errori
e
i
difetti
delluomo
sul
protocollo,
minandone
la
popolarit.
Improvvisamente
qualsiasi
errore
commesso
in
passato
dal
creatore
mostrerebbe
lintero
protocollo
come
fallibile.
Bitcoin
funziona
quindi
meglio
con
un
creatore
ignoto
e
misterioso.
Il
progetto
ha
infatti
lo
scopo
di
ridare
il
potere
alle
persone,
quindi
non
devono
esistere
entit
centrali,
nemmeno
un
creatore,
tutti
gli
utenti
sono
uguali.
Gli
utenti
non
devono
riporre
la
loro
fiducia
in
una
figura
carismatica,
solo
in
loro
stessi
e
nelle
regole
del
protocollo.
Numerosi
ed
autorevoli
studi
sono
stati
condotti
per
cercare
di
svelare
la
vera
identit
del
creatore,
ma
fino
ad
oggi
rimangono
solo
teorie
e
speculazioni.
Satoshi
Nakamoto
non
ha
mai
rivelato
nessuna
informazione
privata.
Quando
fu
messo
in
rete
larticolo
originale
[1],
le
uniche
informazioni
che
Satoshi
diede
furono
un
indirizzo
di
posta
elettronica
gratuito
con
dominio
tedesco
ed
il
fatto
di
risiedere
in
Giappone.
La
pista
giapponese
port
solo
a
teorie
poco
probabili,
come
quella
di
alcuni
utenti
che
sostennero
che
il
nome
fosse
una
copertura
per
SAmsung
TOSHIba
NAKAmichi
MOTOrola.
Lintero
progetto
di
Bitcoin
sembrava
per
un
lavoro
troppo
complesso
per
essere
gestito
da
un
solo
uomo,
ed
in
molti
credevano
che
dietro
il
nome
si
nascondesse
in
realt
un
gruppo
di
persone.
La
mail
non
forn
nessun
indizio,
infatti
Satoshi
era
molto
attento
a
non
rivelare
nessuna
informazione
utile
e
rispondeva
solo
ogni
tanto
alle
mails,
come
se
le
controllasse
di
rado
(negando
cos
informazioni
sulle
sue
abitudini).
Lunica
volta
in
cui
Satoshi
parl
di
un
argomento
che
non
fosse
limplementazione
del
protocollo
fu
il
5
Dicembre
2010
quando
scrisse
un
post
sul
forum
contro
ladozione
di
donazioni
in
bitcoins
da
parte
di
Wikileaks
:
37
No,
dont
bring
it
on,
the
project
needs
to
grow
gradually
so
the
software
can
be
strengthened
along
the
way.
I
make
this
appeal
to
Wikileaks
not
to
try
to
use
bitcoin.
Bitcoin
is
a
small
beta
community
in
its
infancy.
You
would
not
stand
to
get
more
than
pocket
change,
and
the
heat
you
would
bring
would
likely
destroy
us
at
this
stage.
Questo
sar
uno
dei
suoi
ultimi
post
prima
della
definitiva
uscita
di
scena
dal
forum
il
12
Dicembre
e
linterruzione
delle
risposte
alle
mail
del
ventisei
Aprile
successivo.
Molti
giornalisti
hanno
tentato
di
risolvere
il
mistero.
Nel
2011
il
New
Yorker
pubblic
un
articolo
autorevole
sullidentit
di
Satoshi,
che
fu
per
smentito
dai
sospettati.
Molte
ipotesi
sono
state
mosse
sui
crittografi
impegnati
allepoca
nello
studio
delle
valute
digitali
come
anche
sugli
sviluppatori
pi
autorevoli,
ma
sono
state
tutte
smentite
dagli
interessati.
Larticolo
pi
recente
uscio
su
newsweek
il
6
Marzo
2013
ed
afferma
di
aver
scoperto
il
vero
Satoshi
Nakamoto
nel
sessantaquattrenne
statunitense
di
origini
giapponesi
Dorian
Satoshi
Nakamoto
[116].
Larticolo
ricostruisce
la
vita
di
Dorian
Nakamoto
cercando
coincidenze
e
moventi
da
collegare
alle
poche
notizie
note
su
Satoshi.
Linteressato
ha
subito
smentito
di
essere
Satoshi
e
durante
lintervista
di
smentita
Dorian
ha
continuato
ha
chiamare
Bitcoin
Bitcom
(o
come
furba
copertura
oppure
perch
non
sapeva
davvero
di
cosa
si
tratti).
La
17
Il
titolo
The
Times
03/Jan/2009
Chancellor
on
brink
of
second
bailout
for
banks.
38
smentita
pi
autorevole
giunta
da
Satoshi
Nakamoto
stesso,
che
per
la
prima
volta
dal
2010
ha
inserito
un
nuovo
post
per
smentire
di
essere
Dorian
S.
Nakamoto.
Chiaramente
questo
potrebbe
indicare
che
Dorian
non
sia
davvero
Satoshi
o
che
lo
sia
ed
abbia
scritto
il
post
proprio
perch
si
sentiva
circondato.
Laspetto
meno
credibile
per
proprio
il
nome
Dorian
S.
Nakamoto.
Sembra
assurdo
che
un
campione
dellanonimato
come
Satoshi,
che
non
si
mai
lasciato
sfuggire
nessuna
informazione
in
due
anni,
abbia
scelto
come
pseudonimo
il
proprio
nome
vero.
Capitolo
2
-
Protocollo
In
questo
capitolo
spiegheremo
le
regole
alla
base
del
protocollo
Bitcoin.
Le
primitive
crittografiche
usate
da
Bitcoin
sono
ECDSA
(Elliptic
Curve
Digital
Signature
Algorithm)
con
la
curva
secp256k118
per
operazioni
di
firma,
e
doppia
hash
SHA-256
(cio
utilizzato
sha256(sha256(X))
per
calcolare
lhash
di
X)
per
ottenere
hash
lunghe
256
bit
e
SHA-256
combinata
con
RIPEMD-160
(cio
ripemd160(sha256(X))
restituisce
lhash
di
X)
per
ottenere
hash
lunghe
160
bit.
Di
seguito
ogni
volta
che
useremo
il
termine
hash
intenderemo
dire
doppia
hash
SHA-256
se
non
diversamente
specificato.
Per
maggiori
dettagli
sulle
funzioni
crittografiche
si
veda
il
Capitolo
3.
2.1 Indirizzi
Per
poter
fare
parte
delleconomia
Bitcoin
ogni
utente
deve
prima
generare
almeno
una
coppia
(chiave
pubblica,
chiave
privata).
La
chiave
pubblica
servir
per
calcolare
lindirizzo
da
cui
ricevere
e
inviare
pagamenti
e
la
chiave
privata
sar
usata
per
dimostrare
che
lutente
il
vero
possessore
di
quella
chiave
pubblica.
La
crittografia
a
chiave
pubblica
usata
dal
protocollo
ECDSA,
la
chiave
privata
sar
un
numero
casuale
di
256
bits
e
lalgoritmo
di
ECDSA
generer
la
corrispondente
chiave
pubblica
di
512
bits.
Lutente
per
non
comunica
allesterno
la
chiave
pubblica
in
s.
Prima
esegue
due
hash
dei
512
bits
della
chiave
pubblica,
prima
usa
SHA-256
per
ottenere
256
bits
su
cui
applicato
RIPEM-160
per
ottenere
160
bits.
Questo
numero
viene
trasformato
nellindirizzo
pubblico
in
caratteri
ASCII
applicando
la
codifica
Base58Check.
La
codifica
Base58Check
contiene
una
check-sum
per
evitare
errori
composta
dai
primi
4
bytes
dellhash
SHA-256
(come
sempre
doppia)
dellindirizzo
pubblico19.
molto
importante
che
questo
indirizzo
sia
generato
correttamente
18
Per
i
parametri
consigliati
si
veda
[65].
19
Esempio:
chiave
privata
f19e523315891e6e15ae0608a35eec2e00ebd6d1984cf167f46336dabd9b2de4
poich
senn
tutti
i
bitcoins
inviategli
non
saranno
pi
utilizzabili
e
quindi
persi
per
sempre.
Questo
indirizzo
pubblico
e
deve
essere
noto
a
chiunque
voglia
effettuare
un
pagamento
a
suo
favore.
Osserviamo
come
dallindirizzo
non
sia
possibile
ricavare
la
chiave
pubblica
vera
poich
le
funzioni
di
hash
usate
sono
crittograficamente
sicure
(e
quindi
irreversibili),
n
tantomeno
la
chiave
privata,
che
non
sarebbe
possibile
ricavare
nemmeno
se
conoscessimo
la
chiave
pubblica,
grazie
alluso
di
ECDSA.
Un
corollario
di
questa
sicurezza
che
se
la
chiave
privata
viene
rubata
allora
il
legittimo
proprietario
non
distinguibile
dal
ladro.
Bitcoin
vede
come
proprietario
di
un
indirizzo
chiunque
possieda
la
relativa
chiave
privata,
ladro
o
meno.
Un
altro
problema
riguarda
la
perdita
della
chiave
privata.
Se
la
chiave
privata
persa
allora
qualsiasi
fondo
contenuto,
o
successivamente
inviato,
a
quellindirizzo
perduto
per
sempre.
Nessuno
potr
mai
reclamare
i
fondi
perduti,
a
meno
chiaramente
di
violare
la
sicurezza
delle
funzioni
crittografiche
sottostanti.
Ogni
utente
pu
generare
un
nuovo
indirizzo
per
ogni
transazione
(in
cui
tra
i
destinatari
di
un
pagamento),
quindi,
nella
pratica,
il
numero
di
indirizzi
che
ogni
utente
pu
gestire
molto
elevato.
Infatti
per
aumentare
lanonimato
delle
transazioni
consigliato
creare
un
nuovo
indirizzo
(e
quindi
una
nuova
coppia
(chiave
pubblica,
chiave
privata))
per
ogni
transazione.
Questo
non
un
problema
poich
il
costo
computazionale
per
generare
un
nuovo
indirizzo
trascurabile.
Chiaramente
per
utenti
con
grandi
volumi
di
transazioni
giornalieri
(come
possono
essere
i
grandi
servizi
di
cambio
o
di
scommesse
on-line)
cambiare
indirizzo
per
ogni
transazione
genererebbe
presto
un
numero
intrattabile
di
indirizzi.
Scartare
gli
indirizzi
vecchi
da
cui
sono
gi
stati
spesi
tutti
i
bitcoins
disponibili
uno
stratagemma
pericoloso
poich
qualcuno
potrebbe
ancora
conoscerli
ed
inviare
pagamenti
a
loro
favore.
Questo
porterebbe
a
bitcoins
irrecuperabili,
essendo
stata
scartata
la
chiave
privata.
2.2 Transazioni
Ogni
input
costituito
da
una
transazione
e
un
indirizzo
(oltre
alle
firme
come
spiegato
in
seguito).
cio
specificato
lindirizzo
(indicato
da
un
indice)
da
cui
prendere
i
fondi
e
la
41
transazione
(in
cui
quellindirizzo
deve
apparire
tra
gli
outputs
al
posto
indicato
dallindice)
che
ha
depositato
i
fondi
su
quellindirizzo.
Lutente
dovr
firmare
il
tutto
usando
la
chiave
privata
di
quellindirizzo.
In
questo
modo
la
firma
dimostra
che
chi
effettua
la
nuova
transazione
sia
davvero
il
proprietario
dei
fondi
e
la
vecchia
transazione
dimostra
che
quellindirizzo
conteneva
quei
fondi.
importante
subito
notare
come
lintero
valore
in
bitcoins
indicato
dalla
vecchia
transazione
allindirizzo
usato
sar
utilizzato
nella
transazione
corrente.
Non
possibile
dividere
questa
somma
se
non
attraverso
altre
transazioni
(ma
come
vedremo
sar
possibile
comunque
ottenere
il
resto).
pubblica
per
verificare
che
la
firma
sia
corretta
e
pu
poi
ricavare
lindirizzo
pubblico
applicando
le
due
hash
suddette
alla
chiave
pubblica
e
controllare
che
sia
lo
stesso
della
transazione
firmata.
Ogni
transazione
contiene
un
riferimento
(lhash
identificativa)
delle
transazioni
da
dove
sono
presi
i
fondi,
questo
crea
una
catena
(che
in
realt
un
albero
a
causa
degli
input
e
output
multipli)
che
documenta
il
passaggio
di
valore
dal
proprietario
originale
fino
al
proprietario
corrente.
Dalla
spiegazione
precedente
possiamo
osservare
come,
di
fatto,
non
esista
nessuna
moneta
che
venga
scambiata
tra
gli
utenti,
non
c
cio
il
passaggio
di
una
quantit
di
monete
da
un
utente
allaltro.
Le
monete
sono
implicite
e
sono
implicitamente
rappresentate
dal
passaggio
di
valore
attraverso
le
transazioni.
Una
moneta
bitcoin
una
transazione
(che
contiene
le
hash
delle
transazioni
precedenti
e
quindi
mantiene
implicitamente
tutta
la
propria
storia).
Figura 2.1 catena delle transazioni (per semplicit con input e output singoli)
Abbiamo
detto
che
la
firma
dei
mittenti
calcolata
sul
contenuto
della
transazione.
Ma
opportuno
spiegarci
meglio
su
cosa
venga
di
fatto
firmato.
La
scelta
pi
ovvia
consiste
nel
firmare
lintera
transazione.
Questo
per
non
possibile
perch
la
transazione
contiene
nel
mezzo
la
firma
stessa,
inoltre
se
la
transazione
ha
pi
inputs
la
transazione
dovr
contenere
tutte
le
loro
firme.
Questo
introduce
un
problema
di
malleability.
In
crittografia
si
dice
che
un
messaggio
malleabile
se
pu
essere
modificato
dopo
che
stato
firmato,
senza
invalidare
la
firma.
Le
transazioni
sono
quindi
malleabili,
poich
non
tutte
le
informazioni
43
della
transazione
contribuiscono
alla
firma.
Chiaramente
la
firma
stessa
non
firmata,
quindi
malleabile.
Cambiare
la
firma
porterebbe
ad
una
transazione
invalida,
ma
possibile
cambiare
la
rappresentazione
della
firma20.
La
firma
sarebbe
sempre
valida
ma
rappresentata
diversamente,
quindi
lhash
della
transazione
sarebbe
diversa21.
Potremmo
quindi
avere
due
o
pi
transazioni
identiche
ma
con
hash
diversa.
Poich
lhash
di
un
oggetto
utilizzata
come
identificativo
delloggetto,
questo
potrebbe
provocare
dei
problemi.
Chiariamo
che
la
firma
calcolata
considerando
sia
le
transazioni
in
input
che
tutti
gli
output
con
i
loro
valori
associati,
quindi
la
malleability
non
minaccia
in
nessun
modo
la
correttezza
delle
transazioni.
Ad
oggi
la
malleabilit
un
problema
solo
per
alcuni
client
Bitcoin22
e
per
il
suo
utilizzo
come
vettore
di
attacchi
DDoS
(vedi
sezione
4.4.3).
2.3 Mining
Abbiamo
visto
nella
sezione
precedente
cosa
sia
una
transazione
e
come
permetta
di
accertare
se
lutente
che
spende
dei
fondi
ne
il
reale
proprietario.
Sorge
per
il
problema
di
impedire
che
un
utente
spenda
i
fondi
ottenuti
da
una
stessa
transazione
pi
volte
(detto
problema
del
double-spending).
Vogliamo
cio
impedire
che
un
utente
usi
una
transazione
legittima
a
suo
favore
come
input
per
pi
di
una
transazione.
La
soluzione
di
Bitcoin
lutilizzo
di
una
sorta
di
data
base
di
tutte
le
transazioni
avvenute.
Il
protocollo
pensato
per
funzionare
su
una
rete
peer
to
peer
senza
bisogno
di
stabilire
legami
di
fiducia
tra
gli
utenti,
quindi
sorge
il
problema
del
mantenimento
di
questo
data
base.
La
rete
deve
ricordarsi
delle
transazioni
passate
formando
la
storia
globale
delle
transazioni.
Per
fare
questo
molte
transazioni
vengono
raggruppate
in
un
blocco
di
transazioni
che
aspetter
di
essere
validato.
Una
volta
che
il
blocco
validato
viene
collegato
al
blocco
di
transazioni
precedenti
cos
da
formare
una
catena
di
transazioni
detta
block-
chain.
Pi
precisamente
i
blocchi
sono
raggruppati
in
un
albero
come
spiegheremo
in
seguito.
20
Bitcoin
utilizza
al
libreria
OpenSSL
che
abbastanza
elastica
sulla
rappresentazione
di
questa
firma.
21
Per
ovviare
a
questo
problema,
dalla
versione
0.8
di
bitcoind
le
firme
con
rappresentazioni
non
standard
portano
a
considerare
lintera
transazione
non
standard
e
quindi
accettata
ma
non
inoltrata
sulla
rete
(vedi
sezione
4.4.3).
Non
necessario
salvare
questo
intero
albero
nel
blocco.
Infatti
basta
salvare
la
radice
nell'intestazione
del
blocco
(come
gi
detto
per
garantire
che
non
avvengano
modifiche
alle
transazioni)
e
la
lista
ordinata
delle
transazioni.
Per
verificare
la
correttezza
dell'hash
nella
radice,
qualsiasi
utente
pu
calcolare
le
hash
necessarie
a
partire
dalla
lista
delle
transazioni
e
23
Spiegato
in
seguito.
45
costruirsi
cos
i
nodi
interni.
Grazie
all'uso
del
merkle-tree
si
possono
anche
usare
tecniche
opzionali
per
ridurre
le
dimensioni
dei
blocchi
pi
vecchi
della
catena.
Quando
una
transazione
ha
ricevuto
un
numero
sufficiente
di
conferme
(vedi
dopo
per
capire
cosa
si
intenda
con
il
termine
conferme)
l'albero
contiene
ancora
la
storia
di
tutte
le
transazioni
che
l'hanno
generata.
Solo
quest'ultima
transazione
per
potr
dover
essere
usata
per
controlli
futuri
(nel
caso
che
venisse
usata
come
input
di
una
futura
transazione).
Se
quindi
accettiamo
come
valida
questa
transazione
possiamo
dimenticare
tutte
le
transazioni
precedenti
utilizzate
per
verificarla.
Questosservazione
complicata
dalla
presenza
di
transazioni
con
input
e
output
multipli,
ma
comunque
valida
se
si
considerano
vecchie
solo
quelle
transazioni
in
cui
tutti
gli
output
presenti
sono
usati
come
input
di
transazioni
successive
confermate.
Poich
le
transazioni
sono
salvate
nei
blocchi
in
un
merkle-tree,
possiamo
cancellare
dal
blocco
le
transazioni
stesse
e
sostituirle
con
le
proprie
hash,
o
con
la
hash
del
nodo
padre
se
entrambi
i
figli
di
quel
nodo
padre
sono
hash
(cio
sono
state
cancellate
tutte
le
foglie-transazioni
discendenti
da
quel
nodo).
Con
questa
tecnica
diminuiamo
le
dimensioni
del
blocco24
senza
modificare
l'hash
contenuta
nella
radice
e
quindi
senza
compromettere
la
validit
del
blocco.
24
Un
blocco
costituito
da
poche
informazioni
fisse
(l'intestazione
del
blocco)
di
dimensioni
molto
contenute
(81
byte)
e
da
numerose
transazioni
di
dimensioni
proporzionalmente
molto
maggiori.
Quindi
le
transazioni
di
fatto
sono
le
sole
a
contribuire
alle
dimensioni
del
blocco
ed
eliminarle
genera,
in
proporzione,
grandi
risparmi
di
spazio.
46
I
nuovi
blocchi
possono
essere
creati
da
qualsiasi
utente
della
rete
che
viene
denominato
miner.
Ogni
nuovo
blocco
richiede
una
proof-of-work
(vedi
sezione
3.3)
computazionalmente
costosa
per
essere
aggiunto
alla
catena
e
quindi
ogni
utente
che
aggiunge
un
nuovo
blocco
riceve
come
incentivo
dei
nuovi
bitcoins.
Lincentivo
serve
a
ripagare
il
miner
dei
costi
(computazionali
ed
energetici)
spesi
dal
miner
per
validare
il
blocco.
Lidea
alla
base
della
ricompensa
che
il
miner
fa
del
bene
alla
comunit
aiutandola
a
validare
delle
transazioni
ed
in
cambio
la
comunit
aiuta
il
miner
con
dei
nuovi
bitcoins.
Questi
sono
bitcoins
freschi
e
mai
esistiti
prima
che
aumentano
il
numero
globale
di
bitcoins
in
circolazione.
Poich
il
progetto
di
Bitcoin
prevede
di
proteggere
la
valuta
dallinflazione
le
ricompense
decrescono
nel
tempo,
per
garantire
un
tetto
al
numero
massimo
di
bitcoins
disponibili.
In
origine
ogni
minatore
otteneva
una
ricompensa
di
50
BTC
per
ogni
blocco
ma
questo
valore
si
dimezza
ogni
210.000
blocchi
aggiunti
alla
catena.
Poich
ogni
bitcoin
divisibile
fino
a
10-8,
quando
sar
aggiunto
il
6.930.000
blocco
la
ricompensa
sar
di
0
BTC
e
quindi
cesser.
Il
numero
massimo
di
bitcoins
possibili
in
circolazione
quindi
di
20.999.999,97690000
BTC
.
A
causa
del
dimezzamento
progressivo
delle
ricompense,
il
numero
di
bitcoins
in
circolazione
segue
una
curva
logaritmica
e
quindi
ha
una
crescita
molto
lenta
nel
lungo
periodo.
Nella
pratica
gi
nel
2027
il
numero
totale
di
Bitcoin
in
circolazione
avr
superato
i
20.000.000
BTC.
In
seguito
spiegheremo
che
il
protocollo
cerca
di
mantenere
la
generazione
di
ogni
nuovo
blocco
in
media
ogni
dieci
minuti,
quindi
210.000
blocchi
sono
aggiunti
in
media
ogni
quattro
anni
(6
x
24
x
365
x
4
=
210.240).
Il
6.930.000
blocco
sar
raggiunto
tra
meno
di
132
anni
dallinizio
di
Bitcoin
(gennaio
2009)
e
quindi
poco
dopo
il
2140
(6.930.000
/
(6
x
24
x
365)
=
131,8).
47
Figura 2.4 evoluzione del numero complessivo di bitcoins disponibili nel tempo
Si
usa
il
termine
miner
poich
il
processo
simile
a
una
miniera
doro.
Ogni
minatore
(miner)
concentra
i
propri
sforzi
nel
compito
gravoso
di
scavare
nella
roccia
(trovare
la
porof-
of-work)
sperando
nella
ricompensa
di
aggiudicarsi
una
nuova
pepita
(i
nuovi
bitcoins).
Nel
seguito
della
dissertazione
useremo
quindi
i
termini
classici
del
gergo
di
Bitcoin:
miner
o
minatore
per
rappresentare
un
utente
che
lavori
alla
validazione
di
un
blocco;
blocco
estratto
o
scavato
per
indicare
un
nuovo
blocco
validato
da
un
miner.
Oltre
ai
nuovi
bitcoins
creati
il
miner
colleziona
anche
tutte
le
commissioni
delle
transazioni
racchiuse
nel
suo
blocco.
In
ogni
blocco
quindi
la
prima
transizione
una
transazione
speciale
detta
coinbase
(o
generatrice)
che
non
ha
input
e
ha
somma
degli
output
di
valore
pari
alla
ricompensa
pi
la
somma
di
tutte
le
commissioni
delle
transazioni
del
blocco
(questo
valore
pu
essere
diviso,
come
in
una
normale
transazione
tra
pi
output).
Le
commissioni
sono
state
introdotte
con
lo
scopo
di
mantenere
gli
incentivi
a
estrarre
nuovi
blocchi
anche
quando
sar
raggiunto
il
limite
massimo
e
non
saranno
pi
create
nuovi
bitcoins
per
i
minatori.
La
ricompensa
sar
allora
completamente
sostituita
(anzich
integrata)
dalla
somma
delle
commissioni.
Dopo
aver
raccolto
delle
transazioni
e
creato
un
nuovo
blocco
corretto
che
le
contiene
ogni
miner
inizia
una
gara
con
gli
altri
miners
per
riuscire
ad
aggiungere
per
primo
il
blocco
alla
catena
ed
aggiudicarsi
cos
la
ricompensa.
Per
aggiungere
il
blocco
alla
catena,
un
miner
deve
prima
risolvere
il
seguente
problema
:
48
il
nodo
calcola
l'hash
dell'intestazione
del
blocco
contenente
un
nonce
da
lui
scelto.
Se
questa
hash
minore
o
uguale
di
un
target
prefissato
(noto
a
tutti
i
nodi
e
indicato
nell'intestazione
del
blocco)
allora
il
problema
risolto
e
il
blocco
pu
essere
aggiunto
alla
catena
(il
miner
ha
vinto).
Se
lhash
non
minore
allora
il
miner
deve
scegliere
un
nuovo
nonce
e
riprovare
fino
a
trovare
un
nonce
corretto
o
finch
un
altro
minatore
lo
precede
aggiungendo
un
nuovo
blocco
alla
catena,
nel
qual
caso
il
miner
ha
perso
e
la
sfida
re-inizia
da
capo
con
un
nuovo
blocco.
Notiamo
subito
come
non
venga
calcolata
l'hash
dell'intero
blocco
ma
solo
della
sua
intestazione.
Questo
comunque
sufficiente
a
rendere
il
blocco
non
modificabile
(ossia
tamper-proof)
poich
l'intestazione
contiene
sia
il
puntatore
(cio
l'hash)
del
blocco
precedente
che
la
radice
del
merkle-tree
del
blocco
corrente.
Poich
la
radice
del
merkle
tree
contribuisce
all'hash
del
blocco,
indirettamente
contribuiscono
a
questa
hash
tutte
le
transazioni
del
blocco.
Anche
minime
modifiche
ad
una
sola
transazione
producono
un'hash
nella
radice
del
merkle-tree
completamente
diversa
e
quindi
un'hash
dell'intero
blocco
completamente
diversa.
Il
target
stabilito
per
garantire
che
in
media
sia
aggiunto
alla
catena
un
nuovo
blocco
ogni
dieci
minuti.
Per
ottenere
questo,
il
target
aggiornato
ogni
2016
blocchi
aggiunti,
cio
in
media
ogni
due
settimane
(6
x
24
x
14
=
2016)
aumentandolo
se
la
difficolt
eccessiva
(cio
in
media
i
blocchi
sono
aggiunti
pi
lentamente
di
dieci
minuti)
o
diminuendolo,
per
aumentare
la
difficolt,
se
i
blocchi
sono
aggiunti
troppo
rapidamente.
Per
evitare
grandi
cambi
di
difficolt
il
target
non
comunque
mai
modificato
(aumentando
o
diminuendo
la
difficolt)
per
un
fattore
maggiore
di
quattro
rispetto
al
target
precedente.
Il
target
modificato
quindi
seguendo
la
seguente
formula:
La
probabilit
di
vincere
una
gara
di
mining
dipende
solo
dalla
porzione
di
potenza
di
calcolo
dellintera
rete
posseduta.
Infatti
poich
lhash
usata
(SHA-256)
unhash
crittografica
non
possibile
prevederne
il
risultato
al
variare
dellinput
e
quindi
lhash
trasforma
di
fatto
le
informazioni
date
in
input
in
un
numero
casuale
equiprobabile
tra
0
e
(2256)-1.
Quindi
la
probabilit
per
un
nodo
di
estrarre
un
nuovo
blocco
pari
a
target/2256.
Se
ogni
miner
usa
nonce
casuali
allora
qualsiasi
nonce
ha
le
stesse
probabilit
di
fornire
un
risultato
corretto.
Se
alcuni
miner
usassero
tutti
lo
stesso
generatore
pseudo
-
casuale
per
ottenere
i
propri
nonce
49
sembrerebbe
che
un
altro
miner
potrebbe
basare
la
propria
scelta
dei
nonce
da
provare
su
questa
informazione
ed
aumentare
cos
le
proprie
possibilit
di
risolvere
il
problema
per
primo
(a
parit
di
risorse
impiegate)
ma
non
cos.
Anche
se
due
o
pi
miner
provassero
gli
stessi
nonce,
i
blocchi
che
cercherebbero
di
verificare
sarebbero
comunque
diversi
(quantomeno
per
lindirizzo
a
cui
inviare
la
ricompensa),
e
quindi,
poich
anche
i
blocchi
contribuiscono
al
valore
dellhash
e
in
unhash
crittograficamente
sicura
minime
variazioni
nellinput
producono
output
completamente
diversi,
i
valori
trovati
sarebbero
diversi.
Quindi
lunico
modo
in
cui
un
miner
pu
aumentare
le
proprie
possibilit
di
risolvere
il
problema
per
primo
di
aumentare
la
propria
potenza
di
calcolo
rispetto
ai
concorrenti.
Storicamente
si
osserva
come
i
miners
tendano
ad
unirsi
in
gruppi
o
pool
ed
i
nuovi
miner
si
uniscono
a
pool
preesistenti.
Questi
pool
sono
direttamente
democratici
e
tutti
i
miner
concorrono
con
le
proprie
risorse
a
controllare
una
proporzione
assegnata
di
nonce.
Quando
un
pool
estrae
un
nuovo
blocco,
ogni
miner
riceve
una
percentuale
del
profitto
pari
alla
percentuale
delle
risorse
da
lui
utilizzate
(rispetto
alle
risorse
complessive
dell'intero
pool).
Aggregarsi
in
un
mining
pool
non
aumenta
la
probabilit
del
singolo
minatore
di
estrarre
un
blocco
n
il
suo
guadagno
atteso
(in
senso
probabilistico)
ma
aiuta
il
minatore
ad
abbassare
la
varianza
(il
minatore
guadagna
stabilmente
molto
poco
anzich
raramente
tanto).
o
meno)
vengono
a
conoscenza
del
nuovo
blocco
e,
dopo
aver
verificato
che
sia
corretto,
lo
aggiungono
alla
propria
catena.
I
miner
che
ricevono
un
blocco
corretto
prima
di
aver
finito
di
scavare,
interrompono
la
ricerca
della
prook-of-work
del
loro
blocco,
aggiungono
il
nuovo
blocco
alla
catena
e
iniziano
ad
estrarre
un
blocco
nuovo
(che
conterr
l'hash
dell'ultimo
blocco
della
catena
e
quindi
del
nuovo
blocco
appena
inserito).
Chiaramente
prima
di
inserire
un
nuovo
blocco
in
cima
alla
propria
catena
ogni
utente
verifica
che
questo
blocco
sia
corretto.
Per
farlo
controlla
che
la
prook-of-work
sia
valida
(con
il
nonce
ed
il
target
inseriti
nell'intestazione
del
blocco)
e
che
il
campo
contenete
l'hash
del
blocco
precedente
corrisponda
all'hash
del
blocco
in
testa
alla
catena.
A
volte
pu
capitare
che
ci
non
sia
vero
e
in
questo
caso
il
blocco
detto
orfano,
questo
pu
essere
dovuto
ad
un
blocco
invalido
oppure
appartenente
ad
un'altra
catena
(come
vedremo
quando
tratteremo
di
biforcazioni).
In
alternativa
l'utente
pu
non
essere
ancora
a
conoscenza
di
uno
o
pi
blocchi
intermedi
e
dovr
aspettare
di
recuperare
questi
blocchi
prima
di
espandere
ulteriormente
la
catena.
Ogni
utente
controlla
anche
che
le
transazioni
contenute
nel
nuovo
blocco
siano
valide
e
compatibili
con
la
storia
delle
transizioni
passate
salvata
nel
resto
della
catena.
In
altre
parole
controllano
che
i
fondi
usati
nelle
transazioni
esistano
davvero,
appartengono
al
giusto
indirizzo
e
non
siano
stati
gi
spesi.
Seguendo
queste
regole
il
nuovo
blocco
appena
estratto,
se
corretto,
raggiunge
tutti
gli
utenti
aggiornando
cos
la
catena
distribuita.
I
nodi
dimostrano
di
accettare
il
nuovo
blocco
iniziando
a
cercare
nuovi
blocchi
da
aggiungere
all'ultimo
estratto,
di
fatto
quindi
votano
usando
la
propria
potenza
di
calcolo
di
miners.
2.4 Biforcazioni
oppure
a
parit
di
lunghezza
deve
accettare
il
primo
blocco
di
cui
venuto
a
conoscenza
ma
deve
salvare
anche
il
secondo
(nel
caso
in
futuro
la
sua
catena
superasse
in
lunghezza
quella
del
primo).
Dopo
una
biforcazione
alcuni
miners
lavoreranno
su
una
versione
della
catena
mentre
altri
sull'altra
ma
uno
dei
due
gruppi
riuscir
ad
estrarre
un
nuovo
blocco
per
primo
rendendo
il
proprio
ramo
della
catena
il
pi
lungo26.
Gli
altri
utenti,
appena
venuti
a
conoscenza
del
nuovo
blocco,
si
accorgeranno
che
la
sua
catena
pi
lunga
e
quindi
abbandoneranno
il
ramo
corto.
La
rete
ritorner
cos
ad
usare
un'unica
catena
non
biforcata.
I
blocchi
del
ramo
che
seccato
saranno
di
fatto
irraggiungibili
e
quindi
dimenticati
ma
la
stessa
sorte
non
toccher
alle
transazioni
in
loro
contenute.
Le
transazioni
del
ramo
potato,
non
contenute
gi
in
qualche
blocco
della
catena
legittima,
saranno
viste
dai
miners
come
non
ancora
verificate27
e
quindi
raccolte,
e
validate,
nei
futuri
blocchi.
necessario
che
tutti
gli
utenti
concordino
su
ununica
catena
poich
la
catena
rappresenta
la
storia
delle
transazioni
e
quindi
rami
diversi
porterebbero
a
diverse
ripartizioni
dei
fondi
degli
utenti.
26
Anche
nella
rara
eventualit
in
cui
i
due
rami
continuino
a
crescere
alla
stessa
velocit,
prima
o
poi
uno
dei
due
prender
il
sopravvento
portando
all'estinzione
dell'altro
ramo.
27
Le
transazioni
che
erano
gi
state
verificate
solo
in
un
blocco
del
ramo
potato,
non
essendo
contenute
in
nessun
blocco
valido
dell'attuale
catena,
non
sono
considerate
da
questa
verificate.
52
blocco
valido
contente
la
seconda
transazione
(del
tentativo
di
double
spending)
e
attaccarlo
alla
catena
al
posto
del
blocco
corrente
contenente
la
transazione
da
annullare.
Lattaccante
per
in
svantaggio
perch,
nel
frattempo,
tutti
gli
altri
minatori
onesti
stanno
lavorando
alla
catena
pi
lunga
che
quella
con
la
transazione
originale.
Quindi
a
meno
di
avere
una
potenza
di
calcolo
preponderante
su
tutti
i
nodi
onesti
messi
insieme,
il
suo
attacco
fallir.
Lattaccante
pu
usare
una
tecnica
pi
intelligente.
Prima
comunica
la
prima
transazione
alla
rete
cos
che
qualche
miner
la
includa
in
un
blocco
nuovo
e
lavori
per
validarlo.
Poi
da
solo
crea
la
seconda
transazione
e
la
inserisce
in
un
blocco
valido
da
lui
costruito
iniziando
a
cercare
la
proof-of-
work
per
questo
blocco.
Se
lattaccante
ha
risorse
sufficienti
riuscir
a
estrarre
il
proprio
blocco
segreto
in
un
tempo
minore
di
quello
impiegato
dai
miner
onesti
per
estrarre
il
blocco
contenente
la
prima
transazione.
Egli
quindi
comunicher
subito
il
proprio
blocco
segreto
cos
che
una
parte
della
rete
venga
a
conoscenza
del
blocco
dei
miner
onesti
e
una
parte
di
quello
dellattaccante.
Di
fatto
lattaccante
ha
creato
una
biforcazione
premeditata.
La
riuscita
del
double-spending
finora
trattato,
si
basa
sul
presupposto
che
gli
utenti
considerino
legittima
una
transazione
se
compare
nella
catena,
indipendentemente
da
quanto
sia
recente
il
blocco
in
cui
compare.
Pi
un
blocco
in
profondit
nella
catena
e
pi
bassa
la
probabilit
che
quel
blocco
finisca
in
un
ramo
potato
della
catena
a
causa
di
una
biforcazione
accidentale
o
volontaria.
Il
protocollo
raccomanda
quindi
di
aspettare
sei
conferme
prima
di
accettare
una
transazione
come
valida.
Sei
conferme
significa
che
la
transazione
deve
comparire
in
un
blocco
che
sia
seguito
da
almeno
altri
cinque
blocchi
gi
validati
nella
catena.
Vediamo
perch
questo
corretto.
Ipotizziamo
che
un
attaccante
voglia
cambiare
una
53
transazione
nella
catena
contenuta
in
un
blocco
che
non
sia
lultimo
blocco
inserito.
Per
fare
questo
deve
creare
una
biforcazione
prima
del
blocco
contenente
la
transazione
e
poi
ricostruire
la
catena
su
questo
nuovo
ramo.
Affinch
il
ramo
dellattaccante
sia
quello
accettato
dagli
altri
nodi
deve
essere
il
ramo
pi
lungo,
ma
lattaccante
subito
in
difficolt
perch
gli
altri
nodi
continuano
ad
aggiungere
nuovi
blocchi
al
vecchio
ramo
della
catena
(perch
pi
lungo
di
almeno
un
blocco
di
quello
dellattaccante).
Probabilisticamente
se
lattaccante
ha
meno
potenza
di
calcolo
di
quella
posseduta
da
tutti
i
nodi
onesti
mesi
insieme,
il
divario
tra
le
due
catene
potr
solo
aumentare,
lasciando
il
ramo
dellattaccante
sempre
pi
corto
di
quello
onesto
e
portando
al
fallimento
dellattacco.
Per
studiare
formalmente
la
probabilit
di
successo
di
questo
tipo
di
attacco
seguiamo
il
ragionamento
in
[1]
.
Abbiamo
una
gara
tra
le
due
catene:
la
catena
dellattaccante
inizia
svantaggiata
di
almeno
un
blocco
e
vince
se
riesce
a
sorpassare
in
lunghezza
la
catena
onesta.
Questa
gara
pu
essere
rappresentata
come
una
Random
Walk
binomiale.
Levento
successo
si
verifica
quando
la
catena
onesta
incrementata
con
un
nuovo
blocco,
aumentando
la
distanza
dalla
catena
avversaria
di
uno.
Levento
fallimento
si
verifica
quando
la
catena
dellattaccante
incrementata
di
un
blocco,
riducendo
la
distanza
tra
le
due
catene
di
uno.
Siamo
quindi
in
presenza
di
una
forma
di
problema
detto
Rovina
del
giocatore,
in
cui
il
giocatore
(la
catena
dellattaccante)
cerca
di
pareggiare
il
guadagno
partendo
da
una
situazione
di
perdita.
La
probabilit
Px
che
la
catena
dellattaccante
raggiunga
la
stessa
lunghezza
della
catena
onesta
partendo
con
X
blocchi
di
svantaggio
espressa
dalla
seguente
formula:
(2.1)
Il
caso
in
cui
p<q
corrisponde
quindi
al
caso
in
cui
lattaccante
controlli
pi
potere
computazionale
di
tutti
i
minatori
onesti
messi
insieme.
In
questo
caso
lattaccante
ha
la
maggioranza
dei
voti
come
intesi
in
precedenza
e
quindi
sar
sempre
lui
a
controllare
e
54
decidere
sulla
catena.
Tale
attaccante
di
fatto
il
padrone
della
catena
e
pu
biforcarla
volontariamente
in
qualsiasi
momento,
per
eliminare
i
blocchi
estratti
dai
nodi
onesti.
Discuteremo
dei
rischi
legati
a
questa
situazione
nella
sezione
4.1.1.
Cerchiamo
di
capire
ora
quale
sia
il
numero
X
che
rappresenta
un
buon
compromesso
per
ritenere
lattacco
impraticabile.
Ricordiamo
che
X
rappresenta
il
numero
di
blocchi
che
devono
essere
aggiunti
sopra
un
blocco
prima
di
ritenerlo
non
pi
modificabile
nella
catena.
Quindi
un
utente
dovr
aspettare
X
blocchi
prima
di
accettare
una
transazione,
o
in
altre
parole
dovr
aspettare
X+1
conferme.
Questo
si
traduce
in
lunghi
tempi
dattesa
se
X
troppo
grande,
poich
ricordiamo
che
ogni
nuovo
blocco
aggiunto
in
media
ogni
dieci
minuti,
e
quindi
una
verifica
richiede
almeno
X10
minuti
di
attesa.
riuscito
a
estrarre
finora).
Ricordiamo
che
la
differenza
di
lunghezza
delle
catene
all'inizio
dell'attacco
varia
tra
Y
=
X,
nel
caso
che
l'attaccante
abbia
estratto
gi
tutti
gli
X
blocchi
necessari,
e
Y
=
0,
nel
caso
che
l'attaccante
non
abbia
ottenuto
ancora
nessun
blocco.
Adesso
possiamo
moltiplicare
la
probabilit
che
l'attaccante
si
trovi
in
ciascuno
stato
per
la
probabilit
che
l'attacco
fallisca
da
quello
stato
ottenendo
la
seguente
formula:
Quindi otteniamo la probabilit che l'attacco abbia successo con la seguente formula:
Se
tracciamo
un
grafico
dei
valori
di
questa
probabilit
al
variare
del
numero
di
blocchi
X
e
della
percentuale
della
potenza
di
calcolo
totale
del
sistema
posseduta
dall'attaccante
(che
rappresenta
la
probabilit
q
della
precedente
formula).
Otteniamo
il
grafico
sottostante.
Figura
2.5
grafico
della
probabilit
di
successo
di
un
attacco
in
funzione
del
numero
di
56
blocchi
di
svantaggio
dellattaccante
e
della
frazione
della
potenza
di
calcolo
totale
posseduta
dallattaccante
28
Questo
vero
a
meno
di
attacchi
che
mirino
ad
isolare
il
nodo
illudendolo
di
essere
parte
della
rete
ma
in
realt
collegando
la
vittima
a
soli
nodi
zombie
dell'attaccante
che
comunichino
al
nodo
solo
le
informazioni
57
29
Ma
non
dimensioni
maggiori,
poich
il
protocollo
stabilisce
che
la
dimensione
massima
di
un
blocco
debba
essere
di
1
Mbyte
58
che
le
transazioni
indicate
tra
gli
input
siano
corrette.
Il
nodo
per
sa
che
se
qualche
minatore
ha
incluso
la
transazione
in
quel
blocco,
e
quel
blocco
poi
stato
incluso
nella
catena
pi
lunga,
allora
quella
transazione
stata
giudicata
corretta
da
tutti
gli
utenti
che
hanno
lavorato
a
quella
catena
(che
sono
al
maggioranza
degli
utenti
se
la
catena
la
pi
lunga).
Notiamo
infine
come
questa
tecnica
di
verifica
riduce
la
privacy
dellutente
che
la
utilizza,
infatti
il
nodo
comunica
ad
uno
sconosciuto
quali
informazioni
vuole
vedere,
rivelando
quale
siano
gli
indirizzi
che
gli
interessano.
Un
attaccante
per
ingannare
l'utente
dovrebbe
creare
una
finta
catena
di
blocchi
(senza
transazioni)
che
contengano
la
transazione
cercata
dall'utente.
Per
difendersi
da
questo
attacco
l'utente
potrebbe
scegliere
di
considerare
valide
solo
transazioni
con
un
numero
sufficienti
di
blocchi
successivi
al
blocco
in
cui
sono
contenute.
Questo
numero
di
blocchi
dovrebbe
essere
scelto
tale
che
il
costo
delle
proof-of-work
necessarie
a
generare
i
finti
blocchi
sia
superiore
al
guadagno
ottenuto
dall'attaccante
nell'ingannare
l'utente.
Questo
tipo
di
attacco
pu
sembrare
uguale
ad
un
attacco
di
tipo
double-spending,
ma
esiste
una
fondamentale
differenza.
L'attaccante
pu
creare
una
transazione
completamente
fasulla,
utilizzando
ad
esempio
fondi
inesistenti
tra
gli
input
della
transazione.
Questo
non
sarebbe
possibile
contro
un
nodo
che
conosca
tutta
la
catena,
infatti
l'utente
riconoscerebbe
subito
la
transazione
come
non
valida
controllando
la
correttezza
delle
transazioni
in
input.
In
un
attacco
di
tipo
double
spending
l'attaccante
pu
utilizzare
solo
fondi
che
gli
appartengano
davvero,
con
il
rischio
di
vedersi
la
transazione
confermata
ed
i
fondi
trasferiti
se
l'attacco
59
2.6 Network
Per
poter
partecipare
alleconomia
Bitcoin
ogni
utente
deve
essere
connesso
alla
rete
peer
to
peer
sottostante.
Il
protocollo
specifica
quali
tipi
di
messaggi
usare
per
le
varie
operazioni
sulla
rete.
Tutte
le
connessioni
sono
fatte
su
TCP.
Version:
usato
per
creare
una
connessione
con
un
altro
peer
della
rete,
comunicandogli
la
propria
versione.
Prima
che
i
due
peers
possano
comunicare
necessario
completare
la
procedura
di
handshake
che
consiste
in
un
messaggio
version
e
nel
rispettivo
messaggio
verack
(se
accettato).
Inv:
serve
a
far
sapere
agli
altri
nodi
di
possedere
un
dato
oggetto.
Di
solito
usato
per
comunicare
alla
rete
che
il
nodo
a
conoscenza
di
un
nuovo
blocco
o
di
una
nuova
transazione,
oppure
per
rispondere
ad
un
messaggio
getblocks.
Il
messaggio
contiene
solo
la
lista
di
oggetti
posseduti,
non
gli
oggetti
stessi.
Per
ottenere
questi
nuovi
oggetti
gli
altri
nodi
possono
rispondere
con
messaggi
getdata.
Getdata:
usato
come
risposta
ad
un
messaggio
inv
e
serve
a
ottenere
il
contenuto
di
uno
specifico
oggetto
individuato
dalla
sua
hash.
Getblocks:
usato
per
chiedere
come
risposta
un
messaggio
inv
contenete
le
informazioni
su
tutti
i
blocchi
posseduti.
Il
messaggio
pu
specificare
un
hash
per
indicare
di
inviare
solo
le
informazioni
sui
blocchi
successivi
(cio
pi
recenti
nella
catena)
a
quellhash.
Di
default
sono
comunicate
le
informazioni
dei
cinquecento
blocchi
pi
recenti.
60
Notfound:
inviato
in
risposta
ad
un
messaggio
getdata
quando
i
dati
richiesti
non
sono
disponibili.
Getheaders:
usato
per
richiedere
un
messaggio
headers
per
ricevere
le
intestazioni
dei
blocchi
della
catena.
Questo
messaggio
utilizzato
dai
nodi
che
eseguono
una
verifica
di
pagamento
semplificata,
come
spiegato
in
precedenza.
Getaddr:
usato
per
richiedere
ad
un
nodo
la
lita
dei
nodi
che
lui
conosce
nella
rete.
Il
nodo
contattato
risponder
con
uno
o
pi
messaggi
addr
contenenti
uno
o
pi
peers
da
cui
ha
avuto
notizie
da
non
pi
di
tre
ore.
Ping: usato per notificare ai nodi connessi che il nodo ancora on-line.
Alert:
usato
per
inviare
notifiche
tra
i
nodi.
Il
messaggio
spesso
inviato
dagli
sviluppatori
ed
da
loro
firmato
(la
chiave
pubblica
per
la
verifica
nota
a
tutti).
Vediamo
ora
come
deve
fare
un
utente
per
connettersi
alla
rete,
comunicare
e
verificare
una
transazione
e
ottenere
la
catena
dei
blocchi.
Per
prima
cosa
il
nodo
deve
connettersi
ad
almeno
un
peer
della
rete.
I
peer
appartenenti
alla
rete
sono
per
la
maggior
parte
molto
dinamici,
lasciando
la
rete
e
connettendosi
in
continuazione.
Se
un
utente
non
conosce
gi
lindirizzo
di
un
peer
prima
di
connettersi
pu
utilizzare
un
indirizzo
comunicatogli
in
automatico
da
un
servizio
apposito
(se
ad
esempio
lutente
cliente
di
un
servizio
di
commercio
on-line),
oppure
pu
lanciare
una
richiesta
DNS
su
nomi
noti
(ad
esempio
bitseed.xf2.org)
mantenuti
da
volontari,
infine,
come
ultima
risorsa,
nel
codice
contenuta
una
lista
di
indirizzi
di
backup
(aggiornati
ad
ogni
nuova
versione)
a
cui
il
peer
pu
connettersi
per
scoprire
nuovi
nodi
della
rete
(per
poi
automaticamente
61
Una
volta
che
il
nodo
ha
scoperto
uno
o
pi
peers
inizia
il
protocollo
di
handshake
(stretta
di
mano).
Questo
inizia
con
il
nuovo
nodo
che
invia
un
messaggio
version
contenente
il
suo
tempo
e
la
sua
versione
attuale.
Se
laltro
nodo
accetta
il
numero
di
versione,
risponder
con
un
messaggio
verack
contenente
il
suo
numero
di
versione.
Il
nodo
pu
accettare
ora
la
versione
dellaltro
peer
mandando
a
sua
volta
un
messaggio
verack
e
terminando
cos
la
procedura
di
handshake.
Il
nodo
pu
adesso
iniziare
a
scambiare
messaggi
getaddr
e
addr
per
scoprire
nuovi
peer
della
rete
con
cui
stabilire
una
connessione.
Ogni
nodo
ha
un
parametro
che
definisce
il
numero
minimo
di
connessioni
desiderate30,
e
pu
anche
avere
un
parametro
per
il
numero
massimo
di
connessioni
accettate.
Il
nodo
quindi
cercher
di
connettersi
a
quel
numero
di
peers
tentando
a
caso
tra
la
lista
di
indirizzi
di
nodi
noti.
Un
peer
che
abbia
gi
raggiunto
il
suo
numero
di
connessioni
minimo
non
rifiuter
per
nuove
richieste
di
connessioni
da
altri
nodi,
quindi
il
numero
totale
di
connessioni
di
ogni
nodo
pu
superare,
anche
di
molto,
il
numero
di
connessioni
minime
stabilito.
Il
nodo
pu
ora
calcolare
il
proprio
tempo
della
rete31
come
la
mediana
di
tutti
i
tempi
correnti
comunicategli
dagli
altri
peers
(incluso
il
suo
stesso
tempo)
nei
messaggi
version.
Se
questo
tempo
distante
dal
tempo
del
peer
corrente
per
pi
di
settanta
minuti
allora
il
nodo
imposter
invece
come
tempo
della
rete
il
proprio
tempo
corrente.
Il
nodo
invia
anche
un
messaggio
addr
contenente
il
proprio
indirizzo
ai
propri
vicini
(e
lo
re-invia
ogni
ventiquattro
ore)
per
informarli
che
connesso
alla
rete.
Adesso
che
il
nodo
connesso
ad
alcuni
nodi
della
rete
pu
finalmente
comunicare
agli
altri
nodi
la
sua
nuova
transazione.
Il
nodo
inizia
inviando
un
messaggio
inv
per
informare
i
suoi
vicini
che
conosce
questa
nuova
transazione.
I
peer
interessati
richiederanno
quindi
i
dati
completi
della
transazione
(ricordiamo
che
i
messaggi
inv
non
contengono
dati)
con
un
messaggio
getdata
a
cui
il
nodo
risponder
con
un
messaggio
tx.
Questi
controllano
quindi
la
transazione
e,
se
corretta,
la
rendono
nota
ai
loro
vicini
con
un
messaggio
di
tipo
inv.
Se
la
transazione
non
corretta
viene
invece
scartata
e
non
ulteriormente
inoltrata.
Cos
il
30
Il
pi
usato
client
Bitcoin
chiamato
bitcoind
di
default
ha
questo
parametro
uguale
ad
otto.
31
Il
tempo
della
rete
serve
come
stima
del
tempo
di
ogni
nodo
della
rete,
utilizzato
al
posto
del
tempo
effettivo
di
ogni
nodo
per
cercare
di
uniformare
il
tempo
corrente
tra
pi
dispositivi
con
tempi
possibilmente
diversi.
Il
tempo
corrente
della
rete
importante
per
confrontarlo
con
i
timestamp
contenuti
nei
blocchi
della
catena.
62
Se
un
peer
vuole
conoscere
la
catena
dei
blocchi,
invia
ai
vicini
un
messaggio
getblocks
contenente
lhash
dellultimo
blocco
presente
nella
sua
catena.
Se
il
peer
non
ha
nessuna
catena,
allora
non
specificher
un
parametro
ottenendo
la
lista
degli
ultimi
cinquecento
blocchi.
Il
peer
pu
continuare
ad
inviare
messaggi
getblocks
per
recuperare
le
informazioni
63
su
qualsiasi
parte
della
catena
non
conosca.
Ora
che
il
nodo
sa
quali
blocchi
gli
mancano
pu
ottenerli
dai
vicini
attraverso
dei
messaggi
getdata,
a
cui
i
vicini
risponderanno
con
messaggi
di
tipo
block.
Il
procedimento
pu
essere
ripetuto
finch
il
peer
non
convinto
di
essere
a
conoscenza
della
catena
pi
lunga.
Osserviamo
infine
come
la
propagazione
di
nuovi
blocchi
nella
rete
sia
ottenuta
attraverso
una
comunicazione
dei
blocchi
a
pi
passaggi
(multi-hop)
tra
i
nodi.
Il
tempo
impiegato
tra
la
scoperta
di
un
blocco
e
la
sua
comunicazione
ad
un
altro
miner
dipende
dal
tempo
impiegato
dalla
notizia
del
nuovo
blocco
a
raggiungere
quel
miner.
Allaumentare
di
questo
tempo
aumenta
anche
la
probabilit
che
il
miner
riesca
ad
estrarre
il
blocco
a
cui
sta
lavorando
nellintervallo
di
tempo
che
la
notizia
del
nuovo
blocco
impiega
a
raggiungerlo,
causando
cos
una
biforcazione
nella
catena.
Abbiamo
gi
osservato
come
le
biforcazioni
siano
pericolose,
opportuno
quindi
cercare
di
ridurne
la
probabilit
il
pi
possibile.
Per
farlo
dobbiamo
ridurre
il
tempo
che
impiega
la
notizia
del
nuovo
blocco
a
raggiungere
un
altro
miner.
Questo
tempo
dipende
dal
numero
di
nodi
da
cui
passa
la
notizia
(numero
di
hops)
e
dal
tempo
impiegato
da
ogni
nodo
per
inoltrarla.
Le
soluzioni
possibili
sono
quindi
due:
diminuire
il
numero
di
hops
o
la
latenza
aggiunta
da
ogni
nodo.
Per
applicare
la
prima
soluzione
basta
che
ogni
miner
sia
connesso
ad
una
grande
quantit
di
nodi
e,
soprattutto,
di
altri
miner.
Se
scegliamo
invece
la
seconda
soluzione
possiamo
osservare
che
un
nodo
prima
di
inoltrare
la
notizia
di
un
nuovo
blocco
(con
un
messaggio
inv)
esegue
tre
operazioni:
attesa
della
ricezione
del
blocco
(a
seguito
del
messaggio
getdata
e
della
risposta
block),
controllo
della
validit
dellintestazione
del
blocco,
controllo
della
validit
delle
transazioni
contenute
nel
blocco.
La
prima
operazione
dipende
dalla
velocit
della
rete
ed
quindi
indipendente
dal
nodo.
Le
due
operazioni
di
verifica
possono
per
essere
scollegate,
poich
controllare
tutte
le
transazioni
molto
pi
costoso
che
controllare
solo
lintestazione.
Quando
il
blocco
ha
verificato
che
lintestazione
corretta
potrebbe
inviare
gi
il
messaggio
di
inv
dando
la
notizia
del
nuovo
blocco
ai
suoi
vicini.
A
questo
punto
pu
dedicarsi
alla
lunga
verifica
delle
transazioni
e
scartare
il
blocco
se
la
verifica
fallisce.
Questa
soluzione
aggiunge
la
possibilit
64
che
siano
inoltrati
sulla
rete
blocchi
con
intestazione
valida
ma
transazioni
non
valide.
La
vulnerabilit
introdotta
da
questa
strategia
rendere
la
rete
pi
vulnerabile
ad
attacchi
di
tipo
denial-of-service
distribuito
(DDoS).
Un
attaccante
potrebbe
infatti
creare
un
blocco
valido
con
transazioni
false
che
sarebbe
inoltrato
tra
tutti
i
nodi
della
rete
portando
a
trasmissioni
e
verifiche
inutili.
La
difficolt
dellattaccante
per
creare
un
blocco
con
intestazione
corretta.
Come
abbiamo
gi
osservato,
la
difficolt
di
estrarre
un
blocco
indipendente
dal
numero
o
forma
delle
transazioni
contenute,
in
altre
parole
creare
un
blocco
con
transazioni
false
avrebbe
la
stessa
difficolt
che
crearne
uno
con
transazioni
vere.
Quindi
lattaccante
dovrebbe
competere
con
i
minatori
onesti
per
vincere
una
gara
di
mining
che,
in
caso
di
vittoria,
non
gli
porterebbe
nemmeno
i
vantaggi
di
un
miner
onesto
(collezione
di
ricompensa
e
commissioni).
La
soluzione
adottata
oggi
nella
pratica
dai
miner
per
ridurre
i
tempi
di
ricezione
quella
di
mantenere
unalta
connettivit
nella
rete
(cio
la
prima
e
meno
pericolosa
soluzione
fornita).
65
Capitolo 3 Crittografia
Una
firma
digitale
di
un
documento
una
stringa
dipendente
da
un
segreto,
noto
solo
allutente
firmatario
del
documento,
e
dal
documento
stesso.
La
firma
deve
essere
verificabile
da
chiunque
altro
senza
bisogno
di
conoscere
il
segreto
del
firmatario.
La
firma
deve
anche
possedere
la
propriet
di
non
ripudiabilit,
cio
il
firmatario
non
deve
poter
negare
che
la
firma
sia
sua,
non
replicabilit,
cio
la
firma
non
deve
essere
valida
per
un
altro
documento,
e
infine
non
falsificabilit,
cio
solo
lutente
firmatario
deve
poter
firmare
correttamente
un
documento.
Le
firme
digitali
sono
asimmetriche,
poich
il
firmatario
conosce
informazioni
diverse
dal
destinatario,
quindi
si
basano
su
di
uno
schema
di
crittografia
a
chiave
pubblica.
Lutente
firmatario
possiede
una
coppia
(chiave
pubblica,
chiave
privata),
rende
nota
a
tutti
gli
utenti
la
chiave
pubblica
e
segreta
la
chiave
privata.
Lutente
esegue
poi
unhash
crittografica
del
documento
da
firmare,
e
calcola
la
firma
su
questa
hash.
Ogni
utente
potr
poi
verificare
la
firma
utilizzando
la
chiave
pubblica
dellutente.
La
firma
cos
ottenuta
non
ripudiabile,
poich
ogni
utente
pu
utilizzare
la
chiave
pubblica
dellutente
per
dimostrare
che
la
firma
corretta
e
quindi
stata
eseguita
con
la
sua
chiave
privata.
La
firma
non
replicabile
perch
dipende
dallhash
(crittografica
e
quindi
resistente
alle
collisioni)
del
messaggio
e
quindi
dal
messaggio
stesso.
Infine
solo
un
utente
che
conosce
la
chiave
privata
pu
firmare
correttamente
un
documento
e
quindi
la
firma
non
falsificabile.
Una
firma
digitale
deve
anche
essere
sicura
contro
attacchi
di
tipo
messaggio-noto.
Questo
tipo
di
attacco
prevede
che
lattaccante
ottenga
che
la
vittima
firmi
dei
documenti
da
lui
scelti.
La
firma
sicura
se
queste
firme
raccolte
dallattaccante
non
gli
garantiscono
nessuna
informazione
utile
a
generare
la
firma
di
un
altro
documento
da
lui
scelto.
66
Una
firma
digitale
pu
anche
essere
utilizzata
per
garantire
lintegrit
dei
dati,
infatti
se
il
documento
firmato
viene
modificato
al
firma
non
sar
pi
corretta,
rivelando
la
manomissione.
Questa
propriet
utilizzata
da
Bitcoin
per
garantire
che
la
transazione
firmata
non
possa
essere
modificata,
oltre
che
la
classica
garanzia
che
sia
proprio
il
proprietario
dei
fondi
a
creare
la
transazione.
3.1.1 ECDSA
Lalgoritmo
di
firma
digitale
utilizzato
in
Bitcoin
ECDSA
che
basa
la
sua
sicurezza
sulla
difficolt
del
problema
del
logaritmo
discreto
su
curve
ellittiche.
Prima
di
analizzare
lalgoritmo
stesso
diamo
una
rapida
spiegazione
di
questo
problema.
Poich
Bitcoin
utilizza
curve
ellittiche
su
Zp
considereremo
curve
solo
su
questo
campo.
Se x1=x2 e P1=/=P2 allora y1=-y2 e quindi P2 lopposto di P1, perci P1+ P2 =INF .
Se
P1=
P2
e
y1=/=0
allora
P1+
P2
=
P3
con
P3=(x3,y3)
e
x3=m2-
x1-x2
e
y3=-mx3+y1-mx1
con
m=(y2-y1)*(x2-
x1)-1
.
Possiamo
poi
definire
il
prodotto
di
un
punto
per
uno
scalare
come
somma
ripetuta
cP:=
67
P+
+P
(c
volte).
Per
motivi
di
efficienza
per
calcolare
un
prodotto
con
uno
scalare
pi
conveniente
calcolare
i
raddoppi
successivi,
rispetto
alle
somme
ripetute.
Se
infatti
calcoliamo
2i
P
con
i
che
va
da
1
a
k
tale
che
2k<=
c
<
2(k+1)
ed
esprimiamo
c
i
base
due,
c
=
aj
aj-1
a0
in
base
due
allora
cP=SUM
su
j
t.c
aj=1di
2jP
.
Invertire
la
moltiplicazione
per
scalare,
cio
sapendo
P
e
Q
trovare
l
tale
che
P=l
Q
detto
problema
del
logaritmo
ed
oggi
considerato
un
problema
intrattabile,
e
su
questo
problema
si
basa
la
sicurezza
della
crittografia
su
curve
ellittiche.
I
metodi
pi
efficienti
conosciuti
per
risolvere
logaritmi
discreti
su
curve
ellittiche
sono
sub-esponenziali
ma
con
esponenti
migliori
dei
metodi
di
complessit
sub-esponenziale
conosciuti
per
risolvere
il
problema
del
logaritmo
discreto
in
Zn
(con
n
prodotto
di
due
primi).
Poich
RSA
si
basa
su
Zn
la
crittografia
su
curve
ellittiche
considerata
oggi
pi
sicura
a
parit
di
lunghezza
delle
chiavi.
Possiamo
quindi
avere
lo
stesso
livello
di
sicurezza
di
RSA
utilizzando
crittografia
a
curve
ellittiche
con
chiavi
pi
piccole.
Se
consideriamo
ad
esempio
la
curva
ellittica
secp256k1
utilizzata
da
bitcoin,
questa
garantisce
una
sicurezza
di
128
bit
con
chiavi
lunghe
256
bit,
lo
stesso
livello
di
sicurezza
sarebbe
raggiunto
da
RSA/DSA
con
chiavi
lunghe
3072
bit
(vedi
[65]).
Per
poter
utilizzare
lalgoritmo
di
firma
digitale
ECDSA
un
utente
dovr
prima
generare
la
propria
coppia
(chiave
pubblica,
chiave
privata).
Nella
crittografia
a
curve
ellittiche
la
generazione
di
questa
coppia
avviene
nel
seguente
modo.
Prima
gli
utenti
devono
mettersi
daccordo
su
di
una
curva
da
utilizzare.
In
Bitcoin
tutti
gli
utenti
utilizzano
la
stessa
curva
che
secp256k1
(vedi
[65]
per
i
parametri
della
curva).
Lutente
deve
poi
scegliere
un
punto,
detto
generatore,
sulla
curva
che
abbia
come
ordine
un
numero
primo
q
(nota
che
diciamo
che
G
ha
ordine
q
se
qG
=
INF).
In
Bitcoin
il
punto
G
specificato
tra
i
parametri
di
secp256k1,
quindi
non
deve
sceglierlo
lutente.
Un
utente
sceglie
quindi
un
intero
casuale
a
compreso
tra
zero
e
q-1
.
Questo
numero
casuale
sar
la
chiave
privata
dellutente.
Lutente
calcola
poi
Q=aG.
Il
punto
Q
cos
trovato
la
chiave
pubblica
dellutente.
Osserviamo
quindi
che
un
attaccante
conosce
sia
Q
che
G
e
quindi
potrebbe
calcolare
la
chiave
privata
a
se
riuscisse
a
calcolare
il
logaritmo
discreto,
ma
come
abbiamo
visto
questo
ritenuto
computazionalmente
impossibile.
Osserviamo
inoltre
che
un
qualsiasi
utente
pu
verificare
se
la
chiave
pubblica
accettabile
controllando
se
appartiene
alla
curva
e
se
qQ=INF
(deve
valere
perch
qQ=qaG=aINF=INF
poich
G
ha
ordine
q).
Lalgoritmo
di
firma
ECDSA
consiste
di
due
fasi
distinte:
la
prima
fase
consiste
nella
firma
del
messaggio
da
parte
del
mittente
e
la
seconda
parte
consiste
nella
verifica
della
firma
da
68
parte
del
destinatario.
Osserviamo
che
la
firma
(sia
creazione
che
verifica)
eseguita
su
lhash
del
messaggio,
invece
che
sul
messaggio
stesso,
indichiamo
quindi
con
H(m)
lhash
del
messaggio.
Ipotizziamo
inoltre
che
il
mittente
abbia
gi
una
coppia
(chiave
privata,
chiave
pubblica)
generata
con
il
procedimento
sopra
spiegato.
Il
mittente
pu
quindi
firmare
il
messaggio
con
i
seguenti
passi:
Il
mittente
sceglie
un
intero
casuale
k,
non
utilizzato
in
una
firma
precedente,
tale
che
1<=k<q
e
calcola
kG=R
,
con
R=(x,y).
Se
x=0
ripete
scegliendo
un
k
diverso.
di
importanza
fondamentale
che
lutente
scelga
un
k
diverso
per
ogni
firma.
Infatti
se
lutente
sceglie
lo
stesso
k
per
due
firme
diverse
allora
R
sar
lo
stesso
in
quelle
due
firme,
ottenendo
firme
(R,s)
e
(R,s)
note
allattaccante.
Inoltre
lattaccante
conosce
i
due
messaggi
(perch
i
messaggi
sono
firmati
ma
non
cifrati)
e
quindi
potr
calcolare
le
due
hash
H(m)
e
H(m)
dei
messaggi.
Allora
s-s=k-1
(H(m)+
ax
-
H(m)
-
ax)
=k-1(H(m)
-
H(m))
da
cui
si
pu
ricavare
k
come
k=(
H(m)-
H(m))/(s-s)
.
Adesso
lattaccante
pu
calcolare
a
dalla
formula
s=
k-
1(H(m)+ax)
sse
a=(sk
-
H(m))/x
.
Lattaccante
ha
quindi
ottenuto
la
chiave
privata
della
vittima
a
partire
da
due
sue
firme.
Questa
tecnica
fu
utilizzata
nel
2013
per
rubare
delle
chiavi
private
dai
portafogli
su
dispositivi
android.
Infatti
il
generatore
di
numeri
pseudo
casuali
generava
dei
valori
di
k
ripetuti
durante
le
firme.
Il
sistema
di
firma
funziona,
se
tutto
eseguito
correttamente
(cosa
possibile
solo
a
chi
conosce
la
chiave
privata
del
mittente
che
si
suppone
essere
solo
il
mittente
stesso),
poich:
Una
funzione
di
hash
una
qualsiasi
funzione
che
trasformi
un
input
di
lunghezza
arbitraria
in
un
output
di
lunghezza
predefinita.
La
funzione
hash
deve
essere
facile
da
calcolare,
cio
dato
M
possibile
calcolare
in
maniera
computazionalmente
efficiente
m=h(M),
e
deve
distribuire
uniformemente
i
risultati,
cio
tutti
i
valori
possibili
restituibili
in
output
dallhash
devono
essere
equiprobabili.
Le
funzioni
di
hash
sono
spesso
utilizzate
per
ridurre
la
dimensione
di
un
dato
permettendo
di
ottenerne
una
rappresentazione
pi
compatta
che
dipenda
comunque
da
tutte
le
informazioni
contenute
in
quel
dato.
Unhash per essere adatta in crittografia deve inoltre avere altre quattro propriet aggiuntive.
Unidirezionalit
(o
non
reversibilit):
una
funzione
hash
crittografica
deve
essere
non
reversibile,
cio
se
m=h(M)
allora
m
da
solo
non
deve
dare
nessuna
informazione
su
M
e
quindi
deve
non
essere
computazionalmente
possibile
ricavare
M
a
partire
da
m.
Per
computazionalmente
impossibile
intendiamo
che
per
trovare
M
devono
essere
necessarie
2n
operazioni
di
hash,
dove
n
la
dimensione
di
m.
Effetto
valanga:
una
modifica
minima
nel
valore
in
input
deve
comportare
una
modifica
casualmente
grande
nel
risultato
dellhash.
Tutte
le
funzioni
hash
pi
note
(comprese
le
due
funzioni
di
cui
tratteremo
in
seguito)
utilizzano
uno
schema
iterativo
originariamente
proposto
da
Merkle
e
Damgard.
Linput
viene
diviso
in
blocchi
di
dimensione
fissata
(di
solito
512
bit),
lultimo
blocco
viene
concatenato
con
una
rappresentazione
della
dimensione
del
messaggio
e
viene
riempito
fino
a
raggiungere
la
lunghezza
stabilita
per
ogni
blocco.
Se
vogliamo
un
hash
che
dia
risultati
di
n
bit
allora,
la
70
funzione
di
hash
definisce
una
funzione
di
compressione
che
prende
in
input
un
blocco
ed
un
valore
di
n
bit
e
restituisce
in
output
un
risultato
di
n
bit.
La
funzione
di
compressione
quindi
applicata
al
primo
blocco
del
messaggio
e
ad
un
valore
di
n
bit
iniziale.
Il
risultato
ottenuto
utilizzato
poi
come
input
della
stessa
funzione
di
compressione
insieme
al
secondo
blocco
del
messaggio,
e
cos
via
utilizzando
il
risultato
di
n
bit
del
passo
precedente
come
input
del
passo
successivo
insieme
al
blocco
successivo.
Alla
fine,
dopo
aver
applicato
la
funzione
di
compressione
allultimo
blocco,
il
risultato
di
n
bit
ottenuto
sar
il
valore
dellhash.
Oltre
ad
essere
comodo
ed
efficiente
lo
schema
iterativo
possiede
anche
unottima
propriet:
Merkle
e
Damgard
hanno
dimostrato
che
la
funzione
hash
ottenuta
da
un
metodo
iterativo
con
funzione
di
compressione
resistente
alle
collisioni,
sar
anchessa
resistente
alle
collisioni
(ma
non
viceversa).
Quindi
per
definire
(o
progettare)
una
funzione
hash
iterativa
sufficiente
definire
la
sua
funzione
di
compressione.
3.2.1 RIPEMD-160
La
funzione
di
compressione
prende
in
input
cinque
parole
da
32
bit
(quindi
160
bit
in
totale)
e
restituisce
cinque
parole.
Le
cinque
parole
iniziali
sono
costanti
e
il
risultato
finale
sar
la
concatenazione
delle
cinque
parole
ottenute
allultimo
passo.
3.2.2 SHA-256
SHA
(Secure
Hash
Algorithm)
indica
una
famiglia
di
funzioni
hash
pubblicate
dal
NIST
come
standard
per
il
governo
degli
Stati
Uniti.
Le
funzioni
SHA-0
e
SHA-1
(di
160
bit)
sono
oggi
considerate
non
pi
sicure,
mentre
non
si
conoscono
attacchi
validi
contro
le
funzioni
71
della
famiglia
SHA-2
(cio
SHA-224,
SHA-256,
SHA-384
e
SHA-512).
Il
NIST
ha
indetto
nel
2007
un
concorso
per
la
definizione
delle
nuove
hash
della
famiglia
SHA-3
che
ha
portato
nel
2012
allannuncio
dellalgoritmo
Keccak
come
vincitore.
SHA-256
restituisce
un
output
di
256
bit
ed
una
funzione
hash
iterativa
con
funzione
di
compressione
che
lavora
su
blocchi
di
512
bit.
Il
passo
iterativo
il
seguente:
Ugualmente
sono
definiti
i
valori
K0,
,
K63
come
i
primi
32
bit
della
parte
frazionaria
della
radice
cubica
dei
primi
sessantaquattro
primi,
indicati
di
seguito
in
formato
esadecimale:
72
73
_________________________________________________________________________
74
La
funzione
utilizzata
per
il
calcolo
della
proof-of-work
deve
essere
asimmetrica,
cio
onerosa
da
calcolare
ma
immediata
da
verificare.
Deve
inoltre
permettere
di
variare
la
75
difficolt
(solo
del
calcolo
e
non
della
verifica),
cio
deve
permettere
di
aumentare
o
diminuire
la
quantit
di
risorse
necessarie
probabilisticamente
per
risolvere
il
problema,
senza
modificare
la
difficolt
della
verifica
della
soluzione.
In
altre
parole
deve
essere
una
funzione
efficientemente
verificabile
ma
parametrabilizzabilmente
costosa
da
calcolare.
Importante
anche
che
il
calcolo
dipenda
sempre
da
nuovi
parametri
senza
variare
la
difficolt,
per
evitare
che
una
proof-of-work
possa
essere
calcolata
a
priori
ed
utilizzata
successivamente.
Come
abbiamo
visto
nel
precedente
capitolo,
Bitcoin
utilizza
una
proof-of-work
per
la
validazione
dei
blocchi.
La
funzione
di
proof-of-work
utilizzata
consiste
nel
risolvere
il
problema
di
trovare
un
nonce
per
cui
la
doppia
hash
SHA-256
dell'intestazione
del
blocco,
concatenata
con
il
nonce
scelto32,
sia
minore
di
un
valore
target
stabilito.
Questo
tipo
di
proof-
of-work,
detto
hashcash
[60]
stato
inventato
da
Adam
Back
(vedi
sezione
1.2.1)
e
si
basa
sul
problema
detto
inversione
parziale
di
un'hash,
poich
consiste
nel
trovare
un
qualsiasi
valore
appartenente
ad
un
insieme
A,
definito
come
l'insieme
dei
valori
che
hanno
come
risultato
di
hash
un
qualsiasi
elemento
appartenente
ad
una
altro
insieme
B
prestabilito.
Cio
equivale
all'inversione
di
un
hash
(vedi
sezione
3.2)
su
insiemi
anzich
su
valori
singoli.
33
I
possibili
input
sono
dati
adlla
concatenazione
tra
l'intestazione
del
blocco
(costante)
ed
il
nonce
(variabile),
quindi
cambiare
input
significa
cambiare
il
nonce.
76
Adesso
che
conosciamo
gli
effetti
di
un
computer
quantistico
sulla
sicurezza
delle
primitive
crittografiche
utilizzate
da
Bitcoin,
possiamo
stimarne
gli
effetti.
Possiamo
subito
osservare
come
le
hash
restino
comunque
sicure,
basterebbe
infatti
utilizzare
hash
con
dimensioni
delle
chiavi
doppie
per
riottenere
la
sicurezza
odierna.
Un
computer
quantistico
avrebbe
infatti
solo
un
aumento
della
velocit
quadratico
rispetto
ad
un
computer
classico.
Nel
caso
della
firma
laumento
di
velocit
invece
esponenziale,
rendendo
la
difficolt
del
problema
polinomiale,
sarebbe
quindi
inutile
aumentare
la
lunghezza
delle
chiavi
e
si
renderebbe
necessario
cambiare
completamente
algoritmo
utilizzato.
Gi
oggi
esistono
numerosi
esempi
di
crittografia
asimmetrica
resistente
ai
computer
quantistici,
come
ad
esempio
la
crittografia
sui
reticoli,
quindi
sarebbe
necessario
utilizzare
uno
di
questi
algoritmi
al
posto
di
ECDSA.
Capitolo
4
-
Attacchi
In
questo
capitolo
analizzeremo
i
principali
attacchi
informatici
(pratici
e
teorici)
contro
il
protocollo
Bitcoin.
Nella
prima
sezione
analizzeremo
gli
attacchi
basati
sul
mining.
Potremo
cos
scoprire
la
vulnerabilit
dellidea
di
decentralizzazione
alla
base
del
protocollo.
Dimostreremo
infatti
come
laccorpamento
delle
risorse
di
calcolo,
supportato
da
tecniche
di
mining
disoneste
possano
portare
al
controllo
della
rete.
La
pericolosit
di
questo
tipo
di
attacchi
resa
maggiore
dallassenza
di
possibili
contromisure
adeguate,
e
dal
costo
per
la
rete.
In
caso
di
successo
infatti
questi
attacchi
porterebbero
lattaccante
al
controllo
completo
della
rete
distruggendo
la
libert
promessa
da
Bitcoin.
Nella
seconda
sezione
analizzeremo
gli
attacchi
basati
sul
double
spending,
mostrando
i
problemi
di
sicurezza
intrinseci
nellutilizzo
di
Bitcoin
per
i
pagamenti
quotidiani
nel
mondo
reale.
Nella
terza
sezione
dimostreremo
come
Bitcoin
non
offra
un
reale
anonimato,
e
come
la
tecnica
degli
pseudonimi
utilizzata
sia
spesso
insufficiente
a
tutelare
la
privacy
degli
utenti.
La
mancanza
di
privacy
potrebbe
essere
un
grave
ostacolo
allaccettazione
diffusa
di
Bitcoin.
Nella
stessa
sezione
mostreremo
anche
i
vantaggi
offerti
dalla
mancanza
di
privacy,
come
la
facilit
di
tracciamento
dei
furti.
Discuteremo
alla
fine
del
capitolo
come
i
tipi
di
attacchi
classici
delle
reti
si
possano
applicare
a
Bitcoin
e
con
quali
danni.
Gli
attacchi
discussi
in
questo
capitolo
sono
importanti
per
determinare
il
successo
di
Bitcoin.
I
grandi
problemi
legati
allanonimato
ed
allaccentramento
del
mining
minano
infatti
le
fondamenta
della
sua
intera
economia,
mentre
le
notizie
frequenti
di
furti
ed
attacchi
scoraggiano
potenziali
utenti.
L'attaccante
che
ha
il
controllo
della
catena
dei
blocchi
pu
cambiare
la
storia
delle
transazioni
a
suo
piacimento
(detto
attacco
di
revisione
della
storia).
Per
modificare
un
qualsiasi
blocco
della
catena,
modificando
le
transazioni
che
contiene,
l'attaccante
crea
una
biforcazione
volontaria
prima
di
quel
blocco
ed
inizia
a
costruire
una
catena
alternativa
con
le
stesse
transazioni
contenute
nei
blocchi
successivi
della
vecchia
catena.
Poich
controlla
la
34
Abbiamo
visto
nella
sezione
2.4
che
se
q
>
p
(dove
q
la
probabilit
dell'attaccante
di
estrarre
un
nuovo
blocco
e
p
quella
di
tutti
i
nodi
onesti
messi
insieme)
la
probabilit
che
l'attaccante
riesca
a
costruire
una
catena
pi
lunga
con
X
blocchi
di
svantaggio
pari
a
1,
cio
un
evento
certo.
83
maggioranza
della
potenza
di
calcolo,
l'attaccante
ha
la
certezza
che
questo
nuovo
ramo
della
catena
diventer
il
pi
lungo
indipendentemente
dalla
profondit
del
blocco
da
cui
inizia
la
biforcazione.
Pu
quindi
eliminare
transazioni
gi
confermate
(con
sei
o
pi
conferme).
Questo
spalanca
la
strada
ad
attacchi
di
tipo
double-spending.
L'attaccante
pu
cambiare
una
qualsiasi
transazione
in
cui
conosce
le
chiavi
private
dei
mittenti,
sostituendo
quindi
un
pagamento
ad
un
atro
utente
con
un
pagamento
a
se
stesso.
In
realt,
poich
l'attaccante
pu
semplicemente
eliminare
le
transazioni
gi
confermate
dalla
catena,
sarebbe
per
lui
pi
semplice
eliminare
direttamente
la
transazione
piuttosto
che
rimpiazzarla
con
una
a
se
stesso.
Non
esiste
nessuna
difesa
del
protocollo
nell'eventualit
che
un
attaccante
assuma
il
controllo
della
catena.
Gli
altri
nodi
sono
costretti
ad
accettare
le
decisioni
dell'attaccante.
L'unica
consolazione
dei
nodi
onesti
che
l'attaccante
non
avrebbe
convenienza
ad
affossare
e
distruggere
il
sistema,
minandone
la
fiducia
utilizzando
spesso
il
double
spending.
Nessuno
si
fiderebbe
pi
ad
usare
un
sistema
in
cui
i
pagamenti
a
proprio
favore
possono
essere
annullati
in
qualunque
momento
e
quindi
il
valore
dei
bitcoins
crollerebbe.
L'attaccante
l'unico
che
aggiunge
blocchi
e
quindi
l'unico
ad
ottenere
nuovi
bitcoins
come
ricompense
e
a
collezionare
tutte
le
commissioni
di
tutte
le
transazioni
accettate.
Avendo
cos
alti
guadagni
l'attaccante
dovrebbe
essere
il
primo
a
voler
sostenere
il
valore
dei
bitcoins
e
quindi
a
continuare
a
far
funzionare
onestamente
il
protocollo.
Purtroppo
questo
non
vero
nel
caso
che
l'attaccante
non
si
curi
del
ritorno
economico
ed
il
suo
unico
scopo
sia
quello
di
distruggere
il
sistema
Bitcoin35.
Un
attacco
in
cui
lattaccante
vuole
affossare
lintero
sistema
Bitcoin
per
un
proprio
interesse
esterno
chiamato
Goldfinger.
Questo
tipo
di
attacco
reso
pi
efficace
dalla
35
Come
abbiamo
visto
(vedi
sezione
1.2)
Bitcoin
nasce
dalla
cultura
cypherpunk
della
rete
libera,
quindi
molti
dei
suoi
utenti
pi
entusiasti
sono
convinti
che
"l'establishment"
voglia
a
tutti
i
costi
distruggere
la
loro
valuta
digitale
libera
e
indipendente.
Molti
utenti
sono
convinti
che
un'agenzia
governativa
degli
Stati
Uniti
d'America
come
l'NSA
sarebbe
pronta
a
contrastare
Bitcoin
con
qualsiasi
mezzo,
senza
curarsi
dei
costi
da
affrontare.
84
spirale
di
sfiducia
che
innesca.
Quando
lattaccante
ha
ottenuto
il
controllo
della
catena
deve
pagare
un
prezzo
molto
elevato
per
finanziare
la
maggioranza
delle
risorse
per
mantenere
il
controllo.
Ma
pi
che
affossa
il
sistema
e
ne
ostacola
il
corretto
svolgimento,
pi
cala
la
fiducia
in
Bitcoin
e
quindi
diminuisce
il
valore
dei
bitcoins.
Alcuni
dei
miner
onesti
potrebbero
considerare
non
pi
conveniente
restare
nel
sistema,
o
per
labbassamento
del
valore
reale
delle
ricompense
o
pi
semplicemente
perch
di
fatto
lunico
a
guadagnare
dallattivit
di
mining
lattaccante.
Pi
miner
onesti
abbandonano
e
pi
si
alza
la
percentuale
di
risorse
possedute
dallattaccante.
Questi
potrebbe
quindi
rilasciare
risorse,
controllandone
per
sempre
la
maggioranza,
per
diminuire
i
propri
costi.
Pi
che
il
valore
scende
e
pi
miner
onesti
(razionali)
abbandoneranno
il
sistema
portando
alla
sua
rovina.
Per
contrastare
lattaccante
dovrebbero
entrare
nel
sistema
nuovi
miner
onesti
(invece
di
abbandonarlo)
ma
questo
non
accadrebbe
perch
i
miner
non
avrebbero
nessun
interesse
economico
nel
farlo.
Notiamo
infine
come
un
attaccante
intelligente
potrebbe
risparmiare
ulteriori
risorse
portando
a
compimento
lattacco
senza
bisogno
di
possedere
effettivamente
la
maggioranza
delle
risorse.
Ipotizziamo
che
lattaccante
controlli
unampia
percentuale
di
risorse
ma
non
la
maggioranza
(ad
esempio
tra
il
30
e
40
%
delle
risorse
totali).
In
questo
caso
pu
sempre
provare
a
controllare
la
catena
ma
non
ha
pi
la
certezza
di
riuscirci,
ha
solo
una
probabilit
che
decresce
esponenzialmente
con
il
numero
di
blocchi
che
vuole
modificare.
Ad
esempio
se
lattaccante
possedesse
il
40%
delle
risorse
complessive
avrebbe
una
probabilit
del
50%
di
riuscire
a
modificare
o
eliminare
una
transazione
appena
confermata
con
sei
conferme,
quindi
con
altri
cinque
blocchi
aggiunti
sopra
al
blocco
che
la
contiene.
Spacciandosi
per
un
utente
preoccupato
lattaccante
sparge
la
falsa
voce
che
si
formato
un
cartello
di
due
o
pi
grossi
mining
pools,
accusando
mining
pools
in
realt
onesti.
Per
dare
credibilit
a
questa
voce
lattaccante
potrebbe
usare
il
suo
grande
(ma
non
maggioritario)
potere
di
calcolo
per
provare
ad
invertire
alcune
transazioni
ritenute
confermate
o
per
creare
molte
biforcazioni
nella
rete.
Lattaccante
potrebbe
mostrare
pubblicamente
gli
esempi
di
transazioni
che
riuscito
ad
annullare
(tacendo
i
propri
fallimenti)
per
rinforzare
la
diceria.
Chiaramente
le
mining
pool
oneste
cercherebbero
di
smentire
la
loro
appartenenza
a
qualunque
cartello
ma
la
perdita
di
credibilit
potrebbe
portare
alluscita
di
miner
preoccupati
da
questi
mining
pool
per
uscire
dal
sistema
o
migrare
verso
altri
mining
pools,
potenzialmente
proprio
quelli
di
nascosto
controllati
dallattaccante,
peggiorando
al
situazione.
La
confusione
generata
potrebbe
essere
sufficiente
a
portare
ad
una
perdita
di
valore
che
porterebbe
alcuni
miners
non
pi
competitivi
a
ritirarsi
aumentando
la
percentuale
di
potenza
di
calcolo
dellattaccante
85
e
rafforzando
quindi
il
suo
attacco,
fino
al
controllo
effettivo
della
maggioranza
della
potenza
di
calcolo.
A
causa
dell'accorpamento
costante
dei
miners
in
mining
pool
lo
scenario
di
una
rete
controllata
da
un
cartello
di
mining
pool
non
pi
cos
irrealistico.
Gi
oggi
basterebbe
un
accordo
tra
i
tre
principali
mining
pool
esistenti
per
portarli
al
controllo
della
maggioranza
della
potenza
computazionale
totale
della
rete
(27%+15%+13%).
Osserviamo
inoltre
come
la
difficolt
della
proof-of-work
continui
ad
aumentare
rendendo
sempre
pi
costoso
il
processo
di
mining.
Nel
breve
futuro
sar
necessario
dotarsi
di
hardware
dedicati
sempre
pi
potenti
per
risolvere
le
proof-of-work.
Lalto
costo
iniziale
dellhardware
necessario
ed
il
costo
costante
dellenergia
elettrica
consumata
potrebbero
rendere
il
lavoro
di
mining
economicamente
non
vantaggioso
per
i
nuovi
utenti.
Inevitabilmente
i
mining
pool
saranno
formati
da
farm
di
hardware
costosi
localizzate
in
zone
del
pianeta
a
basso
costo
di
energia
elettrica
(come
lIslanda).
In
un
mercato
sempre
pi
elitario
sar
inevitabile
laccentramento
di
grandi
poteri
computazionali
in
poche
mani,
rendendo
pi
accessibile
la
soglia
del
50%+1
.
Inoltre
nel
futuro
le
ricompense
scenderanno
e
potrebbero
diventare
talmente
basse
da
non
attrarre
nuovi
miners,
la
difficolt
potrebbe
quindi
crescere
pi
lentamente
della
potenza
di
calcolo
dei
miners,
di
fatto
abbassandosi.
Difficolt
minori
ed
una
comunit
ristretta
di
miners
renderebbero
il
controllo
della
catena
pi
accessibile.
86
Abbiamo
gi
spiegato
che
non
esistono
contromisure
per
impedire
ad
un
miner
con
la
maggioranza
delle
risorse
di
controllare
la
catena.
Esistono
per
suggerimenti
per
difendere
la
rete
da
una
revisione
profonda
della
storia
delle
transazioni.
Osserviamo
innanzitutto
come
un
tentativo
di
revisione
profondo,
cio
creato
da
un
biforcazione
profonda
nella
catena,
sia
chiaramente
visibile.
Gli
utenti
onesti
si
accorgerebbero
subito
di
una
revisione
appena
venissero
a
conoscenza
del
lungo
ramo
alternativo.
Gli
utenti
potrebbero
quindi
basarsi
su
unipotesi
conservatrice:
se
un
utente
stato
a
lungo
nella
rete
conoscendo
una
certa
catena,
diffider
di
qualsiasi
nuovo
ramo
che
cerchi
di
biforcarla
in
profondit.
Lipotesi
ragionevole
poich
una
tale
biforcazione
pu
essere
solo
conseguenza
di
un
attacco.
Gli
utenti
da
lungo
tempo
sulla
rete
potrebbero
quindi
crearsi
delle
istantanee
di
sicurezza
di
alcuni
blocchi
abbastanza
in
profondit
nella
catena
da
essere
ritenibili
storici,
cio
non
modificabili.
87
Queste
istantanee
sono
dette
checkpoint
e
consistono
nel
salvare
le
informazioni
di
quel
blocco
proteggendole
crittograficamente
da
modifiche
future.
Questi
utenti
potrebbero
quindi
decidere
di
ignorare
il
nuovo
ramo
andando
contro
le
regole
del
protocollo.
Si
creerebbe
una
spaccature
nella
comunit
degli
utenti.
Gli
utenti
da
lungo
tempo
sulla
rete
continuerebbero
a
difendere
il
vecchio
ramo
(contro
le
regole)
mentre
i
nuovi
utenti
seguirebbero
le
specifiche
e
accetterebbero
il
nuovo
ramo
fraudolento.
Verrebbe
a
crearsi
una
situazione
simile
a
quella
della
biforcazione
del
2013
(vedi
sezione
1.3.3)
e
sarebbe
necessaria
la
stessa
soluzione.
Dovrebbe
emergere
nella
comunit
un
gruppo
di
utenti
autorevoli
che
decidano
per
lintera
comunit,
convincendo
tutti
i
nodi
onesti
a
rifiutare
il
nuovo
ramo.
Questo
sarebbe
sia
contro
le
regole
di
Bitcoin
che
contro
i
suoi
principi
base
di
valuta
decentralizzata.
lipotesi
secondo
cui,
grazie
agli
incentivi,
sia
conveniente
seguire
le
regole
di
mining
dettate
dal
protocollo.
Vedremo
infatti
come
una
tecnica
di
mining
alternativa
possa
portare,
in
alcune
circostanze,
a
guadagni
maggiori.
Quando
il
ramo
pubblico
pi
lungo
del
ramo
privato,
il
miner
fraudolento
sa
di
avere
bassa
probabilit
di
superare
il
ramo
onesto
poich
ha
potenza
di
calcolo
minore
e
parte
in
svantaggio
(vedi
sezione
2.4).
Quindi
ogni
volta
che
il
proprio
ramo
privato
viene
superato
dal
ramo
pubblico
lalgoritmo
abbandona
il
proprio
ramo
privato
e
inizia
a
costruire
sul
ramo
pubblico
come
qualsiasi
nodo
onesto.
Quando
il
miner
fraudolento
trova
un
nuovo
blocco
non
lo
comunica
agli
altri
ma
lo
tiene
privato.
Aggiunge
questo
blocco
alla
propria
catena
privata
se
esiste,
senn
inizia
un
nuovo
ramo
privato
con
il
blocco
appena
trovato,
creando
una
biforcazione
segreta.
Il
miner
fraudolento
in
vantaggio
sui
miners
onesti
perch
conosce
gi
un
blocco
e
pu
dedicarsi
alla
ricerca
del
blocco
successivo
mentre
gli
altri
stanno
ancora
cercando
di
estrarre
il
primo.
Adesso
pu
capitare
che
il
miner
fraudolento
trovi
un
nuovo
blocco
da
aggiungere
al
suo
ramo
privato
oppure
che
i
miners
onesti
trovino
il
blocco
successivo
del
ramo
pubblico.
miners
lavorano
al
ramo
del
blocco
onesto.
Se
scoperto
un
nuovo
blocco
sul
ramo
del
miner
fraudolento
allora
quel
ramo
diventer
pi
lungo,
il
blocco
del
miner
fraudolento
entrer
nella
catena
ed
il
miner
fraudolento
otterr
la
ricompensa.
Altrimenti
sar
il
ramo
del
blocco
onesto
a
vincere
e
la
ricompensa
sar
sua,
lasciando
il
miner
egoista
senza
guadagno
(guadagno
che
avrebbe
invece
avuto
se
avesse
pubblicato
subito
il
blocco
come
richiesto
dal
protocollo).
Poich
il
miner
egoista
vuole
che
il
suo
ramo
diventi
il
pi
lungo
e
quindi
quello
definitivo
pubblicher
subito
un
secondo
blocco
appena
lo
trova,
invece
di
tenerlo
nascosto.
Osserviamo
come
il
miner
sia
aiutato
nel
lavoro
sul
suo
ramo
egoista
dai
miner
onesti
inconsapevoli
che
hanno
ricevuto
il
suo
blocco
prima
di
quello
onesto.
Se
il
miner
egoista
ha
trovato
un
secondo
blocco
nel
suo
ramo
privato
(ed
i
nodi
onesti
non
hanno
ancora
trovato
il
primo
blocco
del
ramo
pubblico)
allora
mantiene
il
ramo
privato
e
continua
a
cercare
di
aggiungergli
nuovi
blocchi.
Quando
i
miner
onesti
trovano
un
nuovo
blocco
il
miner
egoista
pu
trovarsi
in
due
situazioni:
o Il
ramo
privato
ha
un
vantaggio
di
almeno
due
blocchi
sul
ramo
pubblico:
il
miner
egoista
pubblica
solo
il
primo
blocco
segreto
della
sua
catena,
se
necessario
creando
una
biforcazione
altrimenti
aggiungendolo
in
testa
al
ramo
egoista
creato
da
una
precedente
biforcazione.
Cos
il
ramo
pubblico
della
catena
sar
lungo
quanto
quello
egoista.
o Il
ramo
privato
ha
un
vantaggio
di
un
solo
blocco
sul
ramo
pubblico:
il
miner
egoista
pubblica
immediatamente
i
suoi
due
blocchi
privati.
Cos
facendo
la
catena
privata
pi
lunga
(di
un
blocco)
della
catena
pubblica
e
quindi
tutti
i
miners
laccetteranno.
Il
miner
egoista
guadagna
tutte
le
ricompense
di
tutti
i
blocchi
della
catena
privata
che
ha
costruito
(e
aggiunto
sul
ramo
egoista),
i
miners
onesti
perdono
invece
le
ricompense
dei
blocchi
che
avevano
estratto
sul
ramo
pubblico
(perch
questi
blocchi
fanno
parte
di
un
ramo
potato).
Adesso
il
nodo
egoista
pu
ricominciare
tutto
da
capo.
90
Calcoliamo
ora
il
guadagno
atteso
da
un
miner
(o
mining
pool)
che
utilizza
lalgoritmo
di
Selfish-Mine.
e
dalla
sua
topologia.
Inoltre
pu
variare
anche
a
seconda
di
quale
miner
onesto
invia
il
nuovo
blocco,
poich
ogni
miner
ha,
in
generale,
un
insieme
diverso
di
connessioni.
Per
evitare
di
dover
considerare
un
diverso
in
ogni
situazione
approssimeremo
i
vari
distinti
con
un
unico
stimato.
Tutti
i
miners
collegati
direttamente
nella
rete
al
miner
egoista
riceveranno
subito
il
suo
blocco,
possibile
per
che
alcuni
di
questi
miner
siano
collegati
direttamente
anche
al
miner
onesto
che
ha
trovato
il
nuovo
blocco,
nel
qual
caso
sar
la
latenza
delle
connessioni
a
decidere
quale
blocco
arrivi
prima.
Inoltre
potrebbe
capitare
che
uno
dei
miners
collegati
direttamente
al
miner
fraudolento
sia
il
nodo
onesto
che
ha
appena
estratto
il
nuovo
blocco.
Potremo
quindi
utilizzare
come
prudente
stima
di
il
numero
di
miner
collegati
direttamente
al
miner
egoista
meno
il
numero
medio
di
collegamenti
di
un
miner
onesto
con
altri
miners,
diviso
per
il
numero
totale
di
miners.
Spiegheremo
in
seguito
come
lattaccante
possa
aumentare
il
valore
di
a
suo
vantaggio.
Figura
4.3
automa
etichettato
con
le
probabilit
associate
ad
ogni
transizione
di
stato,
fonte
[10]
Il
numero
indicato
nel
nome
di
ogni
stato
indica
il
vantaggio
che
ha
il
miner
egoista
sui
miner
onesti,
cio
il
numero
di
blocchi
di
differenza
tra
il
ramo
privato
ed
il
ramo
pubblico
della
catena.
Nellautoma
esistono
due
stati
0
per
rappresentare
il
comportamento
dellalgoritmo
nei
due
casi
distinti
di
parit.
Lo
stato
0
rappresenta
il
momento
in
cui
esiste
ununica
catena
pubblica
senza
biforcazioni.
Siamo
allinizio
del
procedimento
di
ricerca
descritto
in
precedenza.
Se
un
miner
onesto
trova
un
nuovo
blocco
(con
probabilit
1-)
il
miner
egoista
accetter
il
nuovo
blocco
e
re
inizier
da
capo
la
ricerca,
quindi
restiamo
nello
stato
0
ed
i
miner
onesti
guadagnano
una
ricompensa.
Se
il
miner
egoista
scopre
un
nuovo
blocco
(con
probabilit
)
allora
ha
un
blocco
di
vantaggio
(quindi
passiamo
allo
stato
1),
il
miner
biforca
la
catena
segretamente
inserendo
questo
blocco
come
primo
blocco
del
suo
ramo
privato.
Il
miner
per
non
guadagna
ancora
nulla
dalla
scoperta
del
nuovo
blocco,
poich
il
blocco
privato
e
non
ancora
entrato
a
far
parte
della
catena
definitiva.
Se
il
miner
egoista
trova
un
nuovo
blocco
(con
probabilit
)
lo
aggiunge
al
suo
ramo
privato
aumentando
a
2
il
suo
vantaggio.
Poich
sono
aggiunti
al
ramo
privato,
questi
blocchi
non
garantiscono
ancora
nessuna
ricompensa.
Se
un
nodo
onesto
estrae
un
nuovo
blocco
(con
probabilit
1-)
allora
i
due
rami
hanno
altezza
uguale
essendo
entrambi
costituiti
da
un
solo
blocco,
ci
spostiamo
quindi
nello
stato
0.
Ora
che
siamo
nello
stato
0
il
miner
egoista
comunica
subito
agli
altri
miner
il
proprio
blocco
segreto
per
cercare
di
battere
sul
tempo
il
blocco
del
miner
onesto.
Inizia
quindi
una
gara
per
trovare
il
nuovo
blocco
in
cui
il
miner
egoista
aiutato
inavvertitamente
da
alcuni
miners
onesti.
Ci
sono
tre
possibilit
con
diverse
probabilit:
93
Probabilit
:
il
miner
egoista
estrae
il
blocco
successivo
della
sua
catena
segreta
e
lo
mantiene
segreto
aumentando
il
vantaggio
sul
ramo
onesto
(il
sistema
passa
allo
stato
3).
Per
ora
il
miner
egoista
non
guadagna
nulla
dal
nuovo
blocco
scoperto.
Probabilit
1-
:
un
miner
onesto
trova
il
blocco
successivo
sulla
catena
pubblica.
I
nodi
onesti
sono
troppo
vicini
e
quindi
il
miner
egoista
comunica
tutto
il
suo
ramo
privato
che
pi
lungo
di
un
blocco
rispetto
a
quello
pubblico
e
quindi
il
ramo
privato
viene
accettato
nella
catena
al
posto
del
nuovo
blocco
del
miner
onesto.
Adesso
il
miner
egoista
non
ha
pi
informazioni
private
e
re
inizia
a
cercare
blocchi
dallo
stato
0.
Il
miner
egoista
ha
guadagnato
due
ricompense
(quella
dei
due
blocchi
che
ha
tenuto
segreti).
Se invece siamo in un qualsiasi stato k con k>2 allora abbiamo le due seguenti possibilit:
1. Probabilit
:
il
miner
egoista
estrae
il
blocco
successivo
della
sua
catena
segreta
e
lo
mantiene
segreto
aumentando
il
vantaggio
sul
ramo
onesto
(il
sistema
passa
allo
stato
k+1).
Per
ora
il
miner
egoista
non
guadagna
nulla
dal
nuovo
blocco
scoperto.
2. Probabilit
1-
:
un
miner
onesto
trova
il
blocco
successivo
sulla
catena
pubblica.
La
distanza
tra
il
miner
egoista
ed
i
miner
onesti
diminuisce
di
uno,
ma
resta
almeno
due,
quindi
il
miner
egoista
non
deve
preoccuparsi.
Il
miner
egoista
comunica
in
risposta
il
94
suo
blocco
pi
vecchi
ancora
privato.
Adesso
siamo
in
una
situazione
sicura
per
il
miner
fraudolento
perch
ha
un
vantaggio
di
almeno
due
blocchi.
Appena
il
vantaggio
si
ridurr
ad
un
solo
blocco
(cio
stato
2
con
transazione
1-)
pubblicher
lintera
catena
segreta
ottenendo
le
ricompense
di
tutti
i
suoi
blocchi
segreti.
Quindi
il
miner
onesto
non
trarr
nessun
guadagno
dal
nuovo
nodo
estratto,
mentre
invece
il
miner
egoista
otterr
la
ricompensa
per
il
blocco
che
ha
appena
reso
pubblico.
Calcoliamo
ora
il
guadagno
atteso
del
miner
egoista.
Per
farlo
dobbiamo
calcolare
la
probabilit
del
sistema
di
trovarsi
in
ogni
stato.
Innanzitutto sappiamo che il sistema deve trovarsi in uno degli stati e quindi:
(4.1)
P0 = (1-) P1 +(1-)P2
(4.2)
Vediamo che P1= P0 quindi sostituendo P0 otteniamo P1= (1-) P1 + (1-) P2 e quindi :
P1
=
(1-)
P2
(4.3)
Consideriamo
ora
P2
.
Vediamo
che
P2
=
P1+
(1-)
P3
quindi
P2
=
(1-)
P2
+
(1-)
P3
e
quindi
P2
=
(1-)
P3
.
Analogamente
P3
=
P2
+
(1-)
P4
quindi
P3
=
(1-)
P3
+
(1-)
P4
e
quindi
P3
=
(1-)
P4
.
Lo
stesso
ragionamento
vale
per
tutti
gli
stati
successivi
quindi:
(4.4)
(4.5)
95
(4.6)
(4.7)
Adesso
quindi
abbiamo
le
probabilit
di
tutti
gli
stati
espresse
in
funzione
di
P1
,
quindi
possiamo
sostituirle
nella
formula
(4.1)
ottenendo:
(4.8)
(4.9)
(4.10)
Possiamo
poi
osservare
che
minore
di
uno
(ricordando
che
0
<
<
,
e
quindi
il
denominatore
positivo),
infatti:
Questa
somma
minore
di
uno
poich
lalgoritmo
fa
sprecare
risorse
ai
miner
onesti.
Per
un
miner
la
percentuale
di
guadagno
rispetto
al
guadagno
totale
di
tutti
i
partecipanti
dovrebbe
essere
pari
alla
percentuale
di
potere
di
calcolo
che
detiene.
Ma
per
un
miner
egoista
questo
non
vero,
infatti
il
rapporto
tra
il
suo
guadagno
ed
il
guadagno
totale
non
necessariamente
uguale
ad
come
sarebbe
per
un
miner
onesto,
come
dimostrato
dalla
formula
seguente:
Questo
guadagno
relativo
pu
essere
minore,
maggiore
o
uguale
ad
a
seconda
del
valore
di
e
.
Quindi
esiste
un
valore
soglia
di
al
variare
di
per
cui
i
guadagni
sono
effettivamente
proporzionali
alla
potenza
di
calcolo.
Ma
se
supera
questa
soglia
i
guadagni
saranno
in
proporzione
maggiori.
In
particolare,
fissato
un
possiamo
calcolare
che
il
miner
egoista
ottiene
un
guadagno
maggiore
del
dovuto
se
compreso
nel
seguente
intervallo:
(4.11)
97
Infatti
il
guadagno
di
un
miner
egoista
maggiore
di
quello
che
gli
spetterebbe
se
seguisse
il
protocollo,
se
maggiore
di
,
e
quindi:
(ricordando
che
0
<
<
e
quindi
il
denominatore
positivo,
e
che
<
1
e
quindi
<
3/2
sempre
vero).
=
0:
questo
il
caso
pessimo
per
il
miner
egoista.
=
0
significa
che
il
miner
egoista
sempre
pi
lento
ad
inoltrare
blocchi,
a
qualsiasi
altro
miner,
rispetto
a
qualsiasi
altro
miner
onesto.
In
questo
caso
la
soglia
sar
(1-0)/(3-0)
=1/3
.
Questo
vuol
dire
che
nel
caso
pessimo
per
il
miner
egoista
potrebbe
aggiudicarsi
guadagni
ingiustificatamente
maggiori
dei
miners
onesti
se
controllasse
pi
di
un
terzo
del
potere
computazionale
complessivo.
=
:
in
questo
caso
la
met
dei
miner
riceve
prima
i
blocchi
del
miner
egoista
e
laltra
met
di
un
miner
onesto.
In
questo
caso
equilibrato
la
soglia
sar
pari
a
(1-
1/2)/(3-1)
=
.
=
1:
questo
il
caso
ottimo
per
il
miner
fraudolento.
=
1
significa
che
il
miner
egoista
sempre
pi
veloce
ad
inoltrare
blocchi,
a
qualsiasi
miner,
rispetto
a
qualsiasi
miner
onesto.
In
questo
caso
la
soglia
sar
(1-1)/(3-2)
=0
.
Questo
vuol
dire
che
il
miner
egoista
guadagnerebbe
pi
del
dovuto
indipendentemente
dalla
frazione
del
potere
computazionale
complessivo
posseduta.
In
questo
scenario
sarebbe
sempre
conveniente
utilizzare
la
tecnica
di
Selfish-Mining.
Figura
4.4
il
grafico
mostra
il
guadagno
relativo
di
un
miner
che
utilizzi
la
tecnica
di
Selfish-
Mine
al
variare
di
,
per
i
tre
valori
di
mostrati
nel
testo.
Si
nota
dalla
curva
che
il
miner
egoista
guadagna
di
meno
se
la
sua
potenza
di
calcolo
minore
della
soglia.
Se
invece
supera
la
soglia,
il
guadagno
relativo
maggiore
del
guadagno
relativo
onesto
e
cresce
pi
che
linearmente
allaumentare
della
potenza
di
calcolo.
Cerchiamo
di
capire
tutto
questo
cosa
comporti
per
Bitcoin.
Ipotizziamo
che
un
attaccante
voglia
utilizzare
la
tecnica
di
Selfish-Mine
per
ottenere
guadagni
illeciti,
quale
la
strategia
per
lui
migliore
da
seguire?
Lo
scopo
dellattaccante
superare
la
soglia
dopo
la
quale
la
tecnica
egoista
diventa
vantaggiosa.
Questa
soglia
dipende
da
,
quindi
lattaccante
dovr
cercare
di
ottenere
un
il
pi
alto
possibile.
Per
fare
questo
lattaccante
pu
creare
tanti
nodi
ai
suoi
servizi
da
aggiungere
ai
mining
pool
onesti.
Questi
nodi
dovrebbero
avere
capacit
di
calcolo
bassissime
per
non
avvantaggiare
i
mining
pool
onesti
a
spese
del
miner
egoista.
entra
in
gioco
quando
il
miner
egoista
ha
scoperto
un
solo
blocco
e
lha
tenuto
99
segreto,
ma
prima
che
ne
possa
scoprire
un
secondo
uno
dei
miners
onesti
scopre
un
nuovo
blocco
iniziando
una
gara
con
il
miner
egoista
per
che
invia
prima
il
proprio
blocco
agli
altri
miners.
Il
miner
egoista
deve
quindi
sapere
in
anticipo
quando
un
mining
pool
onesto
sta
per
comunicare
un
blocco
per
batterlo
sul
tempo.
Per
prima
cosa
il
miner
egoista
cerca
di
avere
il
maggior
numero
possibile
di
connessioni
dirette
con
gli
altri
miners
per
permettere
ai
suoi
messaggi
di
raggiungere
il
maggior
numero
possibile
di
miners
con
un
numero
di
intermediari
(hops)
pari
ad
uno.
Poi
il
miner
utilizza
i
suoi
nodi
infiltrati
nei
mining
pool
onesti
come
sentinelle.
Appena
uno
di
questi
nodi
viene
informato,
dal
mining
pool
a
cui
appartiene,
che
stato
trovato
un
nuovo
blocco,
da
lallarme
al
miner
egoista.
Immediatamente
il
miner
egoista
e
tutti
i
nodi
infiltrati
iniziano
a
trasmettere
il
blocco
segreto
ignorando
il
nuovo
blocco
onesto.
Con
questa
tecnica
il
blocco
segreto
sar
in
generale
pi
rapido
di
qualsiasi
blocco
onesto
e
quindi
sar
molto
vicina
ad
uno.
Lattaccante
pu
quindi
ottenere
vicino
ad
uno
e
quindi
una
soglia
vicina
a
zero.
Per
questo
allattaccante
basterebbe
una
piccola
frazione
delle
risorse
computazionali
per
ottenere
guadagni
relativamente
maggiori
dei
nodi
onesti
utilizzando
la
tecnica
di
Selfish-
Mine.
Adesso
che
lattaccante
ha
superato
la
soglia
ottiene
guadagni
maggiori
e
quindi
pu
offrire
ai
miner
onesti
guadagni
migliori
se
entrano
a
far
parte
del
suo
mining
pool
egoista.
Qualsiasi
miner
razionale
sceglier
di
aderire
al
mining
pool
egoista
piuttosto
che
ad
uno
onesto
grazie
ai
guadagni
relativamente
maggiori.
Come
abbiamo
gi
spiegato,
il
guadagno
relativo
cresce
pi
che
linearmente
e
quindi
allaumentare
del
numero
di
miner
nel
pool
(cio
di
)
aumenta
il
guadagno
relativo
di
tutti
miners
del
pool.
Quindi
il
miner
egoista
ben
felice
di
accettare
nuovi
miners
nel
suo
pool.
Il
mining
pool
egoista
il
pi
conveniente
di
cui
far
parte
quindi
tutti
i
miner
razionali
vorranno
entrarci.
Le
dimensioni
del
mining
pool
egoista
crescerebbero
fino
a
portarlo
a
controllare
la
maggioranza
delle
risorse
complessive.
A
questo
punto
il
pool
deterrebbe
pi
del
50%
del
potere
di
calcolo
e
quindi
controllerebbe
la
catena
ottenendo
tutte
le
ricompense.
Il
pool
non
avrebbe
ormai
pi
bisogno
di
usare
lalgoritmo
di
Selfish-Mine
n
di
accettare
altri
miners,
perch
otterrebbe
gi
il
massimo
guadagno
possibile.
Il
mining
pool
potrebbe
anche
sfruttare
la
propria
posizione
di
dominanza
come
discusso
allinizio
di
questa
sezione
(vedi
sezione
4.1.1).
Unaltra
tecnica
di
difesa
potrebbe
essere
quella
di
isolare
il
mining
pool
egoista.
Chiaramente
per
questo
particolarmente
difficile.
Infatti
il
mining
pool
egoista
potrebbe
restare
anonimo
utilizzando
nodi
temporanei
per
inoltrare
i
nuovi
blocchi
creati.
Oppure
potrebbe
dividersi
in
pi
mining
pool
pi
piccoli
che
in
segreto
lavorerebbero
ad
un
unico
problema
condividendo
i
blocchi
segreti
trovati.
Inoltre
un
mining
pool
distribuito
tra
diversi
mining
pool
potrebbe
pi
facilmente
difendersi
da
nodi
onesti
infiltrati.
Infatti
i
nodi
onesti
potrebbero
infiltrarsi
in
un
mining
pool
egoista
rendendo
pubblici
i
blocchi
privati
di
cui
vengono
a
conoscenza.
La
divisione
in
pi
mining
pool
permetterebbe
di
isolare
i
mining
pool
infiltrati
da
nodi
onesti
ed
espellerli.
dalla
nascita
di
unentit
centrale
con
il
controllo
sulla
catena
potrebbe
spaventare
gli
utenti
portando
ad
una
perdita
di
valore
dei
bitcoins
su
cui
si
basano
le
entrate
di
questi
grandi
miners.
Questi
utenti
potrebbero
quindi
ritenere
non
economicamente
vantaggioso
nel
lungo
periodo
aderire
al
mining
egoista.
sull'intestazione
fornita
dal
gestore
del
pool
che
contiene
la
radice
di
un
merkle
tree
con
transazione
coinbase
gi
stabilita.
Questa
transazione
indirizza
la
ricompensa
all'indirizzo
del
gestore
del
pool
ed
il
miner
truffatore
non
pu
modificarlo
senza
cambiare
la
radice
del
merkle
tree
e
quindi
invalidare
la
proof-of-work
appena
trovata.
Facciamo
ora
un'analisi
rigorosa
dei
vantaggi
ottenuti
dal
miner
fraudolento,
definendo
con
la
frazione
della
potenza
di
calcolo
totale
posseduta
dall'attaccante
e
la
frazione
della
potenza
computazionale
che
l'attaccante
utilizza
per
i
nodi
infiltrati.
I
miner
infiltrati
fanno
in
modo
che
i
pool
onesti
guadagnino
di
meno,
infatti
il
guadagno
relativo,
pari
al
rapporto
tra
la
percentuale
di
blocchi
estratti
e
la
potenza
di
calcolo
utilizzata
:
poich
i
nodi
infiltrati
contribuiscono
alla
potenza
di
calcolo
del
pool
ma
non
alla
scoperta
di
nuovi
blocchi.
Di
conseguenza
in
proporzione
il
mining
pool
controllato
dall'attaccante
guadagner
di
pi,
ottenendo
un
vantaggio
pari
a:
Il
guadagno
dell'attaccante
sar
quindi
pari
alla
somma
dei
guadagni
dei
suoi
nodi
infiltrati
(che
vengono
pagati
dai
mining
pools
a
cui
partecipano)
e
del
guadagno
maggiorato
del
suo
mining
pool
privato.
Il
guadagno
relativo
sar
quindi
pari
a:
Fissato
,
questo
guadagno
sar
massimo
quando
2
sar
massimo
e
quindi
quando
=
.
Quindi
la
strategia
ottima
per
l'attaccante
di
dedicare
met
della
propria
potenza
di
calcolo
ai
miners
infiltrati.
In
generale
i
mining
pools
per
calcolare
la
divisione
dei
pagamenti
da
fare
ai
miners
membri
richiedono
che
i
miners
inviino
tutte
le
soluzioni
trovate
con
un
target
molto
pi
semplice
di
quello
corrente.
In
questo
modo
il
gestore
del
pool
pu
controllare
che
effettivamente
i
miners
stanno
lavorando
al
problema
(senza
che
debbano
trovare
la
104
soluzione).
I
miners
infiltrati
invierebbero
al
gestore
tutti
i
nonce
che
soddisfano
queste
difficolt
minori
ma
mai
i
nonce
che
sono
soluzioni
anche
della
difficolt
effettiva.
Un
miner
singolo
ha
bassissima
probabilit
di
trovare
una
soluzione,
quindi
il
gestore
di
un
pool
non
potrebbe
capire
se
un
miner
non
invia
mai
soluzioni
perch
sfortunato
o
perch
un
infiltrato
fraudolento.
Il
gestore
potrebbe
accorgersi
dell'attacco
se
nel
lungo
periodo
il
numero
di
blocchi
estratti
minore
di
quello
atteso,
ma
non
avrebbe
nessun
modo
di
capire
quali
dei
miners
membri
del
pool
siano
degli
infiltrati.
4.1.4 Botnets36
Un
altro
tipo
di
attacco
basato
sul
mining
consiste
nelleseguire
operazioni
di
mining
e
collezionare
le
ricompensa
senza
spendere
le
risorse
necessarie
(elettricit
e
potere
computazionale).
Lattaccante
usa
virus,
trojan
o
altro
malware
per
infiltrarsi
nei
computer
delle
vittime
e
scaricare
sulla
vittima
i
costi
di
mining.
Un
attacco
di
questo
tipo
inizia
con
linfezione
di
una
o
pi
vittime
trasformandole
in
miners
involontari.
Il
programma
usato
non
di
per
s
un
programma
maligno,
spesso
sono
utilizzati
gli
stessi
programmi
creati
dagli
sviluppatori
ufficiali
di
Bitcoin.
Il
programma
reso
fraudolento
dalla
mancanza
di
consenso
tra
lattaccante
e
la
vittima.
Il
programma
inizia
a
lavorare
in
background
sul
dispositivo
della
vittima
comunicando
con
lattaccante
per
ricevere
le
informazioni
necessarie
al
mining
o
per
inviare
i
risultati.
Lattaccante
agisce
come
una
sorta
di
grande
mining
pool
distribuito
che
divide
lo
spazio
dei
nonce
da
controllare
tra
i
dispositivi
infettati
e
colleziona
i
risultati.
Per
portare
avanti
questattacco
lattaccante
per
deve
avere
un
server
capace
di
gestire
le
migliaia
di
connessioni
necessarie.
Per
evitare
questi
costi
un
attaccante
pu
scegliere
unalternativa
pi
economica.
Lattaccante
predispone
il
malware
per
collegarsi
direttamente
ad
un
proprio
account
in
un
mining
pool
onesto.
Sar
il
mining
pool
a
doversi
occupare
delle
connessioni
e
di
distribuire
il
carico
di
lavoro
tra
i
dispositivi.
Questa
soluzione
presenta
il
rischio
di
essere
scoperti,
rivelando
lintera
rete
di
dispositivi
infettati.
Un
mining
pool
pu
infatti
accorgersi
che
tutti
questi
miner
hanno
una
bassissima
potenza
di
calcolo
e
fanno
tutti
riferimento
allo
stesso
utente.
Una
soluzione
comune
di
utilizzare
un
proxy
che
faccia
ad
intermediari
tra
il
mining
pool
onesto
ed
i
dispositivi
infettati.
In
generale
comunque
le
mining
pool
non
cercano
di
smascherare
questi
tipi
dattacco,
infatti
nellinteresse
delle
36
Il
termine
botnet
deriva
dalle
parole
roBOT
e
NETwork
ed
usato
per
indicare
un
insieme
di
programmi
che
comunicano
attraverso
la
rete
per
cooperare
ad
un
fine
comune.
105
Lutilizzo
di
risorse
rubate
per
il
mining
permette
alti
guadagni
a
bassi
costi.
Infatti,
il
costo
di
un
attacco
del
genere
molto
inferiore
rispetto
al
costo
dellhardware
e
dellelettricit
necessario
per
iniziare
un
miner
onesto.
Ottenendo
profitti
ingiustamente
questattacco
diminuisce
i
guadagni
attesi
dei
miners
onesti
e
quindi
aumenta
i
costi
relativi
del
mining
onesto.
Tuttavia
oggigiorno
la
proof-of-work
di
un
nuovo
blocco
diventata
talmente
difficile
da
trovare
da
rendere
necessari
hardware
appositamente
progettati
per
il
mining.
Inoltre
i
recenti
antivirus
si
sono
evoluti
per
contrastare
anche
questo
tipo
di
malware,
quindi
la
vita
attesa
del
programma
nel
dispositivo
della
vittima
di
pochi
giorni.
Una
botnet
si
basa
su
tantissimi
dispositivi
ma
ognuno
di
questi
dispositivi
poco
potente
ed
ha
vita38
limitata.
Mantenere
lintera
struttura
pu
rivelarsi
non
pi
economicamente
conveniente
per
unattaccante.
quindi
plausibile
pensare
che
lutilizzo
di
botnet
andr
progressivamente
sparendo
nel
futuro
di
Bitcoin,
o
almeno
finch
la
difficolt
rester
sufficientemente
elevata.
Abbiamo
gi
parlato
degli
attacchi
di
tipo
double
spending
nella
sezione
2.3
.
Abbiamo
gi
visto
come
sia
stato
introdotto
il
sistema
delle
conferme
per
rendere
troppo
costoso
per
l'attaccante
un
tentativo
di
double
spending
che
si
basi
su
una
biforcazione
volontaria
della
catena.
Abbiamo
visto
come
il
valore
convenzionale
di
sei
conferme
sia
un
parametro
arbitrario
ragionevole
per
proteggersi
da
attaccanti
con
scarso
potere
computazionale
ma
inadeguato
per
fronteggiare
attaccanti
con
grandi
potenze
di
calcolo
(vedi
Figura
2.5).
Sappiamo
anche
che
aspettare
sei
conferme
si
traduce
in
media
in
unattesa
di
un'ora
per
accettare
una
transazione
come
confermata.
Abbiamo
inoltre
osservato
nella
sezione
4.1.1
come
un
attaccante
che
controlli
pi
della
met
del
potere
computazionale
dell'intera
rete
possa
sempre
eseguire
attacchi
double
spending
incontrastato.
In
caso
di
attacchi
double
spending
contro
utenti
che
utilizzano
l'opzione
di
pagamento
veloce
le
caratteristiche
dell'attaccante
sono
diverse
da
quelle
di
un
attaccante
di
un
attacco
double
spending
classico.
Infatti
la
catena
completamente
ignorata
nell'attacco
quindi
l'attaccante
non
deve
essere
un
miner
e
la
sua
potenza
di
calcolo
ininfluente.
Dal
punto
di
vista
dell'attaccante
la
catena
considerata
intoccabile,
quindi
se
la
transazione
corretta
entra
in
un
blocco
della
catena
l'attacco
fallito.
L'attacco
ha
successo
se
l'attaccante
riesce
a
far
107
inserire
in
un
blocco
della
catena
la
sua
transazione
alternativa
invece
della
transazione
legittima.
Nel
seguito
chiameremo
transazione
iniziale
la
transazione
a
favore
della
vittima
e
fraudolenta
la
transazione
che
l'attaccante
vuole
sostituire
alla
transazione
iniziale.
Notiamo
che
entrambe
le
transazioni
devono
essere
transazioni
valide,
e
che
la
transazione
fraudolenta
deve
contenere
tutti
gli
input
contenuti
nella
transazione
iniziale
(ma
non
necessariamente
viceversa).
La
prima
proposta
si
chiama
listening
period:
qualsiasi
utente
che
accetta
pagamenti
veloci
resta
in
ascolto
per
un
numero
prefissato
di
secondi
(quasi
sempre
minore
di
dieci)
prima
di
accettare
un
pagamento.
Restare
in
ascolto
significa
che
il
nodo
ascolta
tutte
le
transazioni
che
riceve
dai
vicini
e
controlla
che
nessuna
di
questa
sia
un
tentativo
di
double
spending,
cio
contenga
tra
gli
inputs
gli
stessi
fondi
usati
nella
transazione
correntemente
in
attesa.
Il
periodo
di
attesa
di
pochi
secondi
poich
la
diffusione
dei
messaggi
sulla
rete
segue
le
stesse
dinamiche
di
un
protocollo
gossip,
quindi
in
pochi
salti
(hops)
iniziali
la
maggior
parte
dei
nodi
venuta
a
conoscenza
del
messaggio.
L'attacco
pu
per
ancora
avere
successo
se
l'attaccante
modifica
di
poco
la
sua
strategia:
dopo
aver
comunicato
la
transazione
iniziale
alla
vittima,
l'attaccante
aspetta
un
periodo
adeguato
prima
di
inviare
la
transazione
fraudolenta
ai
suoi
aiutanti.
Questo
periodo
deve
essere
tale
che
la
vittima
abbia
il
tempo
di
inoltrare
la
transazione
iniziale
appena
ricevuta
a
tutti
i
suoi
vicini,
permettendo
contemporaneamente
agli
aiutanti
di
far
arrivare
per
prima
la
transazione
fraudolenta
ad
un'alta
percentuale
dei
nodi
della
rete.
In
questo
modo
l'attacco
ha
ancora
alte
probabilit
di
successo
poich
la
maggioranza
dei
nodi
della
rete
considera
valida
la
transazione
fraudolenta.
Allo
stesso
tempo
il
periodo
di
ascolto
diventa
inutile
poich
tutti
i
vicini
della
vittima
hanno
ricevuto
per
prima
la
transazione
iniziale,
quindi
se
riceveranno
in
seguito
la
transazione
fraudolenta
la
scarteranno,
perch
non
valida,
senza
inoltrarla
alla
vittima.
Quindi
la
vittima
sar
schermata
dai
suoi
stessi
vicini
e
non
potr
sentire
mai
la
transazione
fraudolenta.
questa
soluzione
per
che
l'utente
deve
riporre
fiducia
nell'entit
che
gli
fornisce
il
servizio
di
ascolto.
L'entit
potrebbe
essere
corrotta
e
tacere
alcuni
tentativi
di
double
spending
per
un
qualche
suo
tornaconto.
Bitcoin
nasce
per
essere
una
valuta
libera
e
decentralizzata
dove
tutto
il
potere
affidato
al
singolo
utente.
Gli
utenti
sono
perci
spesso
riluttanti
ad
affidarsi
ad
entit
terze.
La
seconda
proposta
si
chiama
messaggi
d'allerta:
ogni
peer
che
riceve
una
transazione
sospettata
di
double
spendng,
perch
in
conflitto
con
una
trasmissione
ricevuta
in
precedenza,
invia
un
messaggio
di
tipo
alert
(vedi
sezione
2.6)
contenente
le
due
transazioni
sospette.
Una
nuova
transazione
sarebbe
ritenuta
in
conflitto
con
una
transazione
gi
nota
se
la
nuova
transazione
ritenuta
non
valida
(dalla
verifica
della
transazione)
perch
contiene
uno
o
pi
inputs
della
transazione
ricevuta
in
precedenza.
Il
nodo
aggiunge
le
due
transazioni
sospette
nel
messaggio
per
permettere
ai
nodi
che
ricevono
il
messaggio
di
controllare
le
due
transazioni.
In
questo
modo
chi
riceve
il
messaggio
pu
controllare
che
le
transazioni
contengano
davvero
uno
o
pi
inputs
ripetuti
(se
questo
non
vero
l'allarme
falso
e
quindi
il
messaggio
viene
ignorato
e
non
pi
inoltrato)
e
pu
verificare
se
la
transazione
lo
riguarda.
Poich
lo
scopo
dell'attaccante
raggiungere
il
maggior
numero
possibile
di
nodi
con
la
transazione
fraudolenta,
di
certo
qualche
nodo
della
rete
verr
a
conoscenza
di
entrambe
le
transazioni
e
lancer
l'allarme
ai
vicini.
Grazie
alla
rapidissima
diffusione
dei
messaggi
nella
rete,
questo
messaggio
d'allarme
sar
lanciato
entro
pochi
secondi
dall'inizio
dell'attacco
e
il
relativo
messaggio
dall'allarme
raggiunger
la
vittima
nellarco
di
qualche
altro
secondo.
Ad
un
utente
che
vuole
controllare
una
transazione
ricevuta
con
il
metodo
di
pagamento
veloce,
basterebbe
quindi
ascoltare
la
rete
per
pochi
secondi
in
attesa
di
un
messaggio
d'allarme
che
riguardi
la
sua
transazione.
Se
non
dovesse
sentire
nulla
di
preoccupante
nel
tempo
prefissato
potrebbe
ritenersi
ragionevolmente
sicuro
che
non
sia
in
atto
un
tentativo
di
double
spending
ai
suoi
danni.
L'aspetto
negativo
di
questa
soluzione
per
l'aumento
del
traffico
di
messaggi
sulla
rete
e
quindi
un
aumento
della
latenza
generale.
Esiste
un
attacco
di
tipo
double
spending
contro
utenti
che
utilizzano
la
tecnica
di
pagamento
veloce
detto
Finney
Attack
(dal
nome
del
suo
inventore
Hal
Finney)
che
permette
110
Per
difendersi
da
questo
tipo
di
attacco
sufficiente
accettare
pagamenti
veloci
solo
per
importi
modesti.
Infatti
in
questi
casi
lattacco
non
sarebbe
quasi
mai
economicamente
vantaggioso
per
lattaccante.
Per
tutti
i
pagamenti
di
importi
considerevoli
consigliato
non
111
accettare
pagamenti
veloci
ed
attendere
una
o
pi
conferme.
Come
sempre
il
numero
minimo
di
conferme
da
attendere
dovrebbe
essere
proporzionale
al
valore
della
transazione
e
tale
da
rendere
un
tentativo
di
double
spending
non
conveniente
per
lattaccante.
4.3.1
Deanonymizing
utente
utilizza
un
servizio
di
portafoglio
on-line
sar
il
servizio
a
possedere
le
chiavi
private
e
quindi
a
eseguire
transazione
per
conto
degli
utenti.
Sebbene
i
responsabili
legali
dei
fondi
e
del
loro
utilizzo
siano
i
clienti
del
servizio,
il
proprietario
sar
il
servizio
stesso.
Di
fatto
Bitcoin
riconosce
come
proprietario
di
un
indirizzo
solo
chi
pu
dimostrarlo
firmando
le
transazioni,
e
questo
possibile
solo
conoscendo
la
chiave
privata.
Se
il
servizio
interrompesse
i
contatti
con
i
propri
utenti
e
si
tenesse
i
bitcoins
da
loro
depositati,
agli
occhi
del
protocollo
questo
non
sarebbe
furto
poich
il
servizio
lunico
che
pu
dimostrare
di
possedere
quei
bitcoins.
I
primo
passo
di
questo
attacco
consiste
nelanalisi
dellintera
catena
dei
blocchi
per
ottenere
un
grafo
della
storia
complessiva
di
Bitcoin.
In
questo
grafo
ogni
nodo
rappresenta
un
indirizzo
ed
ogni
arco
entrante
o
uscente
rappresenta
una
transazione
che
contiene
quellindirizzo
rispettivamente
tra
i
propri
output
o
input.
Gli
archi
possono
essere
etichettati
con
il
valore
di
bitcoins
trasferite
e
con
un
timestamp
contenente
la
data
della
transazione.
Il
passo
successivo
sar
associare
ad
una
singola
entit
un
insieme
di
indirizzi.
In
altre
parole
vogliamo
collassare
i
nodi
contenenti
gli
indirizzi
di
un
unico
utente
in
un
unico
cluster
di
nodi
rappresentante
quellutente.
Notiamo
come
un
utente
pu
trasferire
fondi
tra
i
suoi
indirizzi
e
quindi
in
questo
cluster
possono
essere
presenti
self-loops.
Per
ottenere
questo
risultato
dobbiamo
basarci
su
delle
regole
euristiche
ricavabili
dal
comportamento
degli
utenti
nella
rete
Bitcoin.
Leuristica
pi
comune
detta
Input
multipli:
tutti
gli
input
specificati
in
una
transazione
con
input
multipli
appartengono
allo
stesso
utente.
Questa
regola
si
base
sullosservazione
che
gli
input
devono
essere
firmati
dal
proprietario
e
quindi
quando
un
utente
crea
una
transazione
deve
conoscere
la
chiave
privata
di
ogni
input
per
poterlo
firmare.
Questa
regola
non
pi
vera
se
pi
utenti
contribuiscono
con
i
propri
input
in
ununica
transazione.
Poich
la
transazione
unica
questi
utenti
dovrebbero
raggiungere
un
accordo
per
scambiarsi
le
informazioni
necessarie
ed
affidarsi
ad
un
utente
singolo
per
unire
queste
informazioni.
Questo
meccanismo
non
oggi
supportato
da
nessun
software
per
la
gestione
di
portafogli,
quindi
gli
utenti
dovrebbero
costruirsi
questa
transazione
a
mano.
Il
numero
di
falsi
positivi
introdotti
dalla
regola
quindi
trascurabile.
Possiamo
quindi
calcolare
la
chiusura
transitiva
di
questa
regola
applicata
al
grafo
ed
ottenere
un
primo
clustering
degli
indirizzi.
utilizzato
per
contenere
il
resto
di
una
transazione
appartiene
allo
stesso
utente
a
cui
appartengono
gli
indirizzi
in
input
della
transazione.
Questa
euristica
ragionevole
ma
efficace
solo
se
riesce
ad
identificare
correttamente
quale
sia
lindirizzo
contenente
il
resto
in
una
transazione.
Esistono
infatti
molte
transazioni
con
output
multipli
ed
difficile
capire
quale
indirizzo
tra
gli
output
sia
usato
per
recuperare
il
resto.
Dobbiamo
quindi
stabilire
delle
regole
aggiuntive
che
permettano
di
individuare
correttamente
lindirizzo
del
resto
ottenendo
il
numero
di
falsi
positivi
minore
possibile
(anche
al
prezzo
di
un
alto
numero
di
falsi
negativi).
Per
trovare
queste
regole
dobbiamo
studiare
il
comportamento
attuale
degli
utenti
di
Bitcoin.
La
maggior
parte
degli
utenti
utilizzano
dei
software
di
gestione
del
portafoglio
quando
vogliono
creare
una
transazione.
In
generale
questi
software
permettono
allutente
di
specificare
i
destinatari
del
pagamento
e
la
commissione,
e
successivamente
calcolano
in
automatico
il
resto
inviandolo
ad
un
nuovo
indirizzo
appositamente
creato.
In
genere
lutente
non
conosce
questo
nuovo
indirizzo
e
quindi
non
lo
comunica
agli
altri
utenti
per
ricevere
pagamenti.
Quindi
questi
indirizzi
hanno
una
sola
transazione
in
entrata
nel
grafo
degli
indirizzi.
Possiamo
quindi
derivare
la
seguente
regola:
se
un
indirizzo
utilizzato
come
output
nella
transazione
non
utilizzato
tra
gli
output
di
nessunaltra
transazione
allora
un
indirizzo
per
il
resto.
Questa
regola
per
non
valida
se
la
transazione
contiene
due
o
pi
output
che
rispettano
la
regola
precedente.
Infatti
la
regola
individuerebbe
entrambi
gli
outputs
come
resto,
mentre
nella
realt
quasi
impossibile
che
una
transazione
contenga
il
resto
diviso
in
pi
parti.
Dobbiamo
quindi
non
considerare
tutte
le
transazioni
che
fornirebbero
indirizzi
di
resto
multipli
applicando
la
regola.
Un
altro
problema
fornito
dal
comportamento
dei
mining
pools.
Un
mining
pool
di
solito
invia
il
pagamento
delle
ricompense
ai
suoi
soci
mettendo
tanti
output
distinti
nella
transazione
generatrice.
Questi
output
non
devono
mai
essere
considerati
resti39.
Evitiamo
di
considerare
anche
le
transazioni
che
contengono
tra
gi
output
uno
degli
indirizzi
contenuti
in
input.
In
questo
caso,
infatti,
il
resto
inviato
ad
uno
degli
indirizzi
in
input
e
quindi
non
ci
da
nessuna
informazione
aggiuntiva.
Infine
la
regola
pu
essere
adattata
per
considerare
il
funzionamento
di
determinati
software
di
gestione
di
portafoglio.
Se
ad
esempio
sappiamo
che
una
transazione
generata
da
un
determinato
39
Sarebbe
inutile
oltre
che
errato
poich
una
transazione
generatrice
non
ha
inputs
e
quindi
non
potremmo
legare
questi
resti
a
nessun
input.
114
software
e
sappiamo
anche
che
quel
software
inserisce
sempre
loutput
per
il
resto
come
ultimo
output,
possiamo
agire
di
conseguenza.
La
regola
euristica
precedente
deve
essere
quindi
raffinata
con
le
osservazioni
appena
fatte.
Applicando
la
regola
raffinata
al
grafo
ottenuto
con
la
prima
regola
possiamo
ottenere
un
ulteriore
accorpamento
di
indirizzi
in
cluster
pi
grandi.
Le
due
regole
appena
esposte
sono
quelle
pi
affidabili
ed
usate
ma
esistono
molte
altre
euristiche
pi
rare
ma
altrettanto
utili.
Alcuni
utenti
rivelano
pubblicamente
un
proprio
indirizzo.
Spesso
questo
accade
sul
115
forum
ufficiale
di
Bitcoin
o
su
twitter,
anche
se
era
pi
comune
in
passato
rispetto
ad
oggi.
Inoltre
alcuni
indirizzi
sono
resi
pubblici
dai
siti
che
li
possiedono
per
ricevere
donazioni
o
pagamenti.
Esistono
gi
raccolte
di
questi
indirizzi,
ma
si
possono
anche
trovare
da
soli
utilizzando
un
motore
di
ricerca
sfruttando
la
struttura
nota
di
un
indirizzo
Bitcoin.
La
tecnica
pi
semplice
per
ottenere
degli
indirizzi
di
entit
note
di
fare
affari
con
loro.
Un
attaccante
pu
investire
una
modesta
quantit
di
bitcoins
per
creare
transazioni
con
altre
entit.
Se
vogliamo
ottenere
alcuni
indirizzi
da
commercianti
on-line
noti,
sufficiente
comprare
da
loro
oggetti
o
servizi.
Analogamente
possiamo
utilizzare
servizi
di
cambio
on-
line,
di
scommesse
o
di
gestione
del
portafoglio
on-line
per
ottenere
alcuni
loro
indirizzi.
Possiamo
anche
partecipare
ad
un
mining
pool
per
scoprire
il
suo
indirizzo
pubblico.
illecita
potr
essere
retroattivamente
scoperta.
Lattacco
per
rende
pi
facile
individuare
gli
indirizzi
di
grandi
partecipanti
molto
visibili
nelleconomia
Bitcoin,
rispetto
ai
semplici
utenti
occasionali.
117
4.3.2
Contromisure
capitali
del
mixer.
Quando
un
utente
vuole
usufruire
del
servizio
invia
la
somma
da
mescolare
ad
un
indirizzo
di
entrata
del
mixer.
Il
mixer
successivamente
indirizzer
ai
nuovi
indirizzi
indicati
dall'utente
pagamenti
di
valore
costante
ad
intervalli
di
tempo
variabili,
fino
al
raggiungimento
del
valore
della
completa
somma
depositata.
Chiaramente
il
mixer
tratterr
una
percentuale
sulle
uscite
nel
caso
sia
un
servizio
a
pagamento.
Le
somme
sono
restituite
in
scaglioni
di
valore
predefinito
per
evitare
di
poter
collegare
gli
indirizzi
di
ingresso
e
uscita
osservando
il
valore
dei
fondi
trasferiti
da
ciascun
utente.
Il
mixer
rilascia
i
fondi
in
un
periodo
dilatato
di
tempo
per
lo
stesso
motivo.
Poich
tra
un
indirizzo
di
uscita
ed
uno
d'entrata
non
c'
nessun
collegamento
il
processo
rompe
efficacemente
il
flusso
dei
fondi
da
una
transazione
all'altra.
Il
mixer
lavora
per
su
un
orizzonte
temporale
lungo
(pu
passare
molto
tempo
tra
il
deposito
dei
fondi
e
l'ultima
emissione),
quindi
deve
ricordare
correttamente
quanti
fondi
mandare
a
ciascun
indirizzo
e
quanti
fondi
ha
gi
mandato.
Il
mantenimento
e
la
protezione
di
questi
registri
sono
il
punto
debole
del
mixer
perch,
se
svelati,
annullerebbero
tutto
il
lavoro
di
occultamento.
Una
buona
pratica
sarebbe
di
distruggere
periodicamente
tutte
le
informazioni
non
pi
necessarie,
ma
non
sempre
viene
fatto.
Come
mostrato
in
[23]
non
tutti
i
servizi
disponibili
seguono
il
corretto
funzionamento
di
un
mixer.
Un
esempio
portato
nel
testo
BitLaundry,
un
popolare
servizio
di
mixing.
Pare
infatti
che
il
servizio
si
limiti
ad
accorpare
tanti
input
degli
utenti
in
pochi
indirizzi,
contenenti
quindi
grandi
fondi,
che
poi
sono
ri-scomposti
per
i
pagamenti
in
uscita.
Sebbene
sia
impossibile
stabilire
di
chi
siano
i
fondi
che
vengono
inviati
(essendo
frutto
di
un
accorpamento
dei
fondi
di
tutti)
resta
comunque
una
connessione
tra
i
fondi
in
entrata
e
quelli
in
uscita
dello
stesso
utente.
Quindi
l'attaccante
sa
che
l'indirizzo
d'uscita
della
vittima
tra
tutti
quegli
indirizzi
d'uscita,
anche
se
non
sa
di
preciso
quale
sia.
Unaltra
tecnica
per
nascondere
i
propri
capitali
consiste
nelluso
delle
transazioni
per
dividere
o
ricombinare
i
propri
fondi,
sparpagliandoli
tra
molti
indirizzi
scollegati
tra
loro.
Le
tecniche
pi
semplici
sono
aggregation
e
split.
Per
aggregation
si
intende
l'unione
di
fondi
contenuti
in
pi
indirizzi
in
un
unico
grande
fondo
su
di
un
unico
indirizzo.
Per
split
si
intende
il
contrario
di
aggregation,
cio
la
divisione
di
un'unica
grande
somma
in
tante
piccole
somme
su
indirizzi
diversi.
Un'altra
tecnica
comune
soprannominata
peeling
chain.
Il
processo
inizia
con
una
grande
somma
contenuta
in
un
unico
indirizzo.
La
somma
diluita
attraverso
molte
transazioni
che
depositano
piccoli
importi
in
indirizzi
controllati
dal
proprietario
mentre
trasferiscono
la
somma
principale
in
un
indirizzo
temporaneo
creato
apposta.
Attraverso
pi
passi
della
catena
la
somma
viene
diluita
in
tantissimi
pezzetti
di
119
poco
valore.
Questa
tecnica
utilizzata
non
solo
per
aumentare
lanonimato
ma
anche
come
forma
di
pagamento
per
alcuni
mining
pool.
Il
mining
pool
invece
di
creare
una
transazione
generatrice
con
tantissimi
output,
invia
lintera
somma
ad
unico
indirizzo,
che
poi
la
ridistribuir
ai
membri
del
pool
attraverso
una
peeling
chain.
La
tecnica
di
peeling
chain
pu
essere
ripetuta
pi
volte
riunendo
i
piccoli
fondi
disseminati
per
i
vari
indirizzi
in
un
unico
indirizzo
per
re
iniziare
una
nuova
peeling
chain.
Queste
tecniche
di
offuscamento
non
sono
realmente
efficaci
poich
non
rompono
il
flusso
di
informazioni
trasmesso
da
una
transazione
all'altra.
Il
massimo
che
possono
ottenere
di
confondere
un
attaccante
impedendogli
di
capire
se
le
nuove
transazioni
siano
pagamenti
dell'utente
a
se
stesso
o
ad
un'altro
utente
(quindi
spese
regolari).
Queste
tecniche,
da
sole,
non
sono
in
genere
sufficienti
a
dissuadere
un
attaccante
determinato.
Infine
osserviamo
una
tecnica
pi
recente
per
riciclare
i
propri
fondi.
Oggigiorno
sono
molto
popolari
i
servizi
di
scommesse
on-line
in
bitcoins.
Le
regole
posson
variare
da
servizio
a
servizio,
ma
in
generale
si
basano
su
di
un
scommessa
contro
una
probabilit
fissa
decisa
dallutente.
Un
utente
pu
quindi
scegliere
probabilit
molto
alte
(superiori
al
90%)
per
minimizzare
il
rischio
di
perdere
(minimizzando
per
anche
la
vincita
relativa).
Se
il
servizio
di
scommesse
accetta
di
ricevere
ed
inviare
pagamenti
su
due
indirizzi
diversi
un
utente
pu
utilizzare
questi
siti
come
dei
mixer.
Lutente
per
prima
cosa
divide
i
suoi
fondi
in
tante
piccole
somme,
poi
gioca
queste
somme
con
unaltissima
probabilit
di
vittoria
facendosi
spedire
eventuali
vincite
a
nuovi
indirizzi
mai
utilizzati.
I
fondi
devono
essere
divisi
in
somme
pi
piccole
per
evitare
il
rischio
di
perdere
tutti
i
fondi
a
causa
di
una
scommessa
sfortunata.
Lalta
probabilit
di
vittoria
garantisce
che
la
maggior
parte
dei
fondi
saranno
effettivamente
rispediti
allutente,
mentre
i
pochi
fondi
perduti
possono
essere
considerati
come
il
costo
da
pagare
al
mixer.
In
genere
gli
indirizzi
di
questi
grandi
servizi
di
scommesse
sono
facilmente
accorpati
in
u
unico
cluster
del
grafo
degli
utenti,
quindi
lattaccante
pu
vedere
che
la
vittima
sta
scommettendo
i
propri
fondi
presso
quel
sito.
Se
il
sito
molto
popolare,
effettuer
per
tantissimi
pagamenti
di
piccole
somme
(poich
in
genere
gli
utenti
scommettono
solo
somme
modeste)
in
breve
tempo.
Lattaccante
non
sar
quindi
in
generale
in
grado
di
capire
quali
siano
le
transazioni
indirizzate
alla
vittima
tra
tutte
le
transazioni
in
uscita.
Chiaramente
un
utente
deve
migliorare
le
proprie
possibilit
di
non
essere
rintracciato
utilizzando
somme
dellimporto
pi
comune
su
sito.
Alcuni
siti
ad
esempio
hanno
una
puntata
minima
e
molti
utenti
si
limitano
sempre
a
scommettere
importi
pari
alla
puntata
minima.
Lutente
potrebbe
quindi
dividere
i
propri
fondi
tante
volte
in
puntate
pari
allimporto
minimo,
per
mescolare
i
120
suoi
fondi
in
uscito
alla
massa
di
utenti
onesti
che
hanno
scommesso
quellimporto
ed
hanno
vinto.
40
Queste
liste
sono
utilizzate
per
in
maniera
molto
superficiale.
Sono
infatti
banditi
solo
gli
indirizzi
iniziali
del
furto
o
quelli
chiaramente
collegati.
Non
viene
eseguito
nessun
tipo
di
analisi
per
tracciare
pi
in
profondit
i
fondi
rubati.
I
siti
ottengono
una
percentuale
su
tutti
gli
scambi,
quindi
nel
loro
interesse
accettare
tutti
i
bitcoins
disponibili,
anche
quelli
rubati.
La
loro
popolarit
per
potrebbe
risentire
di
accuse
di
collusione
con
i
ladri,
quindi
vengono
utilizzate
queste
liste
nere
come
facciata.
comunque
positivo
lesempio
del
servizio
di
portafoglio
online
Strongcoin
che
intercett
923
BTC
rubate
al
mining
pool
Ozcoin
e
depositate
dal
ladro
su
un
suo
portafoglio.
Strongcoin
imped
al
ladro
di
ritirare
i
bitcoins
e
li
restitu
invece
a
Ozcoin.
121
Lo
studio
della
correlazione
tra
due
indirizzi
detto
taint
analysis
che
potremmo
tradurre
come
analisi
dellimpronta.
Dato
un
indirizzo,
eseguire
la
sua
taint
analysis
vuol
dire
calcolare
la
percentuale
di
fondi
che
ha
ricevuto
da
un
qualsiasi
altro
indirizzo.
Lanalisi
non
si
limita
alla
transazione
pi
recente
ma
analizza
lintera
storia
delle
transazioni.
Utilizzando
quindi
unanalisi
dellimpronta,
possibile
ad
esempio
controllare
se
un
mixer
ha
funzionato
correttamente.
Un
mixer
funziona
correttamente
se
lindirizzo
in
ingresso
non
trovato
(con
nessuna
percentuale)
come
risultato
di
una
taint
analysis
sullindirizzo
a
cui
sono
inviati
i
fondi
in
uscita
dal
mixer.
Questa
tecnica
viene
anche
usata
spesso
per
calcolare
la
percentuale
di
fondi
provenienti
da
un
noto
indirizzo
di
un
ladro.
Unendo
la
taint
analysis
al
grafo
degli
utenti
possibile
avere
una
buona
idea
della
destinazione
dei
(presunti)
fondi
rubati.
La
taint
analysis
molto
semplice
da
utilizzare
anche
per
i
non
esperti
grazie
allapposito
strumento
offerto
dal
sito
blockchain.info
[87].
Gli
attacchi
presentati
in
precedenza
sono,
a
modesto
avviso
dellautore,
gli
attacchi
pi
interessanti
contro
Bitcoin.
Questi
attacchi
sono
infatti
specifici
di
Bitcoin
(o
di
altre
monete
122
digitali
simili)
e
sfruttano
al
meglio
i
problemi
alla
base
del
suo
funzionamento.
Bitcoin
non
per
immune
dagli
attacchi
classici
sulle
reti
come
furti,
sybil
attacks
o
attacchi
di
tipo
denial
of
service
distribuito.
Sono
stati
inoltre
sviluppati
nuovi
attacchi
basati
sul
funzionamento
pratico
di
Bitcoin,
piuttosto
che
sui
suoi
principi
fondanti,
come
il
Timejacking.
Mostreremo
di
seguito
come
questi
attacchi
siano
portati
a
termine
in
Bitcoin,
ma
prima
discutiamo
cosa
siano
i
portafogli
in
Bitcoin.
4.4.1 Portafoglio
Figura
4.5
esempio
di
portafoglio
di
carta
come
viene
stampato
fronte
e
retro
e
come
appare
una
volta
ripiegato
nickname
del
loro
inventore,
e
sono
disponibili
in
tagli
da
0.5
,
1,
10,
25
e
100
BTC
.
Un
utente
pu
acquistarle
dal
sito
di
Casascius
pagando
in
bitcoins
limporto
indicato
sulla
moneta,
pi
una
commissione
per
il
servizio41.
Una
volta
ricevuta
la
moneta,
lutente
pu
spenderla
come
una
normale
moneta
classica,
passandola
di
mano
in
mano.
Il
proprietario
corrente
della
moneta
pu
riscattare
il
valore
rappresentato
aprendo
lologramma,
e
venendo
cos
a
conoscenza
della
chiave
privata.
Ogni
utente
quindi
prima
di
accettare
una
moneta
dovr
prima
controllare
che
non
sia
stata
aperta
(e
quindi
gi
svuotata
del
suo
valore).
Pu
sembrare
strano
che
una
valuta
digitale
completamente
astratta
come
Bitcoin
sia
utilizzata
in
monete
fisiche
di
metallo,
ma
utilizzare
monete
fisiche
ha
alcuni
vantaggi
interessanti.
Le
monete
possono
essere
passate
da
una
mano
allaltra
senza
bisogno
di
un
computer
o
di
attese
per
la
conferma
della
transazione.
Le
transazioni
con
monete
fisiche
(cio
il
passaggio
di
monete
da
mano
a
mano)
avvengono
nel
mondo
reale
e
quindi
non
entrano
a
far
parte
della
catena
contribuendo
a
diminuire
le
sue
dimensioni
totali.
Una
moneta,
che
non
sia
stata
aperta,
sicura
contro
un
tentativo
di
double-spending
(vedi
sezione
2.3).
La
chiave
privata
stampata
su
una
moneta,
quindi
non
possibile
rubarla
in
nessun
modo
senza
venire
prima
in
possesso
della
moneta
e
rompere
lologramma42.
41
Il
servizio
stato
interrotto
alla
fine
del
2013
in
seguito
ad
un
esposto
della
FinCEN,
che
accusava
Casascius
di
emettere
moneta
senza
i
necessari
permessi.
42
Come
sempre,
nel
caso
di
chiavi
private
generate
da
unentit
terza,
bisogna
fidarsi
che
il
processo
di
creazione
della
chiave
sia
stato
corretto
e
segreto,
e
che
le
sue
tracce
siano
state
cancellate.
Bisogna
inoltre
fidarsi
che
chi
ha
creato
la
moneta
non
ricordi
segretamente
la
chiave
privata
associata.
126
4.4.2
Furti
I
furti
di
assets
digitali
sono
sempre
esistiti
e
continueranno
ad
esistere.
I
furti
di
bitcoins
non
sono
diversi
dai
furti
alle
grandi
compagnie
di
pagamenti
virtuali
tradizionali.
La
differenza
che
unentit
centralizzata
di
grandi
dimensioni
ha
pi
fondi
e
conoscenze
tecniche
per
difendersi
rispetto
ad
un
utente
qualsiasi.
Inoltre
in
caso
di
pagamenti
fraudolenti
la
compagnia
pu
annullare
il
pagamento
non
autorizzato
recuperando
i
fondi
rubati.
In
Bitcoin
impossibile,
a
meno
di
attacchi
che
modifichino
la
catena,
annullare
una
transazione
dopo
che
entrata
a
far
parte
della
catena
ufficiale43.
Nel
caso
di
Bitcoin
le
informazioni
sensibili
da
rubare
sono
le
chiavi
private
degli
indirizzi
di
una
vittima.
Infatti
non
possibile
rubare
le
monete
in
s.
Un
trasferimento
valido
se
indicato
da
una
transazione.
Per
rubare
i
fondi
di
un
indirizzo
un
ladro
deve
creare
una
transazione
da
quellindirizzo
al
proprio,
ma
per
farlo
ha
bisogno
della
chiave
privata
dellindirizzo
in
input,
per
poterlo
firmare
correttamente.
Lunica
possibilit
per
il
ladro
quindi
di
rubare
la
chiave
privata.
Abbiamo
gi
parlato
come
la
chiave
privata
sia
memorizzata
nel
portafoglio
dellutente
(vedi
sezione
4.4.1).
quindi
fondamentale
che
lutente
protegga
bene
il
proprio
portafoglio.
I
software
per
gestione
del
portafoglio
off-line
permettono
spesso
di
cifrare
il
proprio
portafoglio
ma
non
sempre
gli
utenti
scelgono
questa
opzione.
Un
portafoglio
non
cifrato
un
semplice
file
su
una
memoria
che
viene
collegata
alla
rete
quando
lutente
accede
al
portafoglio
per
creare
delle
transazioni.
quindi
alla
merc
di
qualsiasi
ladro.
Scegliere
un
servizio
di
gestione
del
portafoglio
on-line
non
meno
rischioso.
In
generale
la
compagnia
che
offre
il
servizio
prende
tutte
le
precauzioni
necessarie
ma
la
storia
di
Bitcoin
ricca
di
notizie
di
furti
a
questi
servizi.
Inoltre
affidarsi
ad
un
servizio
on-line
aggiunge
il
rischio
che
il
gestore
del
servizio
sia
egli
stesso
un
ladro
e
che
sparisca
con
i
fondi
affidatigli.
Proteggere
adeguatamente
il
proprio
portafoglio
potrebbe
danneggiarne
lusabilit
(soprattutto
per
utenti
poco
esperti).
La
soluzione
migliore
proposta
quindi
quella
di
utilizzare
due
diversi
portafogli
per
ogni
utente.
Il
primo
portafoglio
usato
come
portafoglio
banca.
In
esso
lutente
mantiene
la
maggior
parte
dei
suoi
fondi
ed
utilizzato
solo
per
effettuare
rari
pagamenti
di
grandi
somme.
Questo
portafoglio
potr
essere
protetto
adeguatamente
senza
preoccuparsi
della
sua
usabilit
(poich
sar
utilizzato
solo
per
le
rare
transazioni
di
grandi
43
Si
dice
che
le
transazioni
hanno
la
propriet
di
essere
non
reversibili.
127
capitali).
Lutente
creer
poi
delle
transazioni
pre-approvate
(cio
firmate)
da
questo
portafoglio
al
secondo
portafoglio
posseduto
dallutente.
Queste
transazioni
devono
essere
di
poco
valore
e
potranno
essere
usate
dallutente
per
ritirare
fondi
dal
portafoglio
banca
come
se
usasse
un
bancomat.
Il
secondo
portafoglio,
rifornito
da
questi
piccoli
trasferimenti,
sar
usato
dallutente
per
le
piccole
spese
quotidiane.
Il
portafoglio
quotidiano
potr
avere
difese
sufficienti
a
garantire
una
certa
sicurezza
ma
senza
danneggiare
lusabilit
del
portafoglio.
Il
furto
del
portafoglio
quotidiano
sar
una
perdita
contenuta
per
lutente
poich
contiene
solo
una
piccola
frazione
della
totalit
dei
suoi
fondi
contenuti
al
sicuro
nellindirizzo
banca.
Una
consolazione
per
la
vittima
di
un
furto
che
i
fondi
rubati
non
saranno
facili
da
spendere
se
la
vittima
riesce
ad
ottenere
la
solidariet
della
comunit.
Come
abbiamo
gi
spiegato
nella
sezione
4.3.3,
spesso
possibile
tracciare
una
parte
dei
fondi
rubati
fino
ad
un
servizio
che
conosce
informazioni
sensibili
utili
a
ricostruire
lidentit
del
ladro.
4.4.3
DDoS
Gli
attacchi
di
tipo
denial
of
service
distribuito
in
Bitcoin
seguono
le
stesse
regole
di
questi
attacchi
in
altri
tipi
di
reti.
Lo
scopo
dellattaccante
sommergere
un
nodo
di
dati
inutili
cos
che
non
possa
lavorare
ai
normali
messaggi
ricevuti
dalla
rete44.
44
Un
altro
tipo
di
attacco
DoS
portato
contro
un
utente
di
Bitcoin
mira
ad
intasare
il
suo
utilizzo
di
risorse
di
calcolo
invece
che
la
sua
banda.
Questo
possibile
costringendo
lutente
a
fare
molte
operazioni
costose
di
verifica
(operazioni
di
verifica
crittografica)
o
a
dover
recuperare
molti
dati
dal
disco
per
verificare
le
transazioni.
128
Il
protocollo
inoltre
suggerisce
ad
ogni
peer
di
tenere
un
punteggio
di
DoS
per
ogni
suo
vicino
incrementandolo
allaumentare
del
numero
di
messaggi
invalidi
ricevuti
da
quel
peer.
Se
il
punteggio
di
DoS
supera
una
certa
soglia
il
nodo
interrompe
la
connessione
con
quel
vicino
e
si
rifiuta
di
accettare
una
nuova
connessione
da
quellindirizzo
IP
per
un
lasso
di
tempo
prefissato.
Questo
permette
di
isolare
rapidamente
le
fonti
di
un
attacco
di
tipo
DDoS.
Un
nuovo
tipo
di
attacco
DDoS
stato
portato
a
termine
nel
febbraio
2014
sfruttando
la
malleability
delle
transazioni
Bitcoin.
Ricordiamo
che
la
malleability
permette
di
apportare
45
Nelle
parole
degli
sviluppatori:
Payments
(transaction
outputs)
of
0.543
times
the
minimum
relay
fee
(0.00005430
BTC)
are
now
considered
non-standard,
because
storing
them
costs
the
network
more
than
they
are
worth
and
spending
them
will
usually
cost
their
owner
more
in
transaction
fees
than
they
are
worth.
129
minime
modifiche
ad
una
transazione
senza
invalidarla.
Lhash
della
transazione
per
cambiato
e
quindi
si
ottengono
due
transazioni
con
hash
diverse
(ma
stesso
significato)
entrambe
valide.
Lattaccante
pu
sfruttare
questa
propriet
per
inondare
la
rete
di
transazioni
valide
ripetute
pi
volte.
Lattaccante
pu
inserire
nella
rete
un
nodo
il
cui
unico
scopo
di
ascoltare
nuove
transazioni,
modificarle
(molte
volte)
sfruttando
la
malleability
ed
inoltrarle
sulla
rete.
Quindi
ogni
transazione
circoler
sulla
rete
in
molte
copie
tutte
valide,
e
tutte
accettate
dai
peers
poich
lhash
diversa.
Infatti
bitcoin
utilizza
le
hash
degli
oggetti
come
identificativi
degli
oggetti
stessi,
quindi
i
peers
considerano
diverse
tutte
le
transazioni
con
hash
diversa.
Alla
fine
solo
una
copia
della
transazione
sar
inserita
in
un
blocco
diventando
quella
ufficiale
e
tutti
i
suoi
cloni
saranno
considerati
tentativi
di
double
spending
e
quindi
scartati.
Lo
scopo
dellattaccante
per
non
modificare
una
transazione,
ma
semplicemente
crearne
abbastanza
copie
da
intasare
la
rete
(e
le
liste
di
transazioni
non
confermate
dei
peers),
per
questo
lattacco
ha
successo.
Per
contrastare
questo
attacco
le
versioni
del
client
Bitcoin
di
riferimento
bitcoind
dalla
0.8
in
poi
hanno
aggiunto
la
regola
che
le
transazioni
malleabili
(cio
con
rappresentazioni
non
standard
della
firma)
vengano
considerate
non
standard
(quindi
sono
accettate
ma
non
inoltrate).
Abbiamo
visto
come
un
nodo
possa
difendersi
da
un
attacco
DDoS
che
invii
transazioni
ripetute,
ma
le
transazioni
non
sono
gli
unici
tipi
di
messaggi
inviati
sulla
rete.
La
rete
anche
utilizzata
per
scambiare
blocchi
tra
gli
utenti.
Poich
i
blocchi
hanno
dimensioni
molto
maggiori
di
una
singola
transazione,
riuscire
ad
intasare
la
rete
di
blocchi
rende
lattacco
molto
pi
efficace.
Il
problema
che
i
nodi
possono
capire
dalla
sola
intestazione
di
un
blocco
se
questo
corretto
o
meno.
Le
intestazioni
dei
blocchi
sono
molto
pi
leggere
del
blocco
stesso
e
quindi
facili
da
inviare
e
verificare
in
fretta.
Per
fare
in
modo
che
un
utente
richieda
linvio
di
un
blocco
intero
necessario
che
lintestazione
sia
corretta.
Creare
intestazioni
corrette
per
difficile
quanto
creare
blocchi
corretti,
perch
la
proof-of-work
dipende
solo
dalla
radice
del
merkle
tree
delle
transazioni.
Quindi
lattaccante
dovrebbe
essere
un
miner
con
enorme
potenza
di
calcolo
per
riuscire
a
generare
abbastanza
blocchi
validi
da
sommergere
la
rete.
Lattacco
sembrerebbe
quindi
impossibile,
o
meglio
troppo
costoso.
Esiste
per
una
soluzione
alternativa.
Lattaccante
potrebbe
biforcare
la
catena
molto
in
basso,
cio
vicino
ai
primi
blocchi
creati.
La
difficolt
di
quei
blocchi
irrisoria
rispetto
alla
potenza
di
calcolo
odierna
di
qualsiasi
miner.
Lattaccante
potrebbe
quindi
estrarre
un
gran
numero
di
blocchi
in
poco
tempo,
prima
che
la
difficolt
diventi
eccessiva,
ed
usare
questi
blocchi
validi
per
il
suo
attacco
DDoS.
Per
contrastare
questa
strategia
gli
utenti
onesti
130
possono
ricorrere
ai
checkpoint
(vedi
sezione
4.1.1).
La
lista
dei
checkpoint
di
ogni
nodo
contiene
dei
nodi
storici
ritenuti
non
modificabili.
Lutente
pu
quindi
controllare
i
nuovi
blocchi
che
riceve
ed
ignorare
tutti
quelli
pi
vecchi
di
un
checkpoint,
perch
non
sono
accettate
nuove
biforcazioni
in
un
ramo
storico
della
catena.
I
blocchi
dellattaccante
sarebbero
di
certo
pi
vecchi
del
checkpoint
pi
recente
e
quindi
verrebbero
scartati,
portando
al
fallimento
dellattacco.
Per
sybil
attack
si
intende
la
tecnica
di
inserire
in
una
rete
peer-to-peer
molti
nodi
controllati
dallattaccante.
La
rete
peer-to-peer
di
Bitcoin
vulnerabile
ad
attacchi
sybil
come
qualsiasi
altra
rete
peer-to-peer.
Vediamo
come
un
tale
attacco
pu
essere
portato
a
termine
in
Bitcoin
e
quali
vantaggi
pu
ricavarne
lattaccante.
Poich
la
rete
di
Bitcoin
si
basa
sullanonimato
e
la
mancanza
di
fiducia
tra
i
peers,
particolarmente
vulnerabile
a
questattacco.
Inoltre
il
basso
costo
di
gestione
di
ogni
nodo
rende
lattacco
anche
economico.
Lattaccante
prima
dissemina
la
rete
di
suoi
nodi
schiavi.
Lo
scopo
dellattaccante
di
isolare
dei
nodi
onesti
dalla
rete
facendo
in
modo
che
si
connettano
solo
a
nodi
da
lui
controllati.
Un
nodo
schiavo
quindi
inoltrer
ai
peers
onesti
messaggi
addr
contenenti
liste
di
soli
nodi
controllati
dallattaccante.
Questi
nodi
schiavi
possono
essere
usati
dallattaccante
per
inviare
informazioni
false
ai
nodi
onesti
intrappolati.
Infatti
se
un
nodo
onesto
collegato
solo
a
nodi
schiavi
creder
allimmagine
della
rete
fornita
dai
nodi
schiavi.
Questo
attacco
pu
essere
utilizzato
per
portare
a
termine
attacchi
double
spending
sia
su
pagamento
veloce
che
su
classica
attesa
delle
conferme.
Nel
caso
di
pagamento
veloce
i
nodi
schiavi
impediranno
al
nodo
onesto
di
venire
a
sapere
dal
resto
della
rete
che
lattaccante
ha
creato
unaltra
transazione,
impedendogli
di
scoprire
lattacco.
Nel
caso
che
il
nodo
attenda
le
classiche
sei
conferme,
lattaccante
deve
includere
la
transazione
in
un
blocco
da
lui
creato
ed
aggiungere
altri
cinque
blocchi
sopra
di
questo.
Poich
lattaccante
ha
potenza
di
calcolo
minore
dellintera
rete,
normalmente
il
suo
ramo
sarebbe
molto
pi
corto
e
quindi
ignorato.
Ma
poich
lattaccante
lunico
che
comunica
con
il
nodo
vittima,
questo
creder
che
la
catena
dellattaccante
sia
lunica,
e
quindi
la
pi
lunga.
La
vittima
vedrebbe
il
pagamento
come
confermato
perch
presente
abbastanza
in
profondit
nella
catena
dellattaccante,
mentre
lattaccante
avr
trasmesso
alla
rete
vera
la
sua
transazione
fraudolenta,
che
quindi
verr
131
inserita
e
confermata
nella
catena
ufficiale.
Come
sempre
lattaccante
deve
considerare
il
costo
di
estrarre
i
nuovi
blocchi
e
confrontarlo
con
leffettivo
guadagno
del
successo
del
double
spending.
Lattaccante
infatti
utilizzer
le
proprie
risorse
di
calcolo
per
estrarre
sei
blocchi
che
non
gli
garantiranno
nessuna
ricompensa
o
commissione
(poich
non
entreranno
a
far
parte
della
catena
ufficiale).
Se
il
costo
atteso
per
estrarre
questi
blocchi
maggiore
dellimporto
di
tutti
gli
attacchi
double
spending
che
hanno
successo
grazie
a
quei
blocchi,
lattacco
non
sar
vantaggioso.
4.4.5
Timejacking
Lattacco
consiste
nellannunciare
un
timestamp
errato
quando
lattaccante
si
connette
alla
rete
in
modo
da
cambiare
il
tempo
dei
nodi
vicini
rendendo
altri
tipi
dattacco
pi
facili.
Come
abbiamo
visto
nella
sezione
2.6,
un
nodo
calcola
il
tempo
della
rete
come
mediana
dei
tempi
dei
vicini,
se
il
risultato
non
dista
pi
di
settanta
minuti
dal
suo
tempo
di
sistema.
Un
attaccante
pu
quindi
influenzare
il
tempo
di
determinati
nodi
facendo
in
modo
che
si
connettano
a
molti
nodi
schiavi,
da
lui
controllati,
che
comunichino
un
tempo
prestabilito
alle
vittime.
Modificando
il
tempo
percepito
dai
nodi
della
rete
lattaccante
pu
portare
delle
vittima
a
rifiutare
dei
blocchi
corretti.
Lattaccante
fa
in
modo
che
il
nodo
vittima
calcoli
un
tempo
di
quasi
settanta
minuti
minore
del
tempo
reale.
Poi
fa
in
modo
che
la
maggioranza
dei
miner
calcolino
il
proprio
tempo
come
quasi
settanta
minuti
maggiore
del
tempo
reale.
Come
gi
detto,
per
far
questo
lattaccante
deve
connettere
alla
vittima
e
ai
miner
molti
nodi
che
comunichino
tempi
decisi
dallattaccante.
Nelle
regole
del
protocollo
specificato
che
quando
un
nodo
controlla
la
validit
di
nuovi
blocchi
ricevuti
deve
controllare
anche
che
il
timestamp
contenuto
nel
blocco
non
sia
maggiore
di
due
ore
rispetto
al
suo
tempo
corrente,
se
questo
vero
il
blocco
viene
ritenuto
invalido.
Questa
regola
permette
il
seguente
attacco.
Lattaccante
estrae
un
nuovo
blocco
corretto
con
timestamp
maggiore
di
poco
meno
di
centonovanta
minuti
rispetto
al
tempo
reale.
Lattaccante
in
generale
non
avr
alta
probabilit
di
estrarre
questo
blocco
ma
pu
aspettare
ed
iniziare
lattacco
quando
cos
fortunato
da
estrarre
un
blocco.
Il
nuovo
blocco
estratto
non
valido
per
la
vittima
perch
il
suo
tempo
quasi
di
duecentosessanta
minuti
maggiore
(quindi
pi
dei
centoventi
minuti
imposti
dalle
regole).
I
miner
con
il
tempo
aumentato
per
vedranno
il
timestamp
del
blocco
distante
di
meno
di
centoventi
minuti
e
132
quindi
riterranno
il
blocco
corretto
continuando
ad
aggiungere
su
questo
nuovi
blocchi.
Tutti
i
blocchi
successivi
creati
dai
miners
avranno
una
differenza
di
timestamp
di
quasi
centoquaranta
minuti
rispetto
al
tempo
della
vittima
(perch
il
tempo
della
vittima
settanta
minuti
minore
del
tempo
reale
ed
il
tempo
dei
miners
settanta
minuti
maggiore
del
tempo
reale)
e
quindi
saranno
sempre
rifiutati
dalla
vittima.
Lattaccante
pu
ora
eseguire
attacchi
di
tipo
double
spending
creando
nuovi
blocchi
con
il
timestamp
corretto
in
una
biforcazione
della
catena
prima
del
primo
blocco
con
timestamp
gonfiato.
Questi
blocchi
saranno
rifiutati
dalla
catena
reale
perch
contiene
gi
i
blocchi
con
timestamp
gonfiato
che
costituiscono
il
ramo
pi
lungo.
La
vittima
considera
per
quei
blocchi
non
validi
e
quindi
la
sua
versione
della
catena
rimasta
quella
precedente
allattacco,
quindi
i
nuovi
blocchi
dellattaccante
saranno
per
lei
validi.
Di
fatto
lattaccante
riuscito
ad
isolare
la
vittima
come
durante
un
sybil
attack,
ma
invece
di
usare
nodi
schiavi
come
schermo,
ha
modificato
fraudolentemente
il
suo
tempo.
Si
applicano
per
lattaccante
le
stesse
considerazioni
sui
costi
del
sybil
attack.
Infatti
lattaccante
deve
fornire
alla
vittima
una
catena
alternativa,
spendendo
la
potenza
di
calcolo
necessaria
senza
guadagnare
nessuna
ricompensa.
Le
contromisure
contro
questo
attacco
consistono
nel
cambiare
la
regola
per
calcolare
il
tempo
della
rete,
riducendo
la
distanza
massima
di
settanta
minuti
accettata
o
utilizzando
semplicemente
il
proprio
tempo
di
sistema.
Unaltra
soluzione
sarebbe
di
modificare
la
regola
per
il
controllo
della
correttezza
dei
blocchi:
invece
di
controllare
il
timestamp
di
un
nuovo
blocco
contro
il
proprio
tempo,
ogni
nodo
controllerebbe
che
il
timestamp
del
nuovo
blocco
non
ecceda
di
un
fattore
fissato
la
mediana
del
tempo
di
creazione
degli
ultimi
undici
blocchi
nella
catena.
Questa
soluzione
rende
laccettazione
di
un
nuovo
blocco
indipendente
dal
133
tempo di ogni singolo nodo, e quindi renderebbe questo tipo dattacco impossibile.
Capitolo
5
Valuta
Alternative
Come
abbiamo
pi
volte
detto,
Bitcoin
stata
la
prima
valuta
digitale
a
riscuotere
interesse
ed
essere
utilizzata
allesterno
della
comunit
dei
crittografi.
Non
stata
per
lultima.
Allombra
della
popolarit
di
Bitcoin
sono
prosperate
numerose
nuove
valute
digitali
derivate
da
modifiche
pi
o
meno
profonde
del
suo
protocollo.
Sfruttando
il
rinnovato
interesse
per
le
valute
digitali
sono
nate
anche
nuove
valute
completamente
alternative
a
Bitcoin.
In
questo
capitolo
mostreremo
lidea
alla
base
di
queste
valute
mostrando
i
principali
esempi
nati
da
modifiche
del
protocollo
Bitcoin
ed
il
pi
interessante
esempio
di
valuta
completamente
indipendente.
Bitcoin
stata
la
prima
valuta
digitale
che
abbia
raggiunto
grande
accettazione
tra
gli
utenti.
Durante
il
suo
rodaggio
iniziale
dal
2009
al
2011
ha
subito
alcuni
aggiustamenti
e
correzione
del
codice
utilizzato,
ma
i
principi
alla
base
del
funzionamento
del
protocollo
sono
rimasti
invariati.
Partendo
dalle
idee
di
Bitcoin
sono
state
in
seguito
proposte
molte
valute
alternative
che
modificano
alcuni
di
questi
principi
di
base.
Infatti,
in
genere,
ogni
nuova
valuta
ha
lo
scopo
di
migliorare
un
aspetto
preciso
di
Bitcoin.
Vediamo
di
seguito
le
principali
valute
nate
da
Bitcoin
puntualizzando
i
miglioramenti
che
vogliono
ottenere
e
osservando
il
loro
valore
al
giorno
d'oggi46.
Nel
seguito
useremo
il
termine
capitalizzazione
di
una
valuta
per
rappresentare
il
prodotto
tra
il
valore
medio
attuale
di
un'unit
della
valuta
(in
dollari
USD)
per
il
numero
totale
odierno
di
unit
di
quella
valuta
in
circolazione.
Le
valute
trattate
sono
state
scelte
perch
sono
gli
esempi
storicamente
pi
interessanti
di
cloni
di
Bitcoin.
Inoltre
erano
le
quattro
valute
con
maggiore
capitalizzazione
nel
dicembre
2013,
cio
nel
periodo
di
maggior
euforia
per
le
valute
digitali.
46
I
valori
considerati
si
riferiscono
al
1/4/2014.
136
5.1.1 Litecoin
Litecoin
[89,
90,
91]
nasce
nell'ottobre
del
2011.
Questa
valuta
sempre
stata
la
seconda
valuta
digitale
figlia
di
Bitcoin
per
capitalizzazione
(la
prima
ovviamente
Bitcoin)
ed
l'alternativa
a
Bitcoin
che
ha
ricevuto
maggiore
copertura
mediatica.
La
capitalizzazione
attuale
di
362.563.503
$,
anche
se
allinizio
di
dicembre
2013
era
di
645.025.963
$.
Litecoin
spesso
definita
come
argento
rispetto
all'oro
di
Bitcoin47.
La
principale
modifica
introdotta
da
Litecoin
riguarda
il
mining.
Lo
scopo
di
Litecoin
infatti
di
rendere
l'estrazione
dei
blocchi
pi
rapida
e
pi
difficilmente
ottimizzabile
da
hardware
specializzato.
L'algoritmo
di
mining
disegnato
per
fare
in
modo
che
nuovi
blocchi
siano
trovati
quattro
volte
pi
velocemente
di
Bitcoin
(ogni
due
minuti
e
mezzo
invece
che
ogni
dieci
minuti
come
in
Bitcoin),
e
la
rete
genera
di
conseguenza
quattro
volte
pi
blocchi
e
quindi
quattro
volte
pi
monete
(ottantaquattro
milioni
invece
di
ventuno
come
in
Bitcoin).
utilizza
per
questo
un
vettore
di
stringhe
pseudo
casuali
di
bit
che
sono
utilizzati
in
pi
punti,
e
a
tempi
diversi,
dallalgoritmo.
quindi
necessario
disporre
della
memoria
necessaria
a
contenere
questo
vettore48,
impedendo
di
costruire
dispositivi
dedicati
(o
almeno
rendendolo
proibitivamente
costoso).
La
difficolt
(o
meglio
il
costo
elevato)
di
costruire
dispositivi
ASIC
dedicati
per
risolvere
in
parallelo
scrypt
proprio
la
propriet
che
gli
ideatori
di
Litecoin
cercavano.
Lo
scopo
era
infatti
rendere
pi
difficile
ottimizzare
il
lavoro
necessario
per
risolvere
le
proof
of
work
su
GPU
o
hadrware
dedicato.
Questa
scelta
serve
a
permettere
a
qualsiasi
utente
di
diventare
un
miner
efficace
senza
dover
disporre
di
costosissimi
hardware
dedicati
(come
accade
oggi
per
Bitcoin).
Il
fatto
che
qualsiasi
utente
pu
diventare
un
miner
(con
probabilit
accettabili
di
guadagno)
a
basso
costo,
permette
di
rendere
la
valuta
pi
decentralizzata.
Di
fatto
possibile
costruire
hardware
specializzati
ma
questi
sarebbero
molto
pi
costosi
in
proporzione
al
guadagno
rispetto
a
quelli
disponibili
per
Bitcoin,
e
quindi
poco
diffusi,
perci
oggi
la
maggior
parte
del
mining
di
Litecoin
effettuato
da
GPU
moderne
che
dispongono
di
buone
quantit
di
memoria
veloce.
Dare
per
pi
potere
(relativo)
a
computer
non
specializzati
rende
Litecoin
particolarmente
appetibile
per
le
botnets
(vedi
sezione
4.1.4).
Infatti
se
tutti
gli
utenti
utilizzano
dispositivi
normali
per
il
mining,
una
botnet
che
controlli
molti
dispositivi
avr
un'alta
percentuale
del
potere
di
calcolo
totale
della
rete.
Se
ad
esempio
una
botnet
controlla
10.000
CPU
(o
GPU)
in
Litecoin
avr
lo
stesso
peso
di
10.000
utenti
onesti,
in
Bitcoin
invece
avr
lo
stesso
potere
computazionale
di
un
solo
miner
che
utilizzi
una
ASIC
di
fascia
media.
Il
tempo
di
attesa
medio
minore
per
estrarre
un
blocco
porta
numerosi
vantaggi
rispetto
a
Bitcoin.
Nello
stesso
periodo
di
tempo
necessario
ad
aspettare
una
conferma
in
Bitcoin
un
utente
di
Litecoin
ottiene
quattro
conferme.
In
Bitcoin
un
utente
che
non
vuole
aspettare
dieci
minuti
deve
utilizzare
la
tecnica
di
pagamento
veloce,
con
tutti
i
rischi
associati,
in
Litecoin
invece
un
utente
pu
scegliere
di
aspettare
una
sola
conferma
al
posto
del
pagamento
veloce
aspettando
solo
due
minuti
e
mezzo
(in
media).
Questo
tempo
molto
minore
di
dieci
minuti
ma
anche
molto
maggiore
dei
dieci
secondi
del
pagamento
veloce,
quindi
pu
essere
un
buon
compromesso
per
pagamenti
sicuri
abbastanza
rapidi.
Osserviamo
che
un
blocco
di
Litecoin
generato
da
una
potenza
di
calcolo
minore
di
un
blocco
di
Bitcoin,
48
In
alternativa
le
stringhe
possono
essere
rigenerate
ogni
volta
che
sono
necessarie,
queste
computazioni
inutili
aggiuntive
aumentano
per
il
tempo
utilizzato,
rendendo
quindi
il
calcolo
ugualmente
costoso
per
lattaccante.
138
49
Se
ad
esempio
consideriamo
le
classiche
sei
conferme
di
Bitcoin
un
utente
deve
aspettare
in
media
unora.
In
Litecoin
in
un'ora
sono
estratti
in
media
ventiquattro
blocchi,
quindi
un
utente
Litecoin
avrebbe
ventiquattro
conferme.
139
che
il
tempo
di
propagazione
di
un
nuovo
blocco
sia
uguale
nei
due
protocolli
(ipotizzando
che
le
due
reti
abbiano
dimensioni
uguali).
Ma
poich
il
tempo
di
attesa
per
estrarre
un
nuovo
blocco
in
Litecoin
minore
la
probabilit
che
venga
estratto
un
blocco
alternativo
durante
la
propagazione
di
un
blocco
(e
quindi
si
crei
una
biforcazione
involontaria)
quattro
volte
maggiore
in
Litecoin.
Il
tempo
ridotto
di
estrazione
di
un
blocco
riduce
anche
l'attesa
dei
miner
di
ricevere
le
ricompense,
a
parit
di
probabilit
di
estrarre
un
blocco
un
miner
Litecoin
estrae
un
numero
di
blocchi
quattro
volto
superiore
di
un
miner
Bitcoin
in
un
intervallo
di
tempo
fissato.
Questo
permette
di
ridurre
la
varianza
delle
ricompense
ottenute
dai
miner,
aumentando
la
convenienza
dei
miner
meno
potenti
a
restare
nel
sistema
senza
bisogno
di
aggregarsi
ad
un
mining
pool,
contribuendo
a
rendere
il
sistema
stesso
pi
decentralizzato.
Il
numero
di
blocchi
quattro
volte
superiore
per
aumenterebbe
le
dimensioni
della
catena,
infatti
anche
ipotizzando
lo
stesso
numero
di
transazioni
per
unit
di
tempo
tra
Bitcoin
e
Litecoin,
quest'ultimo
avr
un
numero
di
intestazioni
dei
blocchi
quattro
volte
maggiore.
I
nodi
maggiormente
penalizzati
da
questo
aumento
di
dimensioni
sarebbero
chiaramente
i
nodi
che
utilizzano
la
tecnica
di
verifica
di
pagamento
semplificata
(vedi
sezione
2.5).
Questi
nodi
infatti,
salvando
solo
le
intestazioni,
avrebbero
una
catena
di
dimensioni
quattro
volte
maggiori
rispetto
a
Bitcoin.
Infine
osserviamo
che
il
numero
totale
di
litecoins
quattro
volte
maggiore
di
quello
di
bitcoins,
ma
i
litecoins
sono
generati
quattro
volte
pi
in
fretta.
Quindi
la
curva
di
aumento
del
numero
di
monete
la
stessa
di
Bitcoin.
Di
fatto
avere
quattro
volte
pi
monete
sarebbe
esattamente
come
avere
lo
stesso
numero
di
bitcoins,
con
l'aggiunta
di
poter
dividere
un
satoshi
(cio
10-8
BTC)
in
quattro
parti,
cio
utilizzare
anche
0,25
,
0,5
e
0,75
satoshi.
5.1.2 Peercoin
Il
simbolo
di
Peercoin
contiene
una
foglia,
richiamo
ad
idee
ecologiste.
Infatti
lo
scopo
principale
della
modifica
della
tecnica
di
mining
di
Bitcoin
quello
di
rendere
il
mining
pi
efficiente
nell'uso
dellenergia
elettrica.
All'aumentare
della
difficolt
della
proof-of-work
di
un
blocco
Bitcoin
aumenta
la
potenza
di
calcolo
necessaria
e
quindi
l'energia
consumata.
Peercoin
introduce
il
concetto
di
proof-of-stake
da
affiancare
alla
classica
proof-of-work
per
risolvere
questo
problema.
Peercoin
utilizza
due
diversi
tipi
di
blocchi,
il
primo
tipo
sono
i
141
classici
blocchi
di
Bitcoin
basati
sulla
proof-of-work,
il
secondo
tipo
un
nuovo
tipo
di
blocchi
basati
su
proof-of-stake.
A
differenza
di
Bitcoin
la
catena
pi
lunga
non
considerata
quella
con
la
difficolt
complessiva
maggiore,
ma
piuttosto
quella
con
let
delle
monete
consumata
(vedi
sotto)
maggiore.
Inoltre
la
ricompensa
di
ogni
blocco
che
utilizza
la
proof-of-work
non
viene
dimezzata
appena
si
raggiunge
un
numero
predeterminato
di
blocchi,
ma
viene
diminuita
in
modo
continuo,
in
modo
che
la
ricompensa
si
dimezzi
quando
la
difficolt
aumenta
di
un
fattore
sedici.
La
proof-of-stake
si
basa
sul
concetto
di
et
della
moneta
(coin
age).
Let
di
una
somma
ottenuta
da
una
transazione
data
dal
prodotto
tra
il
valore
(cio
il
numero
di
monete)
di
quella
somma
per
il
tempo
trascorso
dalla
transazione
(cio
quanto
sono
vecchie
quelle
monete).
Ogni
utente
pu
cercare
la
proof-of-stake
di
qualsiasi
sua
somma
che
sia
pi
vecchia
di
trenta
giorni50.
Maggiore
let
delle
monete
(cio
la
somma
o
il
tempo
passato
dalla
transazione)
e
maggiori
sono
le
probabilit
di
risolvere
la
proof-of-stake.
Il
protocollo
aggiunge
per
un
limite
di
90
giorni
dopo
i
quali
le
monete
non
invecchiano
ulteriormente,
cio
et
=
valore
*
min(tempo,90
giorni).
Quando
una
proof-of-stake
risolta,
lutente
ottiene
come
ricompensa
l1%
della
somma
utilizzata,
che
viene
raccolta
dallutente
attraverso
una
transazione
speciale
(detta
coinstake)
che
trasmette
a
se
stesso
il
101%
dei
fondi
utilizzati.
Con
questa
transazione
let
della
moneta
viene
azzerata
(perch
stata
appena
ricevuta
da
una
transazione),
detto
anche
consumata,
e
dovr
re-iniziare
ad
invecchiare
per
poter
essere
utilizzata
di
nuovo
in
una
proof-of-stake.
Potremmo
paragonare
i
due
metodi
dicendo
che
la
proof-of-work
si
basa
su
una
dimostrazione
di
potenza
di
calcolo,
mentre
la
proof-of-stake
si
basa
su
una
dimostrazione
di
fiducia
nella
valuta
(poich
lutente
ha
investito
nella
valuta
un
grande
capitale
per
lungo
tempo).
50
Risolvere
una
proof
of
stake
nella
pratica
significa
trovare
un
nonce
giusto
per
unhash
contro
un
dato
target
come
nella
proof
of
work.
La
differenza
che
lo
spazio
di
ricerca
dei
noce
limitato
dallet
delle
monete
coinvolte.
Il
target
dipende
dallet
delle
monete
utilizzate
nella
proof
of
stake,
ed
aumenta
allaumentare
di
questa
et
rendendo
pi
facile
trovare
unhash
corretta
(cio
riducendo
la
difficolt).
142
A
causa
delluso
della
proof-of-stake
sono
create
l1%
di
nuove
monete
ogni
anno.
Questo
stato
deciso
dagli
sviluppatori
per
dare
a
Peercoin
uninflazione
controllata
e
stabile.
Le
transazioni
in
Peercoin
hanno
un
costo
di
commissione
fisso
e
pari
a
0,01
PPC.
Questa
commissione
per
non
viene
raccolta
dai
miner
ma
viene
invece
distrutta.
In
questo
modo
ogni
unit
del
valore
di
1
PPC
pu
essere
usata
massimo
cento
volte
prima
di
essere
distrutta.
Questo
serve
per
controllare
la
crescita
della
moneta,
infatti
la
distruzione
di
valore
causata
dalla
commissione
per
ogni
transazione
porta
il
numero
di
transazioni
a
diminuire,
diminuendo
quindi
let
delle
monete
consumata
nelle
transazioni
e
aumentando
cos
il
numero
di
monete
prodotte
come
ricompense
dalle
proof-of-stake.
Nellidea
degli
sviluppatori
le
commissioni
distrutte
e
linflazione
della
proof-of-stake
dovrebbero
bilanciarsi
a
vicenda
mantenendo
costante
il
valore
della
moneta.
5.1.3 Namecoin
Namecoin
[97,
98,
99]
nasce
nelAprile
del
2011.
Questa
valuta
era
la
quarta
valuta
digitale
per
capitalizzazione
allinizio
di
dicembre
2013
(57.632.949
$).
Oggi
invece
la
nona
valuta
digitale
in
assoluto
con
una
143
Lo
scopo
principale
della
valuta
di
rendere
internet
libero
dalla
censura.
Pi
che
come
valuta
Namecoin
quindi
utilizzato
come
DNS
decentralizzato,
ogni
utente
infatti
acquista
un
dominio
pagando
una
commissione
di
0,01
NMC.
Namecoin
introduce
tre
nuovi
tipi
di
transazioni:
name_new
per
creare
un
nuovo
nome,
con
costo
fisso
di
0,01NMC
;
name_firstupdate
che
permette
di
attivare
il
dominio
rendendolo
pubblicamente
visibile;
name_update
per
aggiornare
o
trasferire
(allindirizzo
namecoin
di
un
altro
utente)
un
dominio,
i
domini
infatti
possono
poi
essere
trasferiti
tra
gli
utenti
con
le
transazioni.
I
nuovi
domini
generati
utilizzano
il
TLD
(Top
Level
Domain)
.bit.
Questo
dominio
non
supportato
dai
server
DNS
tradizionali,
quindi
un
utente
che
vuole
risolvere
un
nome
deve
andare
a
cercarlo
nella
catena
dei
blocchi
di
Namecoin.
Da
Febbraio
2014
Firefox
ha
per
sviluppato
un
plug-in
che
permette
a
qualsiasi
utente
di
risolvere
un
nome
del
dominio
.bit
(scaricando
e
analizzando
la
catena
in
background).
5.1.4 Primecoin
Primecoin
[31,
94,
95,
96]
nasce
nel
luglio
del
2013.
Questa
valuta
era
la
quinta
valuta
digitale,
figlia
di
Bitcoin,
per
capitalizzazione
allinizio
di
dicembre
2013
(15.569.041
$).
Oggi
invece
ha
perso
molto
terreno
ed
la
sedicesima
valuta
digitale
in
assoluto
con
una
capitalizzazione
di
3.699.506
$.
Le
principali
modifiche
introdotte
da
Primecoin
consitono
nella
modifica
del
mining,
utilizzando
una
proof-of-work
diversa
che
permette
di
ottenere
vantaggi
laterali
con
le
computazioni
effettuate
per
risolverla.
La
ricompensa
di
ogni
blocco
variabile
e
la
difficolt
modificata
dopo
ogni
nuovo
blocco
per
permettere
di
estrarre
un
nuovo
blocco
in
media
ogni
minuto.
144
La
proof-of-wok
non
consiste
nel
trovare
un
nonce
per
unhash
sotto
un
determinato
target
come
in
Bitcoin,
ma
piuttosto
di
trovare
una
catena
di
numeri
primi.
Sono
accettate
le
catene
Cunnigham
del
primo
(pk+1
=
2pk
+
1)
e
secondo
tipo
(pk+1
=
2pk
-
1)
e
catene
bi-twin
(
(pk+1,qk+1)
=
(2t-1,2t+1)
dove
t=pk+1=qk-1
)
.
La
dimensione
dei
primi
utilizzati
nelle
catene
per
limitata
per
evitare
che
la
verifica
di
primalit
(probabilistica)
sia
troppo
onerosa
per
gli
utenti.
Per
collegare
una
catena
di
numeri
primi
ad
un
blocco
si
richiede
che
lorigine
della
catena51
sia
divisibile
per
lhash
dellintestazione
del
blocco.
Lhash
del
blocco
poi
calcolata
come
lhash
dellintestazione
del
blocco
concatenata
con
la
catena
risultato
della
proof-of-
work.
La
difficolt
della
proof-of-work
viene
aggiustata
aumentando
la
difficolt
della
catena
da
trovare
(e
la
difficolt
di
una
catena
aumenta
esponenzialmente
nella
sua
lunghezza),
ed
aggiustata
ad
ogni
blocco
(invece
che
ogni
2016
blocchi)
per
generare
in
media
un
nuovo
blocco
ogni
minuto.
La
difficolt
di
una
catena
di
numeri
primi
P1,
,
Pk
calcolata
come
k
+
(Pk+1
/
r
)
,
dove
Pk+1
il
successivo
numero
(non
necessariamente
primo)
della
catena
e
r
il
resto
del
test
di
primalit
di
Fermat
su
Pk+1.
La
ricompensa
per
ogni
blocco
variabile
ed
calcolata
come
999
/
(difficolt).
Il
vantaggio
principale
della
valuta
resta
il
fatto
di
utilizzare
una
proof-of-work
non
basata
su
funzioni
di
hash
e
di
produrre
risultati
matematicamente
importanti
come
effetto
laterale
del
mining
(le
catene
di
numeri
primi).
5.2 Ripple
Analizziamo
Ripple
[36,
100,
101]
come
esempio
popolare
di
valuta
digitale
alternativa
a
Bitcoin.
Il
nostro
scopo
non
analizzare
i
dettagli
del
protocollo,
ma
piuttosto
di
confrontare
le
sue
idee
di
base
con
quelle
alla
base
di
Bitcoin.
Come
Bitcoin,
Ripple
un
protocollo
distribuito
e
open
source
che
funziona
su
una
rete
peer
to
peer.
La
valuta
interna
di
Ripple
sono
i
ripples
(XRP)
ma
la
rete
funziona
utilizzando
51
Lorigine
di
una
catena
che
inizia
con
il
primo
P
P-1
nel
caso
di
catene
Cunnigham
del
primo
tipo,
P+1
per
catene
Cunnigham
del
secondo
tipo
e
p+1=q-1
per
catene
bi-twin
che
iniziino
con
la
coppia
(p,q).
145
anche
altre
valute
tradizionali,
digitali
o
qualsiasi
altra
unit
di
valore
che
gli
utenti
desiderano
scambiarsi.
Di
fatto
Ripple
pu
essere
considerato
un
servizio
di
cambio
distribuito
tanto
quanto
una
valuta
digitale.
Come
Bitcoin,
anche
Ripple
mantiene
un
database
distribuito
delle
transazioni,
ma
il
database
aggiornato
attraverso
una
tecnica
detta
di
consenso,
invece
che
attraverso
il
mining.
Questa
tecnica
molto
pi
veloce
(richiede
qualche
secondo
invece
di
dieci
minuti)
ed
economica
(non
richiede
investimenti
particolari
in
hardware,
n
consumo
aggiuntivo
di
energia
elettrica),
rispetto
al
mining
di
Bitcoin.
Per
entrare
a
far
parte
della
rete
Ripple
ogni
utente
deve
crearsi
un
nuovo
account
e
caricare
dei
fondi
su
quellaccount.
Per
poter
fare
questo
esistono
dei
nodi
particolari
chiamati
gateways.
Un
gateway
agisce
nella
rete
Ripple
come
una
banca
agisce
nel
mondo
reale,
ogni
utente
pu
depositare
fondi
reali
(cio
provenienti
dai
suoi
conti
bancari,
dai
suoi
indirizzi
Bitcoin
o
altro)
presso
un
gateway,
ed
ottenere
laccredito
di
quei
fondi
sul
suo
account
allinterno
della
rete
Ripple.
Per
accreditare
i
fondi
allutente,
il
gateway
si
limita
a
comunicare
il
deposito
alla
rete,
affinch
la
transazione
venga
aggiunta
nel
database
distribuito.
Allo
stesso
modo
dei
depositi
il
gateway
gestisce
anche
i
prelievi,
permettendo
allutente
di
ritirare
i
fondi
contenuti
nellaccount.
Sar
compito
del
gateway
comunicare
il
prelievo
alla
rete.
La
rete
Ripple
si
basa
su
rapporti
di
fiducia
tra
gli
utenti
(compresi
i
gateway).
Ogni
utente
pu
indicare
una
somma
massima
in
una
determinata
valuta
per
cui
si
fida
di
un
altro
utente
o
gateway.
Ogni
utente
pu
inoltre
accettare
cambi
allinterno
del
suo
account
specificando
il
tasso
di
cambio
tra
le
due
valute,
di
fatto
lutente
si
comporta
cos
come
un
servizio
di
cambio.
Ogni
utente
che
vuole
effettuare
una
transazione
con
un
altro
utente
si
limita
ad
inviare
il
valore
necessario
nella
valuta
che
preferisce.
Ripple
utilizza
poi
un
algoritmo
di
ricerca
del
cammino
ottimo
che
percorre
i
canali
di
fiducia
tra
i
vari
utenti
o
gateways
(senza
superare
i
limiti
fissati)
cercando
i
cambi
pi
favorevoli,
fino
ad
arrivare
al
destinatario
con
il
valore
pagato
convertito
nella
valuta
richiesta
dal
destinatario.
Quindi
il
pagamento
attraversa
numerosi
utenti
e
permette
cambi
di
valuta
distribuiti.
Se
un
utente
europeo
vuole
effettuare
una
transazione
con
un
utente
tailandese,
non
deve
preoccuparsi
del
cambio
n
della
distanza,
infatti
lalgoritmo
calcoler
il
cammino
ottimo
utilizzando
magari
alcuni
cambi
intermedi
(ad
esempio
da
EUR
a
USD
e
poi
da
USD
in
AUD
e
infine
da
dollari
146
australiani
in
valuta
tailandese).
I
nodi
intermedi
attraversati
dal
cammino
sono
semplici
utenti
che
hanno
specificato
i
propri
tassi
di
cambio
tra
valute
che
possiedono
e
sono
collegati
da
un
cammino
di
fiducia
con
entrambi
i
due
utenti
impegnati
nella
transazione.
Il
protocollo
introduce
la
nuova
valuta
ripple,
che
utilizzata
come
valuta
di
default
nella
rete
Ripple.
I
ripples
sono
pre-mined
cio
generati
gi
alla
nascita
del
protocollo.
Esistono
cento
miliardi
di
ripples
divisibili
fino
alla
sesta
cifra
decimale.
Come
abbiamo
gi
147
spiegato
gli
utenti
possono
usare
qualsiasi
valuta
nei
loro
depositi
e
non
sono
obbligati
ad
utilizzare
i
ripples
(anche
se
alcuni
nodi
potrebbero
utilizzarli
per
i
cambi
intermedi
durante
un
pagamento
di
qualsiasi
altro
utente).
Ogni
nuovo
utente
per
obbligato
a
depositare
sul
proprio
account
(spesso
acquistandoli)
almeno
25
XRP
per
poter
attivare
il
propri
account.
Di
questi
ripples,
20
XRP
devono
essere
sempre
presenti
nellaccount
come
riserva.
Questa
riserva
serve
per
proteggere
la
rete
da
attacchi
DDoS
che
riempiano
la
rete
di
false
transazioni
o
accounts
(aumentare
il
numero
di
accounts
pu
essere
una
forma
di
attacco
DoS
perch
aumenta
le
dimensioni
del
database
distribuito).
Infatti
ad
ogni
transazione
associata
una
commissione
di
0,00001
XRP
.
Questa
commissione
non
guadagnata
da
nessun
utente
e
i
ripples
che
contiene
sono
semplicemente
distrutti.
Limporto
della
commissione
aumentato
per
un
utente
che
crea
molte
transazioni
in
poco
tempo,
e
torna
al
valore
iniziale
solo
dopo
un
tempo
datteso
prefissato.
Questo
rende
costoso
per
un
attaccante
sia
creare
tanti
account
(perch
ognuno
ha
un
costo
minimo
di
20
XRP)
sia
inondare
la
rete
di
transazioni
(perch
i
costi
delle
commissioni
prosciugherebbero
in
fretta
la
riserva).
Gli
sviluppatori
ritengono
che
la
distruzione
di
valore
nelle
commissioni
non
influenzi
gli
utenti
onesti
grazie
al
suo
importo
limitato
quando
vengono
eseguite
transazioni
a
ritmi
normali.
La
valuta
interna
XRP
pre-generata
a
differenza
dei
bitcoins
che
devono
essere
estratti.
I
cento
miliardi
di
ripples
esistenti
erano
posseduti
in
origine
dai
fondatori
(e
loro
finanziatori)
che
hanno
dato
ottanta
miliardi
alla
societ
Ripple
Labs
(incaricata
di
mantenere
148
Osserviamo
come
Ripple
sia
usato
principalmente
per
le
sue
propriet
di
cambio
piuttosto
che
come
valuta.
Bitcoin
e
Ripple
possono
quindi
lavorare
ottimamente
insieme,
infatti
qualsiasi
utente
di
Bitcoin
pu
utilizzare
Ripple
per
pagare
in
una
qualsiasi
valuta
tradizionale
un
commerciante
che
non
accetta
bitcoins,
sar
la
rete
di
Ripple
ad
occuparsi
dei
cambi
necessari.
Ripple
permetterebbe
quindi
di
eliminare
la
necessit
di
servizi
di
cambio
in
Bitcoin,
eliminando
i
pericoli
di
utilizzare
questi
servizi.
Di
fatto
per
gli
stessi
siti
di
cambio
di
Bitcoin
diventano
oggi
sempre
pi
spesso
gateway
Ripple,
quindi
utilizzare
Ripple
permette
solo
di
spostare
la
fiducia
da
un
sito
di
cambi
ad
un
gateway,
ma
la
fiducia
comunque
necessaria.
149
Figura
5.1
Classifica
delle
principali
valute
digitali
per
capitalizzazione,
fonte
[88],
data
1
Aprile
2014.
Capitolo
6
Analisi
del
Grafo
degli
Utenti
Come
abbiamo
visto
nella
sezione
4.3.1,
possibile
applicare
tecniche
di
distruzione
dellanonimato
per
ottenere
un
grafo
degli
utenti
che
raggruppi
i
molti
indirizzi
di
ununica
entit
della
rete
Bitcoin
in
un
unico
nodo
(o
meglio
un
cluster
di
nodi)
con
gli
archi
rappresentanti
le
transazioni
tra
queste
entit.
Sono
stati
gi
effettuati
alcuni
studi
accademici
della
comunit
bitcoin
basati
su
queste
tecniche,
e
nel
seguito
mostreremo
i
risultati
dei
due
lavori
pi
interessanti
(secondo
il
modesto
parere
dellautore).
Successivamente
mostreremo
i
risultati
ottenuti
dallanalisi
del
grafo
degli
utenti
ottenuto
dallautore
stesso.
Il
primo
lavoro
che
analizziamo
lanalisi
effettuata
da
Ron
e
Shamir
in
[24]
basata
sui
dati
contenuti
nella
catena
dei
blocchi
fino
al
13
maggio
2012.
Lanalisi
inizia
ad
essere
datata
poich
allepoca
bitcoin
non
aveva
ancora
raggiunto
la
popolarit
odierna
e
non
aveva
ancora
sperimentato
la
crescita
del
2013.
Molti
aspetti
rivelati
per
da
quellanalisi
sono
utili
ancora
oggi
per
meglio
comprendere
il
fenomeno
bitcoin.
La
tecnica
utilizzata
dagli
autori
per
raggruppare
gli
indirizzi
in
cluster
utilizza
solo
la
prima
regola
euristica
spiegata
in
sezione
4.3.1
(tutti
gli
indirizzi
in
input
di
una
transazione
appartengono
allo
stesso
utente).
La
tecnica
utilizzata
molto
conservativa
(il
numero
di
falsi
positivi
irrilevante)
ma
non
molto
raffinata
(genera
cio
un
alto
numero
di
indirizzi
divisi
che
potrebbero
essere
correttamente
raggruppati
in
un
cluster
utilizzando
anche
altre
regole).
Quindi
i
risultati
ottenuti
vanno
considerati
come
una
sovrastima
della
realt.
Figura
6.1
Distribuzione
del
numero
di
indirizzi
per
utente,
fonte
[24]
152
Il
grafo
degli
utenti
ottenuto
contiene
2.460.814
utenti
distinti
di
cui
609.270
(cio
circa
il
25%
del
totale)
sono
singoli
indirizzi
che
hanno
solo
ricevuto
pagamenti
senza
mai
ritrasmettere
i
fondi.
Questi
utenti
sono
collegati
da
7.134.836
transazioni
singole
(le
transazioni
multi-output
vengono
divise
in
una
singola
transazione
per
ogni
output).
Figura
6.2
Distribuzione
del
massimo
numero
di
bitcoins
mai
posseduti
per
utente
e
indirizzo,
fonte
[24]
bitcoin
riflette
leconomia
reale,
con
molti
utenti
con
pochi
fondi
e
pochissimi
utenti
con
fondi
grandissimi.
Infatti
il
36%
degli
utenti
ha
ricevuto
meno
di
1
BTC,
il
52%
meno
di
10
BTC
e
l88%
meno
di
100
BTC
.
Questo
quadro
rafforzato
dallanalisi
del
massimo
numero
di
bitcoin
posseduto
mai
nella
storia
da
ogni
utente,
scoprendo
che
l88%
degli
utenti
ha
posseduto
al
massimo
100
BTC
.
Gli
autori
studiano
anche
il
numero
di
transazioni
in
cui
ogni
utente
stato
coinvolto
(ricevendo
o
inviando
fondi),
scoprendo
che
il
97%
degli
utenti
ha
partecipato
a
meno
di
dieci
transazioni.
Dalla
stessa
tabella
(Figura
6.1)
osserviamo
anche
come
non
sia
sempre
rispettata
la
regola
di
creare
un
nuovo
indirizzo
per
ogni
transazione,
infatti
solo
il
72%
degli
indirizzi
utilizzato
meno
di
quattro
volte.
Inoltre
il
73%
delle
transazioni
riguardano
importi
minori
di
10
BTC.
154
Figura 6.3 Distribuzione del numero di transazioni per utente e indirizzo, fonte [24]
Prima
di
costruire
il
grafo
degli
utenti
gli
autori
compiono
unanalisi
storica
dellevoluzione
delleconomia
bitcoin.
Prima
considerano
gli
importi
delle
transazioni
contenute
nei
blocchi
e
la
loro
evoluzione
nel
tempo.
155
Questo
grafico
rappresenta
bene
levoluzione
della
rete.
Infatti
in
origine
la
quasi
totalit
delle
transazioni
contenute
nei
blocchi
erano
transazioni
generatrici
che
contenevano
quindi
solo
le
50
BTC
della
ricompensa
di
allora.
Si
pu
cos
osservare
come
durante
tutto
il
primo
anno
di
utilizzo
gli
utenti
si
siano
limitati
a
generare
nuovi
bitcoins
senza
poi
utilizzarli.
Con
il
passare
del
tempo
gli
scambi
hanno
preso
sempre
pi
piede,
portando
le
transazioni
generatrici
a
ricoprire
sempre
meno
importanza.
Come
possiamo
vedere
la
progressione
temporale
porta
ad
un
90%
di
transazioni
con
importi
minori
di
50
BTC.
Questo
dato
consistente
con
lanalisi
di
Ron
e
Shamir
illustrata
in
precedenza
e
con
lingresso
di
nuovi
utenti
con
basso
potere
dacquisto
nella
rete.
Osserviamo
anche
una
percentuale
pari
al
40%
di
transazioni
di
valore
inferiore
ad
1
BTC.
Questo
aumento
di
cosiddette
micro-transazioni
pu
essere
spiegato
con
la
grande
diffusione
dei
siti
di
scommesse
e
dei
mining
pools
(oltre
chiaramente
allaumento
del
valore
dei
bitcoins).
Infatti
i
siti
di
scommesse
utilizzano
spesso
transazioni
di
importi
molto
piccoli,
ad
esempio
il
famoso
sito
Satoshi
Dice
paga
un
satoshi
(cio
10-8
BTC)
come
premio
di
consolazione
per
tutte
le
scommesse
perse.
Non
un
caso
che
Satoshi
Dice
abbia
iniziato
ad
operare
ad
aprile
del
2012,
e
proprio
in
quel
periodo
si
vede
nel
grafico
il
raddoppio
della
percentuale
di
transazioni
di
importi
minori
di
1
BTC,
ed
i
triplicarsi
della
percentuale
di
transazioni
di
importi
inferiori
a
0,1
BTC.
Ugualmente
i
mining
pools
utilizzano
tante
transazioni
di
piccola
entit
per
dividere
le
ricompense
tra
i
miners
della
pool,
e
con
il
passare
del
tempo
la
difficolt
aumentata
portando
allaumento
della
diffusione
dei
mining
pools.
Unaltra
analisi
interessante
riguarda
il
tempo
medio
che
passa
tra
il
ricevimento
e
linvio
dei
bitcoins.
Dal
grafico
possiamo
vedere
come
gli
utenti
iniziali
mettessero
da
parte
i
bitcoins
ottenuti,
immagazzinandole
come
riserve
in
degli
indirizzi
da
cui
non
sono
pi
uscite.
Questo
dato
compatibile
con
losservazione
fatta
nellanalisi
precedente
(vedi
sezione
6.1)
dove
mostravamo
come
i
primi
bitcoins
siano
state
immagazzinati
in
riserve
che
non
156
contribuiscono
alleconomia
reale
di
bitcoin.
Con
il
passare
del
tempo
il
trend
per
cambiato
e
recentemente
la
quasi
totalit
dei
bitcoins
ricevuti
sono
trasferiti
entro
un
mese
dalla
data
di
ricezione.
Questo
di
per
s
non
significa
che
entrino
a
far
parte
delleconomia
poich
potrebbero
essere
inviate
dagli
utenti
a
loro
stessi
per
aumentare
il
proprio
anonimato,
come
spiegato
nella
sezione
4.3.2
.
Di
certo
per
possiamo
concludere
che
la
maggior
parte
delle
riserve
sono
state
create
dagli
utenti
iniziali,
e
solo
una
parte
minore
viene
oggigiorno
sottratta
al
mercato
in
investimenti
di
lungo
periodo.
Inoltre
anche
in
questo
grafico
possiamo
osservare
leffetto
della
comparsa
di
Satoshi
Dice
ad
aprile
2013,
che
porta
allaumento
della
rapidit
delle
transazioni
(infatti
il
sito
trasmette
immediatamente
le
vincite
o
perdite
ai
giocatori).
Figura
6.5
Grafici
del
tempo
che
intercorre
tra
il
ricevimento
dei
fondi
in
un
indirizzo
ed
il
loro
successivo
re-invio.
Il
grafico
di
sinistra
rappresenta
la
percentuale
sul
numero
di
transazioni
e
quello
di
destra
la
percentuale
sul
valore
totale
delle
transazioni,
fonte
[20]
Gli
autori
analizzano
poi
il
grafo
degli
utenti
ottenuto.
Il
grafo
ha
3.383.904
utenti,
di
cui
2.197
possono
essere
associati
ad
identit
note.
Questo
significa
un
aumento
del
37,5%
del
numero
di
utenti
in
undici
mesi
rispetto
allanalisi
dellanno
precedente
(i
due
risultati
sono
ottenuti
con
euristiche
diverse
quindi
questa
percentuale
non
esatta
ma
solo
indicativa).
Grazie
al
grafo
possibile
calcolare
delle
statistiche
e
verificare
le
ipotesi
fatte
in
precedenza
su
Satoshi
Dice.
Questo
servizio
responsabile
da
solo
del
60%
delle
transazioni
giornaliere
dellintera
rete
bitcoin,
il
21%
delle
scommesse
fatte
hanno
limporto
minimo
accettato
dal
servizio,
pari
a
0,01
BTC.
Il
servizio
responsabile
in
media
per
il
40%
delle
transazioni
inviate
con
importo
miniore
di
0,1
BTC
e
per
circa
il
50%
delle
transazioni
inviate
entro
secondi
dalla
ricezione
dei
fondi
in
input.
Questi
dati
provano
le
ipotesi
fatte
in
precedenza
su
questo
servizio
di
scommesse.
Possiamo
inoltre
ottenere
nuove
informazioni
osservando
il
157
grafo.
Notiamo
ad
esempio
che
Satoshi
Dice
certamente
il
maggior
produttore
di
transazioni,
ma
non
il
servizio
che
raccoglie
maggior
valore
dalla
rete.
Possiamo
infatti
vedere
che
Mt.Gox
il
servizio
in
assoluto
che
detiene
la
maggior
parte
dei
fondi.
Allepoca
dellanalisi
infatti
non
si
erano
ancora
verificati
i
problemi
tecnici
e
giudiziari
che
porteranno
al
declino
dello
storico
servizio
di
cambi
(vedi
sezione
1.3).
Unaltra
importante
considerazione
che
possiamo
fare
riguarda
i
siti
di
commercio
on-line.
Non
possiamo
calcolare
dal
grafo
la
quantit
di
scambi
commerciali
(cio
pagamenti
per
beni
e
servizi)
che
avvengono
nelleconomia
bitcoin,
poich
non
conosciamo
lidentit
di
tutti
i
venditori
che
accettano
bitcoins,
n
possiamo
capire
quali
transazioni
tra
semplici
utenti
sono
da
considerarsi
commerciali.
Possiamo
per
considerare
limportanza
dei
servizi
famosi
di
commercio
in
bitcoins.
La
maggior
parte
dei
siti
o
commercianti
si
appoggiano
infatti
a
servizi
di
commercio
specializzati
per
poter
gestire
pagamenti
in
bitcoins.
Possiamo
quindi
approssimare
limportanza
delleconomia
reale
allinterno
delleconomia
bitcoin
con
limportanza
di
questi
siti
rispetto
agli
altri
servizi.
Dal
grafo
si
vede
come
i
servizi
pi
utilizzati
(per
capitali
utilizzati
e
non
per
transazioni
generate)
siano
i
servizi
di
cambio,
seguiti
a
distanza
dai
servizi
di
gestione
di
portafoglio
on-line.
Se
controlliamo
i
servizi
commerciali
notiamo
che
il
servizio
pi
popolare
Silk
Road.
Ignorando
Silk
Road
i
servizi
commerciali,
tra
cui
i
principali
sono
Bitpay
e
Bitmit,
ricoprono
unimportanza
di
mercato
inferiore
ai
mining
pools
(oltre
che
ai
servizi
di
cambio
e
portafoglio),
e
paragonabile
ai
servizi
di
scommesse.
Possiamo
quindi
concludere
come
il
commercio
rappresenti
una
piccola
percentuale
delleconomia
bitcoin,
ed
in
questa
piccola
percentuale
larga
parte
dei
beni
trattati
sono
di
natura
illegale.
Ricordiamo
comunque
che
questa
analisi
non
possiede
la
granularit
necessaria
a
considerare
il
commercio
al
dettaglio
(anche
se
i
negozi
nel
mondo
che
accettano
bitcoin
sono
un
numero
limitato)
o
tra
utenti
privati.
158
Figura
6.6
Grafo
degli
utenti
della
rete
bitcoin.
Larea
di
ogni
nodo
rappresenta
la
somma
dei
valori
in
ingresso
(cio
dei
bitcoins
ricevuti
da
altri
utenti),
ogni
arco
tra
due
nodi
rappresenta
duecento
transazioni
tra
quei
due
nodi.
I
nodi
sono
colorati
per
categoria:
blu
mining
pool;
arancione
servizi
di
cambio
senza
portafoglio;
viola
servizi
di
cambio
con
portafoglio;
verde
servizi
di
gestione
portafogli
on-line;
rosso
servizi
commerciali;
marrone
servizi
di
scommesse;
rosa
servizi
di
investimento;
grigio
non
classificati.
Fonte
[20]
Esponiamo
in
questa
sezione
lanalisi
personale
dellautore.
Lanalisi
si
basa
sui
dati
contenuti
nella
catena
dei
blocchi
fino
al
primo
febbraio
201452.
52
Pi
precisamente
lultima
transazione
considerata
ha
data:
Sat Feb 01 07:15:05 CET 2014.
159
La
tecnica
utilizzata
dallautore
per
raggruppare
gli
indirizzi
in
cluster
utilizza
la
prima
e
la
seconda
regola
euristica
spiegata
nella
sezione
4.3.1
(tutti
gli
indirizzi
in
input
di
una
transazione
appartengono
allo
stesso
utente;
lindirizzo
contenente
il
resto
di
una
transazione
appartiene
allo
stesso
proprietario
degli
indirizzi
di
input
di
quella
transazione).
In
particolare
utilizziamo
le
seguenti
regole
conservative
per
individuare
quali
indirizzi
siano
usati
come
resti:
Una
transazione
con
N
input
ed
M
output54
verr
scomposta
in
M
transazioni
con
un
unico
input,
scelto
tra
qualsiasi
indirizzo
degli
input
della
transazione
originale,
ed
un
unico
output,
uguale
allM-esimo
output
della
transazione
originale.
La
precedente
regola
corretta
poich
tutti
gli
input
della
transazione
multipla
saranno
raggruppati
in
un
unico
cluster
rappresentante
un
singolo
utente
(applicando
la
prima
regola
euristica),
quindi
otterremo
una
transazione
che
ha
quellutente
come
input
(poich
le
53
Poich
le
transazioni
generatrici
non
hanno
inputs.
transazioni
uniscono
utenti,
e
non
indirizzi,
nel
grafo
degli
utenti)
indipendentemente
dallindirizzo
scelto.
Possiamo
subito
confrontare
il
numero
di
utenti
trovato
con
il
numero
di
utenti
delle
due
analisi
precedenti.
Il
valore
aumentato
del
121,6%
in
otto
mesi
e
mezzo
rispetto
alla
seconda
analisi
e
del
204,7%
in
venti
mesi
e
mezzo
rispetto
alla
prima
analisi.
La
crescita
non
lineare
del
numero
di
utenti
dimostra
come
il
2013
sia
stato
lanno
della
svolta
per
bitcoin,
aggiungendo
allimpennata
dei
tassi
di
cambio
un
deciso
aumento
del
numero
di
utenti.
Come
abbiamo
gi
spiegato
in
precedenza,
ricordiamo
che
queste
percentuali
sono
solo
indicative
poich
il
numero
di
utenti
stato
ottenuto
con
euristiche
diverse
nelle
tre
analisi.
La
prima
analisi
ad
esempio
non
considera
per
nulla
i
resti
e
quindi
il
numero
di
utenti
trovato
rappresenta
di
certo
una
sovrastima
del
numero
di
utenti
trovato
nella
seconda
ed
attuale
analisi
(quindi
le
percentuali
di
crescita
potrebbero
essere
in
realt
pi
alte).
Per
avere
una
stima
pi
accurata
del
numero
di
utenti
abbiamo
quindi
salvato
il
numero
degli
utenti
in
diversi
punti
del
tempo
durante
la
costruzione
del
grafo,
ottenendo
il
seguente
risultato:
Numero
di
Utenti
8000000
7000000
6000000
5000000
4000000
3000000
2000000
1000000
0
Figura
6.7
-
Il
grafico
rappresenta
il
numero
di
utenti
nel
tempo.
Lasse
delle
ascisse
non
in
scala
poich
rappresenta
le
date
delle
misurazioni
effettuate
e
non
lo
scorrere
del
tempo.
Possiamo
notare
come
il
numero
di
utenti
trovato
nella
seconda
analisi
con
euristiche
simili
alle
nostre
sia
simile
al
numero
di
utenti
da
noi
trovato
per
quella
data,
mentre
il
numero
di
utenti
trovato
dalla
prima
analisi,
che
non
considera
i
resti,
sia
circa
il
doppio
dal
numero
da
161
noi
trovato
per
quella
data.
Questo
conferma
la
nostra
considerazione
sulla
sovrastima
introdotta
nella
prima
analisi.
Dal
grafico
si
pu
anche
notare
come
il
numero
di
utenti
sia
circa
raddoppiato
nel
corso
del
2012
mentre
quasi
raddoppiato
nel
corso
del
2013.
Figura
6.8
-
Tabella
con
il
numero
di
utenti
diviso
per
saldo
corrente
(in
BTC).
La
percentuale
del
numero
di
utenti
sul
numero
di
utenti
totale
calcolata
sui
i
soli
utenti
con
saldo
non
nullo.
Dalla
figura
si
nota
chiaramente
come
tantissimi
utenti
(5.425.042
utenti
pari
al
72,4%
del
totale)
abbiano
un
saldo
attuale
nullo.
Non
possiamo
per
concludere
che
questi
utenti
sono
utenti
storici
oggi
inattivi.
Questi
utenti
potrebbero
infatti
aver
speso
tutti
i
propri
fondi
ed
aver
abbandonato
leconomia
oppure
potrebbero
essere
semplicemente
in
attesa
di
ricevere
pagamenti
che
poi
trasformano
subito
in
valute
tradizionali
(azzerando
quindi
il
proprio
saldo
a
favore
dei
siti
di
cambio).
bene
ricordare
in
questa
sede
il
significato
ambiguo
del
termine
utente
utilizzato
nella
trattazione.
Per
utente
si
intende
semplicemente
un
cluster
di
indirizzi,
quindi
sappiamo
che
ogni
utente
governato
da
una
solo
entit,
ma
non
vale
il
contrario.
Ununica
entit
pu
cio
controllare
pi
di
un
utente.
Ricordiamo
inoltre
che
per
entit
non
si
intende
una
persona
fisica,
poich
sono
inclusi
anche
i
servizi
attivi
su
bitcoin,
e
unentit
che
rappresenta
un
servizio
pu
raggruppare
la
suo
interno
molte
persone
fisiche.
Si
162
pensi
ad
esempio
al
servizio
di
gestione
on-line
del
portafoglio
CoinBase
che
ha
annunciato
di
avere
superato
un
milione
e
trecentomila
iscritti
[75]
(quindi
un
singolo
utente
nel
grafo
raggrupperebbe
pi
di
un
milione
di
utenti
fisici).
Quindi
il
numero
di
persone
fisiche
allinterno
delleconomia
pu
essere
molto
diverso
dal
numero
di
utenti
con
saldo
non
nullo.
100%
90%
80%
>100.000
<100.001
70%
<10.001
60%
<1.001
50%
<101
40%
<11
30%
<6
20%
=2
10%
=
1
=
0
0%
Figura
6.9
-
Grafico
rappresentante
gli
utenti
divisi
per
saldo
corrente
(in
BTC)
e
numero
di
transazioni
(in
uscita).
Il
grafico
riporta
sulle
ascisse
il
saldo
corrente
posseduto
(con
intervalli
disgiunti,
cio
valori
non
cumulativi)
ed
ogni
barra
verticale
indica
le
percentuali
del
numero
di
utenti
con
quel
saldo
divisi
per
numero
di
transazioni.
Analizzando
la
Figura
6.9
possiamo
subito
caratterizzare
questi
utenti
con
saldo
nullo.
Gli
utenti
con
saldo
corrente
nullo
sono
infatti
rappresentati
dalla
prima
barra
a
sinistra.
Vediamo
subito
come
non
siano
presenti
utenti
con
zero
transazioni,
che
invece
sono
dominanti
in
tutti
gli
altri
gruppi
di
utenti.
Questo
corretto
poich,
per
avere
un
saldo
corrente
nullo
necessario
che
lutente
abbia
speso
tutti
i
propri
fondi
e
quindi
deve
per
forza
aver
eseguito
almeno
una
transazione
in
uscita
(cio
un
pagamento).
Il
10%
circa
degli
utenti
con
saldo
corrente
nullo
hanno
eseguito
una
sola
transazione.
Questo
suggerisce
che
siano
utenti
temporanei,
cio
indirizzi
utilizzati
solo
per
accumulare
fondi
per
poi
svuotarli
tutti
in
ununica
transazione.
Il
restante
90%
segue
una
distribuzione
del
numero
di
transazione
163
simile,
in
proporzione,
ai
gruppi
di
utenti
con
altri
saldi
(esclusi
gli
utenti
con
zero
transazioni),
e
quindi
potrebbero
essere
considerati
utenti
usciti
dalleconomia
o
in
attesa.
Osserviamo
come
sia
importante
per
la
protezione
del
proprio
anonimato
un
utilizzo
molto
dinamico
da
parte
degli
utenti
dei
propri
indirizzi.
Creare
spesso
nuovi
utenti
(cio
utilizzare
nuovi
indirizzi
non
collegati
ai
vecchi)
e
svuotare
ed
abbandonare
i
vecchi
indirizzi
(cio
i
vecchi
utenti)
aiuta
infatti
unentit
ad
aumentare
il
proprio
anonimato.
La
tecnica
consigliata
di
generare
un
nuovo
indirizzo
per
ogni
transazione
segue
questo
principio,
pu
essere
infatti
vista
come
creazione
di
un
nuovo
utente
per
ogni
transazione.
Nel
grafico
precedente
(Figura
6.9)
possiamo
anche
notare
come
prevalga
decisamente
un
numero
nullo
di
transazioni
tra
gli
utenti
con
saldi
positivi.
Un
numero
nullo
di
transazioni
indica
che
quellutente
ha
solo
ricevuto
fondi,
e
mai
spesi.
Potremmo
pensare
che
questi
utenti
siano
utenti
deposito
cio
utenti
i
cui
bitcoins
siano
stati
messi
da
parte,
ma
cos
non
.
Questi
utenti
comprendono
infatti
tutti
i
pagamenti
recenti
ad
utenti
che
non
hanno
ancora
avuto
il
tempo
di
spendere
i
fondi
ricevuti.
Cercheremo
di
distinguere
tra
fondi
messi
da
parte
e
fondi
troppo
recenti
per
essere
stati
ancora
spesi
pi
avanti
in
questa
sezione.
Dalla
figura
Figura
6.8
possiamo
vedere
come
leconomia
di
bitcoin
sia
molto
polarizzata,
come
leconomia
reale,
con
la
maggior
parte
degli
utenti
poveri
(87,62%
degli
utenti
con
saldo
positivo
possiedono
oggi
meno
di
1
BTC).
Questa
considerazione
simile
a
quella
che
avevamo
fatto
analizzando
la
Figura
6.2
nella
prima
analisi,
ma
con
unulteriore
polarizzazione.
A
causa
dellaumento
del
valore
di
un
singolo
bitcoin
e
del
numero
di
utenti,
si
abbassato
il
numero
di
bitcoins
posseduti
da
ciascun
utente.
Se
nel
2012
potevano
essere
considerati
poveri
quegli
utenti
con
meno
di
100
BTC,
oggi
la
soglia
di
povert
si
abbassata,
portando
a
considerare
poveri
gli
utenti
con
meno
di
1
BTC55.
Questo
rafforza
losservazione
degli
sviluppatori
che
prevedevano
che
allaumentare
del
valore
di
un
bitcoin
gli
utenti
si
sarebbero
adattati
utilizzando
frazioni
inferiori
di
bitcoins.
Osserviamo
per
come
allepoca
della
prima
analisi
non
ci
fosse
ancora
stata
lesplosone
di
popolarit
dei
servizi
di
scommesse
(vedi
ad
esempio
la
sezione
6.2).
Questi
servizi
lavorano
con
importi
molto
piccoli
e
possono
addirittura
creare
transazioni
contenenti
un
solo
satoshi
(come
nel
caso
del
premio
di
consolazione
del
servizio
di
scommesse
Satoshi
Dice).
Questa
enorme
mole
di
micro
55
Osserviamo
come
in
uneconomia
deflazionista
come
bitcoin
la
sogli
di
povert
si
abbassa
col
passare
del
tempo,
a
differenza
di
uneconomia
dominata
dallinflazione
in
cui
si
alza.
Osserviamo
inoltre
come
100
BTC
valessero
nel
2012
circa
500
USD,
mentre
alla
data
della
nostra
analisi
1
BTC
valesse
circa
800
USD.
164
pagamenti
ha
contribuito
alla
creazione
di
utenti
con
saldi
molto
piccoli
(ad
esempio
di
pochi
satoshi
per
i
giocatori
sfortunati)
influendo
sullabbassamento
medio
del
saldo
dei
singoli
utenti.
polvere
data
dagli
sviluppatori
come
qualsiasi
somma
inferiore
a
5430
satoshi,
abbiamo
escluso
gli
utenti
con
saldi
inferiori.
La
prima
osservazione
da
fare
che
gli
utenti
contenenti
solo
polvere
sono
circa
un
quarto
degli
utenti
con
saldo
positivo
(27%
circa),
portando
il
numero
di
utenti
con
saldi
spendibili
(cio
non
nulli
e
maggiori
o
uguali
a
5430
satoshi)
al
20,16%
del
numero
totale
di
utenti.
La
seconda
osservazione
che
la
distribuzione
della
ricchezza
non
cambia
significativamente,
dimostrando
come
la
polarizzazione
non
sia
dovuta
alla
polvere
ma
sia
intrinseca
nelleconomia.
La
figura
Figura
6.9
mostra
unistantanea
della
situazione
attuale
della
comunit,
ma
potrebbe
essere
pi
utile
unanalisi
storica
considerando
per
ogni
utente,
invece
del
saldo
corrente,
il
saldo
massimo
che
abbia
mai
posseduto
quellutente
durante
tutta
la
sua
storia.
I
risultati
sono
mostrati
in
figura
Figura
6.11.
Figura
6.11
-
Tabella
con
numero
e
percentuale
di
utenti
diviso
per
saldo
massimo
posseduto
(in
BTC).
Numero
di
Transazioni
Numero
Numero
di
Indirizzi
Numero
di
Utenti
di
Utenti
=
0
1699954
=
1
4692429
=
1
558310
=
2
1603833
=
2
2788219
Tra
3
e
5
compresi
797392
Tra
3
e
5
compresi
1469385
Tra
6
e
10
compresi
237679
Tra
6
e
10
compresi
508722
Tra
11
e
100
compresi
158969
Tra
11
e
100
compresi
430390
Tra
101
e
1.000
compresi
6468
Tra
101
e
1.000
compresi
38994
Tra
1.001
e
10.000
compresi
862
Tra
1.001
e
10.000
compresi
3436
Tra
10.001
e
100.000
compresi
65
Tra
10.001
e
100.000
compresi
264
Maggiore
di
100.000
1
Maggiore
di
100.000
24
Figura
6.12
-
Tabelle
con
numero
di
utenti
diviso
per
numero
di
indirizzi
posseduti
e
per
166
Se
analizziamo
il
numero
di
indirizzi
per
ogni
utente
otteniamo
la
tabella
in
Figura
6.12
a
sinistra.
Se
confrontiamo
questa
tabella
con
la
Figura
6.1
notiamo
una
chiara
analogia.
Il
95%
degli
utenti
utilizza
infatti
meno
di
cinque
indirizzi.
Questo
dato
deve
essere
mitigato
dalla
considerazione
che
la
maggior
parte
degli
utenti
incorrono
in
un
numero
molto
basso
di
transazioni
in
uscita
(basti
confrontare
le
prime
righe
delle
due
tabelle
in
Figura
6.12).
Rispetto
alla
Figura
6.1
notiamo
invece
un
netto
miglioramento
nel
numero
di
utenti
con
un
numero
di
indirizzi
elevato,
pi
di
7.000
utenti
hanno
pi
di
cento
indirizzi
(numero
di
utenti
aumentato
di
dieci
volte
rispetto
alla
Figura
6.1).
Questo
valore
potrebbe
significare
un
aumento
di
attenzione
nella
privacy
per
gli
utenti
da
pi
tempo
attivi
nelleconomia
o
con
flussi
di
transazioni
maggiori.
Un
uguale
analogia
pu
essere
notata
tra
il
numero
di
transazioni
per
utente
e
la
Figura
6.3.
Eseguiamo
adesso
una
serie
di
analisi
temporali
sul
grafo
degli
utenti.
Per
prima
cosa
cerchiamo
di
capire
se
sia
vantaggiosa
la
permanenza
nel
sistema.
Per
fare
questo
tracciamo
un
grafico
del
valore
corrente
posseduti
dagli
utenti
in
funzione
della
durata
della
loro
permanenza
nelleconomia.
Per
ogni
utente
consideriamo
quindi
il
numero
di
settimane
(per
difetto)
che
intercorrono
tra
le
date
della
sua
ultima
e
prima
transazione.
Sommiamo
poi
tutti
i
saldi
correnti
degli
utenti
con
lo
stesso
numero
di
settimane
ottenendo
la
figura
Figura
6.13.
1E+09
10000000
10000000
1000000
100000
10000
1000
100
10
1
0.1
0.01
0.001
-2
4
10
22
34
40
52
64
70
82
94
100
112
124
130
142
154
160
172
184
190
202
106
118
136
148
166
178
196
16
28
46
58
76
88
167
Figura
6.13
-
Grafico
rappresentante
il
saldo
corrente
in
funzione
del
periodo
dattivit.
Sulle
ascisse
indicato
il
numero
di
settimane
per
difetto
che
intercorre
tra
le
date
della
prima
e
dellultima
transazione
di
un
utente.
Sulle
ordinate
rappresentata
la
somma
(misurata
in
centesimi
di
bitcoin,
cio
come
multipli
di
0,01
BTC)
dei
saldi
correnti
di
tutti
gli
utenti
che
sono
rimasti
attivi
per
lo
stesso
numero
di
settimane,
in
scala
logaritmica.
Dal
grafico
si
osserva
come
la
maggioranza
dei
bitcoins
siano
mantenuti
in
utenti
con
una
permanenza
di
zero
settimane.
Questi
utenti
sono
gli
utenti
utilizzati
come
depositi
o
utenti
che
non
hanno
ancora
avuto
il
tempo
di
spendere
i
propri
bitcoins
di
cui
abbiamo
parlato
in
precedenza.
Il
grafico
mostra
poi
una
lenta
decrescita
(si
ricordi
che
la
scala
delle
ordinate
logaritmica)
del
saldo
corrente
posseduto
in
funzione
della
durata
della
vita
dellutente.
Saremmo
quindi
portati
a
concludere
che
la
permanenza
nelleconomia
non
sia
un
fattore
di
vantaggio
per
i
guadagni.
Questo
non
per
corretto.
Se
infatti
consideriamo
anche
il
numero
di
utenti
in
funzione
del
numero
di
settimane
di
attivit
(Figura
6.14),
notiamo
come
il
numero
di
utenti
in
un
dato
periodo
decresce
pi
rapidamente
del
saldo.
10000000
1000000
100000
10000
1000
100
10
1
1
7
13
19
25
31
37
43
49
55
61
67
73
79
85
91
97
103
109
115
121
127
133
139
145
151
157
163
169
175
181
187
193
199
Figura
6.14
-
Grafico
rappresentante
il
numero
di
utenti
in
funzione
del
periodo
dattivit.
Sulle
ascisse
indicato
il
numero
di
settimane
per
difetto
che
intercorre
tra
le
date
della
prima
e
dellultima
transazione
di
un
utente.
Le
ordinate
rappresentano
il
numero
di
utenti
che
sono
rimasti
attivi
per
lo
stesso
numero
di
settimane
in
scala
logaritmica.
Possiamo
quindi
riassumere
i
due
grafici
in
un
ultimo
grafico
che
mostri
il
saldo
corrente
medio
in
funzione
del
numero
di
settimane
di
attivit.
168
1000000
100000
10000
1000
100
10
0.1
1
15
22
29
43
50
57
64
71
85
92
99
113
120
127
134
141
155
162
169
183
190
197
8
36
78
106
148
176
Figura
6.15
-
Grafico
rappresentante
il
saldo
corrente
medio
in
funzione
del
periodo
di
attivit.
Sulle
ascisse
indicato
il
numero
di
settimane
per
difetto
che
intercorre
tra
le
date
della
prima
e
dellultima
transazione
di
un
utente.
Sulle
ordinate
rappresentato
il
rapporto
tra
la
somma
(misurata
in
centesimi
di
bitcoin,
cio
come
multipli
di
0,01
BTC)
dei
saldi
correnti
ed
il
numero
di
tutti
gli
utenti
che
sono
rimasti
attivi
per
quello
stesso
numero
di
settimane
in
scala
logaritmica.
Un
altro
modo
per
considerare
la
distribuzione
dei
saldi
correnti
degli
utenti
in
funzione
del
tempo
consiste
nellanalizzare
le
date
di
creazione
di
ogni
utente.
Per
data
di
creazione
di
un
utente
consideriamo
la
data
della
prima
transazione
a
suo
favore.
Questo
equivalente
a
considerare
come
data
di
creazione
di
un
utente
la
prima
apparizione
nella
catena
del
pi
vecchio
indirizzo
posseduto
dallutente.
169
40000000
35000000
30000000
25000000
20000000
15000000
10000000
5000000
0
Jan
03
2009
Sep
08
2012
Feb
28
2009
Jun 20 2009
Jan 30 2010
Sep 11 2010
Jan 01 2011
Jul
14
2012
Apr
25
2009
Nov 03 2012
Jun
15
2013
Aug
15
2009
Dec 05 2009
Jul 17 2010
Nov 06 2010
Feb 26 2011
Jun 18 2011
Jan
28
2012
Apr
23
2011
Aug 13 2011
Dec 03 2011
Dec
29
2012
Feb
23
2013
Apr
20
2013
Nov
30
2013
Jan
25
2014
Aug
10
2013
Oct
10
2009
Mar
27
2010
May
22
2010
Oct 08 2011
Mar
24
2012
May
19
2012
Oct
05
2013
Figura
6.16
-
Grafico
rappresentante
il
saldo
corrente
in
funzione
della
data
di
creazione.
Sulle
ascisse
rappresentato
il
tempo
(raggruppato
per
settimane)
e
sulle
ordinate
rappresentato
il
saldo
corrente
(misurato
in
centesimi
di
bitcoin,
cio
come
multipli
di
0,01
BTC)
degli
utenti
(raggruppati
in
somme
per
settimana).
Analizzando
il
grafico
ottenuto
possiamo
vedere
come
molti
utenti
con
data
di
creazione
molto
vecchia
possiedano
ancora
oggi
un
saldo
corrente
notevole,
ma
gli
utenti
pi
ricchi
sono
stati
creati
durante
le
due
bolle
di
prezzo
dellestate
del
2011
e
di
aprile
e
novembre
2013.
Invece
della
data
di
creazione
consideriamo
adesso
per
ogni
utente
la
data
dellultima
transazione
(in
uscita)
effettuata
dallutente.
Abbiamo
per
gi
osservato
come
molti
utenti
non
abbiano
transazioni
e
quindi
non
possiedono
una
data
di
ultima
transazione.
Continuiamo
quindi
a
considerare,
solo
per
questi
utenti,
la
semplice
data
di
creazione.
Costruiamo
il
grafico
dei
saldi
correnti
degli
utenti
in
funzione
della
data
della
loro
ultima
transazione
(se
presente),
ottenendo
la
figura
Figura
6.17.
170
40000000
35000000
30000000
25000000
20000000
15000000
10000000
5000000
0
Sep
12
2009
Sep
25
2010
Jan
03
2009
Jul 11 2009
Nov
14
2009
Jan
16
2010
Jul 24 2010
Nov
27
2010
Jan
29
2011
Apr
02
2011
Jun
04
2011
Aug
06
2011
Dec
10
2011
Feb
11
2012
Apr
14
2012
Jun
16
2012
Aug
18
2012
Dec
22
2012
Feb
23
2013
Apr
27
2013
Jun
29
2013
Aug
31
2013
Nov
02
2013
Jan
04
2014
Mar
07
2009
May
09
2009
Mar
20
2010
May
22
2010
Oct 08 2011
Oct
20
2012
Figura
6.17
-
Grafico
rappresentante
il
saldo
corrente
in
funzione
della
data
dellultima
transazione
effettuata.
Sulle
ascisse
rappresentato
il
tempo
(raggruppato
per
settimane)
e
sulle
ordinate
rappresentata
il
saldo
corrente
(misurato
in
centesimi
di
bitcoin,
cio
come
multipli
di
0,01
BTC)
degli
utenti
(raggruppati
in
somme
per
settimana).
Per
gli
utenti
senza
transazioni
(in
uscita)
consideriamo
la
data
di
creazione
invece
della
data
dellultima
transazione
effettuata
(che
non
esiste).
Possiamo
facilmente
vedere
la
stessa
tendenza
del
precedente
grafico
(Figura
6.16),
ma
con
un
marcato
spostamento
dei
fondi
verso
date
pi
recenti.
Dal
grafico
possiamo
vedere
anche
come
unalta
percentuale
dei
fondi
appartenga
ad
utenti
attivi
(o
creati)
negli
ultimi
sei
mesi.
Dal
grafico
si
distinguono
distintamente
le
tre
bolle
(2011
e
aprile
e
novembre
2013).
Poich
il
grafico
rappresenta
il
saldo
attuale
in
funzione
della
data
dellultima
transazione
effettuata
allora
i
picchi
(del
2011
e
aprile
2013)
rappresentano
fondi
che
non
si
sono
pi
mossi
dal
tempo
della
bolla.
Possiamo
quindi
ipotizzare
che
questi
fondi
rappresentino
i
capitali
speculativi
immessi
nelleconomia
ai
tempi
della
bolle.
Andiamo
adesso
a
cercare
di
valutare
la
quantit
di
bitcoins
persi
o
messi
da
parte.
Per
fare
questo
consideriamo
la
data
di
cessazione
di
attivit
di
ogni
utente.
Consideriamo
come
data
di
cessazione
di
attivit
di
un
utente
la
data
dellultima
transazione
effettuata
dallutente
oppure
la
data
di
creazione
per
quegli
utenti
che
non
hanno
effettuato
nessuna
transazione
(in
uscita).
Il
grafico
risultante
mostrato
in
figura.
171
14000000
12000000
10000000
8000000
6000000
4000000
2000000
0
Jan
03
2009
Sep
08
2012
Feb
28
2009
Jun 20 2009
Jan 30 2010
Sep 11 2010
Jul
14
2012
Apr
25
2009
Nov 03 2012
Jun
15
2013
Aug
15
2009
Dec 05 2009
Jul 17 2010
Nov
06
2010
Jan
01
2011
Feb
26
2011
Jun 18 2011
Jan
28
2012
Apr
23
2011
Aug 13 2011
Dec 03 2011
Dec
29
2012
Feb
23
2013
Apr
20
2013
Nov
30
2013
Jan
25
2014
Aug
10
2013
Oct
10
2009
Mar
27
2010
May
22
2010
Oct 08 2011
Mar
24
2012
May
19
2012
Oct
05
2013
Figura
6.18
-
Grafico
rappresentante
il
saldo
corrente
cumulativo
in
funzione
della
data
dellultima
transazione
effettuata.
Sulle
ascisse
rappresentato
il
tempo
(raggruppato
per
settimane)
e
sulle
ordinate
rappresentata
la
somma
dei
saldi
correnti
(in
BTC)
degli
utenti
con
data
dellultima
transazione
inferiore
alla
data
considerata.
Per
gli
utenti
senza
transazioni
(in
uscita)
consideriamo
la
data
di
creazione
invece
della
data
dellultima
transazione
effettuata
(che
non
esiste).
Per
stimare
il
numero
di
bitcoins
persi
dobbiamo
decidere
una
data
oltre
la
quale
gli
utenti
sono
considerati
perduti.
Ricordiamo
che
comunque
non
esiste
in
bitcoin
nessuna
differenza
tra
una
somma
perduta
(cio
irrecuperabile
a
causa
della
perdita
della
chiave
privata
dellindirizzo
che
la
contiene)
e
dormiente
(cio
non
utilizzata
da
lungo
tempo
dal
proprietario
ma
da
lui
utilizzabile
in
qualsiasi
momento).
Abbiamo
numerose
date
possibili
da
scegliere
come
soglia,
ma
la
data
pi
conservativa
certamente
luglio
2011,
poich
la
data
di
inizio
attivit
del
primo
servizio
di
cambi
Mt.Gox.
Immaginiamo
che
qualsiasi
utente
che
non
volesse
tenere
i
suoi
bitcoins
li
avrebbe
venduti
presso
lo
scambio
od
utilizzati
in
seguito.
Quindi
se
i
bitcoins
si
sono
mossi
per
lultima
volta
prima
della
nascita
del
servizio
li
considereremo
persi.
Questa
stima
includerebbe
quasi
certamente
anche
i
bitcoins
di
Satoshi
Nakamoto,
che
sarebbero
quindi
etichettati
come
persi.
Questo
in
principio
non
sbagliato
se
immaginiamo
che
Satoshi
continui
a
non
utilizzarli
per
preservare
il
proprio
anonimato
(e
172
quindi
non
partecipano
alleconomia
esattamente
come
quelli
persi).
Considerando
quindi
la
soglia
del
primo
luglio
2010
otterremmo
1.520.094,55
BTC
persi
(cio
pi
del
12%
del
totale
di
bitcoin
disponibili
alla
data
dellanalisi).
Chiaramente
allaumentare
della
data
soglia
aumentiamo
il
numero
di
falsi
positivi
(cio
considerare
come
persi
bitcoins
in
realt
solo
dormienti),
aumentando
il
numero
di
bitcoins
perse
quasi
linearmente
(come
si
vede
dal
grafico).
Possiamo
quindi
utilizzare
la
Figura
6.18
come
strumento
per
stimare
il
numero
di
bitcoins
persi
al
variare
della
data
soglia.
Se
ad
esempio
considerassimo
la
data
dellesplosione
della
prima
bolla
come
soglia
(quindi
consideriamo
come
perduti
tutti
gli
utenti
inattivi
dopo
lotto
luglio
2011)
otterremmo
2.979.084,73
BTC
perdute
(cio
una
bitcoin
su
quattro
risulterebbe
oggi
perduto).
Come
abbiamo
ricordato,
non
posiamo
sapere
se
questi
bitcoin
inattivi
siano
davvero
stati
perduti
o
siano
semplicemente
stati
messi
da
parte
in
attesa
di
un
utilizzo
futuro.
Ci
che
sappiamo
per
che
questi
bitcoins
sono
mantenuti
inattivi
da
molto
tempo
e
quindi
sottratti
alleconomia.
Questo
diminuisce
la
liquidit
nel
sistema,
rendendo
i
bitcoins
attivi
ancora
pi
scarsi
e
quindi
danneggiando
leconomia
reale
a
favore
della
speculazione.
Capitolo
7
Prospettive
Future
7.1 Economia
56
bene
ricordare
durante
la
lettura
del
capitolo
la
differenza
tra
Bitcoin
(regole
del
protocollo)
e
bitcoin
Analizziamo
adesso
il
grafico
del
tasso
di
cambio
tra
USD
e
BTC
per
cercare
di
comprendere
le
improvvise
salite
o
discese
del
valore.
Figura 7.1 Grafo in scala logaritmica del tasso di cambio tra BTC e USD
La
storia
di
Bitcoin
ha
visto
lesplosione
di
almeno
tre
bolle
speculative.
Una
bolla
nasce
quando
la
domanda
di
un
bene
supera
lofferta.
Il
numero
di
bitcoins
disponibili
per
lacquisto
limitato
e
quindi
un
aumento
della
domanda
provoca
un
aumento
dei
prezzi.
Ma
pi
che
i
prezzi
aumentano
e
pi
che
gli
utenti
sono
incentivati
a
tenersi
i
propri
bitcoins
piuttosto
che
venderli.
Questo
diminuisce
ulteriormente
la
quantit
di
bitcoin
in
circolazione
aumentandone
ancora
il
prezzo.
La
crescita
del
prezzo
sale
fino
a
che
non
cala
la
domanda,
per
un
calo
di
interesse
o
perch
il
prezzo
diventa
troppo
alto.
A
questo
punto
il
prezzo
inizia
a
scendere.
Gli
utenti
che
avevano
trattenuto
i
propri
bitcoins
per
venderli
quando
il
prezzo
sarebbe
salito
iniziano
a
venderli
tutti
insieme
per
ottenere
il
profitto
maggiore
prima
che
il
prezzo
scenda
ancora.
Questo
non
fa
altro
che
innescare
una
caduta
precipitosa
dei
prezzi,
pi
i
prezzi
scendono
e
pi
utenti
cercheranno
di
vendere
i
loro
bitcoins
prima
che
il
prezzo
scenda
ulteriormente.
In
questo
caso
si
dice
che
la
bolla
scoppiata.
Dopo
che
il
prezzo
sceso
abbastanza
gli
utenti
esterni
vedono
conveniente
investire
in
bitcoins
e
quindi
iniziano
a
comprarli,
arrestando
il
crollo
dei
prezzi
e
portando
ad
una
nuova
risalita.
Il
prezzo
pu
a
questo
punto
stabilizzarsi
su
un
valore
stabile
(che
rappresenta
il
giusto
equilibrio
tra
domanda
e
offerta)
o
pu
ricominciare
a
salire
iniziando
una
nuova
bolla.
Durante
il
2012
il
prezzo
dei
bitcoins
era
salito
stabilmente
portando
il
2013
ad
iniziare
con
un
bitcoin
del
valore
di
circa
quindici
dollari.
Il
prezzo
inizi
per
a
salire
175
rapidamente
fino
ad
arrivare
a
valere
50
$
nella
met
di
marzo.
Lundici
ed
il
diciotto
marzo
si
verificarono
per
due
eventi
importanti
(vedi
sezione
1.3.3).
Il
primo
evento
fu
la
biforcazione
della
catena.
La
sua
rapida
soluzione
scongiur
il
peggio
e,
dopo
il
panico
momentaneo,
il
valore
ritorn
sui
50$
in
poche
ore.
Una
settimana
dopo
il
FinCEN
rilasci
il
suo
comunicato.
Il
comunicato
imponeva
nuovi
obblighi
per
i
siti
di
cambio
ed
alcuni
miner
e
quindi
si
potrebbe
pensare
che
le
nuove
regole
avrebbero
portato
ad
una
diminuzione
di
valore
ma
invece
ottenne
leffetto
contrario.
Per
anni
gli
utenti
normali
(cio
non
tecnicamente
esperti
o
libertari
convinti)
avevano
diffidato
di
Bitcoin
temendo
di
commettere
azioni
illegali
partecipando
alla
sua
economia.
Leffetto
della
regolamentazione
del
FinCEN
dissolse
il
velo
di
illegalit
e
mistero
che
circondava
la
valuta,
permettendo
lingresso
di
nuovi
investitori
e
semplici
utenti.
Il
prezzo
inizi
quindi
a
salire
vertiginosamente
fino
allundici
aprile
quando
raggiunse
la
vetta
dei
266$
per
bitcoin.
A
questo
punto
il
prezzo
era
sufficientemente
alto
da
non
incoraggiare
nuovi
investitori
a
comprare
e
da
spingere
i
proprietari
di
bitcoins
a
venderli
per
incassare
il
guadagno.
La
bolla
cos
esplose
riportando
il
valore
poco
sotto
i
cento
dollari.
Il
prezzo
ebbe
grandi
sussulti
continuando
a
salire
e
scendere
nellincertezza
per
tutta
lestate
del
2013.
In
autunno
ci
fu
un
nuovo
crollo
a
seguito
della
chiusura
di
Silk
Road
il
due
ottobre.
Il
prezzo
per
inizi
a
salire
gi
da
met
del
mese
fino
ad
arrivare
al
nuovo
record
assoluto,
finora
imbattuto,
di
1250$
per
bitcoin
alla
fine
di
novembre.
La
bolla
esplose
riportando
il
prezzo
sui
600$
per
poi
continuare
a
salire
e
scendere
oscillando
tra
cinquecento
e
mille
dollari
fino
a
gennaio
2014,
quando
si
stabilizz
sugli
800$
per
tutto
il
mese.
Lundici
febbraio
la
rete
fu
paralizzata
da
un
massiccio
attacco
DDoS
(vedi
sezione
1.3.3)
che
port
alla
chiusura
temporanea
di
molti
siti
di
cambio,
portando
il
tasso
di
cambio
ad
una
rapida
discesa.
Il
valore
continu
lentamente
a
scendere
fino
al
colpo
di
grazia
ricevuto
alla
fine
del
mese.
Il
28
febbraio
2014
Mt.Gox
dichiar
bancarotta
in
Giappone
portando
ad
un
immediato
crollo
del
prezzo.
Il
valore
risal
per
improvvisamente
allinizio
di
marzo
fino
a
quasi
700$
per
poi
scendere
durante
il
mese
fino
a
500$
per
bitcoin.
Cerchiamo
quindi
di
capire
come
si
creino
le
bolle
di
bitcoin
e
chi
siano
gli
investitori
che
immettono
capitali
nella
sua
economia.
Analizziamo
adesso
le
cause
della
bolla
di
aprile
2013.
Abbiamo
gi
mostrato
alcune
motivazioni
della
crescita
esponenziale
del
prezzo
iniziata
a
marzo,
ma
adottiamo
ora
uno
sguardo
pi
ampio.
Il
sedici
marzo
la
Commissione
Europea,
la
BCE
e
il
Fondo
Monetario
Internazionale
offrirono
a
Cipro
dieci
miliardi
di
euro
per
salvarsi
dalla
bancarotta
a
condizione
che
eseguisse
un
prelievo
forzoso
sui
depositi
bancari
nazionali.
Fu
stabilito
un
prelievo
del
6,7%
sui
depositi
fino
a
centomila
euro
e
del
9,9%
su
depositi
176
maggiori.
La
notizia
fu
uno
shock
per
tutti
i
cittadini
europei
dei
paesi
considerati
a
rischio
a
causa
del
debito
elevato.
Anche
in
Italia
si
sprecarono
i
commenti
sulleccezionalit
della
misura
e
sulla
possibilit
che
fosse
applicata
anche
nel
bel
paese.
A
Cipro
nel
frattempo
si
scaten
il
panico
con
i
bancomat
e
le
banche
chiuse
ed
i
cittadini
impossibilitati
a
prelievi
per
pagare
la
benzina
o
gli
alimenti.
La
faccenda
si
risolse
tre
giorni
dopo
quando
il
parlamento
cipriota
rigett
la
proposta
del
governo
ed
il
venticinque
marzo
fu
raggiunto
un
nuovo
accordo
senza
prelievi
forzosi.
Non
solo
a
Cipro
ma
anche
in
Spagna,
Grecia
e
Italia
i
cittadini
si
erano
improvvisamente
resi
conto
che
i
propri
risparmi
erano
a
rischio,
come
fare
per
proteggerli?
Unimprovvisa
crescita
nel
numero
di
download
di
applicazioni
per
iPhone
dedicate
a
Bitcoin,
pare
suggerire
che
i
bitcoins
fossero
ritenuti
un
nuovo
bene
rifugio
dagli
europei
preoccupati.
Figura
7.2
Tabella
del
ranking
di
download
per
nazione
dellapp
finanziaria
per
iPhone
BitCoin
Gold
,
fonte
[50]
diventare
il
primo
sito
di
cambi
mondiale
per
volume
delle
transazioni.
La
grande
diffusione
di
bitcoin
in
Cina
non
sfugg
per
alle
autorit
cinesi
che
proibirono
lutilizzo
di
bitcoins
in
banche
ed
istituzioni
finanziarie
il
tre
di
dicembre,
proprio
allapice
della
bolla
speculativa.
Questo
aiut
certamente
lesplosione
della
bolla.
Abbiamo
pi
volte
ricordato
come
bitcoin
sia
molto
suscettibile
alla
popolarit
che
riscuote.
Questo
concetto
ben
espresso
dalla
Figura
7.3
in
cui
confrontiamo
la
popolarit
di
bitcoin
su
google
con
il
numero
di
download
del
client
ufficiale
e
con
il
tasso
di
cambio
con
il
dollaro
statunitense57.
80
60
40
20
0
14-12-05
18-1-07
28-4-07
6-8-07
14-11-07
28-3-09
6-7-09
14-10-09
22-1-10
2-5-10
10-8-10
10-10-06
18-12-08
2-7-06
1-6-08
9-9-08
24-3-06
22-2-08
Figura
7.3
grafico
del
valore
fornito
da
Google
Trend
per
il
termine
bitcoin
e
del
numero
normalizzato
di
download
del
client
ufficiale,
messi
a
confronto
con
il
tasso
di
cambio
in
USD
normalizzato
(rispetto
al
tasso
di
cambio
lasse
delle
ordinate
rappresenta
decine
di
bitcoins
cio
multipli
di
10
BTC)
Dal
grafico
si
pu
vedere
come
ci
sia
unimpennata
del
numero
di
ricerche
contenenti
il
termine
bitcoin
in
precedenza
(e
concomitanza)
delle
grandi
bolle
di
prezzo.
Stesso
andamento
si
riscontra
nel
numero
di
download
del
client
ufficiale
Bitcoin.
Questo
dimostra
57
Lidea
del
confronto
tratta
da
[56].
178
quanto
leconomia
bitcoin
sia
suscettibile
alla
popolarit
momentanea.
E
prova
anche
come
lentit
delleconomia
reale
sottostante
sia
molto
debole
rispetto
alla
speculazione
ed
allingresso
improvviso
di
nuovi
capitali.
7.1.2 Volatilit
Lincredibile
volatilit
della
valuta
uno
dei
principali
difetti
evidenziati
dai
suoi
detrattori.
Per
dare
unidea
possiamo
paragonarla
alle
valute
tradizionali:
la
volatilit
media
(negli
ultimi
tre
anni)
di
bitcoin
stata
pari
al
120%,
con
picchi
che
sono
arrivati
fino
al
400%.
Le
valute
tradizionali
dei
paesi
sviluppati
hanno
avuto
invece
in
media
(negli
ultimi
tre
anni)
una
volatilit
media
dell8%
(con
picchi
del
16
%),
mentre
una
valuta
dei
paesi
in
via
di
sviluppo
ha
una
volatilit
media
pari
al
9%
(con
massimi
del
20%).
Per
trovare
una
valuta
con
la
stessa
volatilit
di
bitcoin
dobbiamo
guardare
alla
bancarotta
dellArgentina
del
2002,
durante
cui
il
peso
argentino
raggiunse
per
alcune
settimane
il
120%
di
volatilit58.
La
volatilit
per
un
valuta
un
problema.
Una
moneta
deve
infatti
possedere
le
propriet
di
servire
come
mezzo
di
scambi,
unit
di
valore
e
deposito
di
valore.
Ma
se
il
prezzo
troppo
volatile
allora
la
moneta
non
un
affidabile
deposito
di
valore.
Infatti
un
abbassamento
del
50%
del
valore
in
uno
o
due
giorni
porterebbe
ogni
utente
a
perdere
la
met
del
valore
del
proprio
patrimonio.
anche
difficile
utilizzare
una
valuta
instabile
come
mezzo
di
scambi.
Infatti
i
commercianti
devono
costantemente
aggiustare
i
prezzi
in
base
allultimo
cambio.
Inoltre
se
non
scambiano
subito
i
bitcoins
ricevuti
in
pagamento
per
valuta
tradizionale
allora
potrebbero
poi
trovarsi
con
un
valore
molto
diverso,
al
momento
del
cambio,
dal
prezzo
pagato,
trasformando
il
commerciante
in
uno
speculatore
involontario
(con
effettivi
guadagni
o
perdite).
In
altre
parole
possiamo
dire
che
non
possibile
prevedere
un
potere
dacquisto
ragionevole
per
la
moneta
quindi
non
pu
essere
efficientemente
utilizzata
per
gli
scambi.
Lalta
volatilit
si
trasforma
in
termini
economici
in
un
costo
aggiuntivo
delluso
della
valuta.
Se
pensiamo
a
bitcoin
come
mezzo
di
scambi,
sembrerebbe
vantaggioso
grazie
ai
costi
delle
commissioni
molto
minori
delle
alternative
(vedi
sezione
7.4).
In
realt
per
dobbiamo
aggiungere
i
costi
dei
rischi
propri
di
bitcoin,
come
lelevata
volatilit,
lostilit
dei
governi,
eventuali
nuove
tasse
imposte
sulle
transazioni
ed
il
costo
di
rischio
associato
alluso
dei
siti
58
Fonte
[44].
179
di
cambio.
Infatti
per
la
maggior
parte
degli
utenti
troppo
costoso
diventare
un
miner,
quindi
lunica
soluzione
per
ottenere
bitcoins
(e
quindi
poterli
spendere)
di
acquistarli,
in
cambio
di
beni
o
servizi
se
si
un
commerciante,
o
presso
un
servizio
di
cambio
altrimenti.
Acquistare
bitcoins
in
questo
modo
comporta
per
un
rischio,
infatti
lutente
deve
fidarsi
del
servizio
senza
nessuna
garanzia.
Un
servizio
di
cambi
non
protetto
e
regolamentato
come
le
banche
tradizionali,
quindi
il
rischio
maggiore,
come
dimostrano
i
numerosi
furti
o
fallimenti
di
servizi
storici
(vedi
sezione
1.3).
In
[15]
gli
autori
dimostrano
come
il
volume
di
scambi
giornaliero
di
un
servizio
di
cambio
sia
positivamente
correlato
sia
alla
durata
di
vita
del
servizio,
che
alla
probabilit
di
un
attacco.
Quindi
un
utente
dovrebbe
scegliere
di
utilizzare
uno
scambio
popolare
per
avere
pi
stabilit,
aumentando
per
la
probabilit
di
un
furto
(come
ragionevole
aspettarsi,
poich
i
ladri
avranno
guadagni
maggiori
nel
derubare
servizi
con
capitali
maggiori).
7.1.3 Deflazione
59
Lunione
di
scarsit
ed
utilit
genera
aumento
dei
prezzi.
180
Figura
7.4
Valore
alla
fine
del
2013,
di
cento
dollari
investiti
ad
inizio
anno,
fonte
[103]
181
Di
fatto
non
pu
essere
negato
che
il
successo
di
bitcoin
sia
in
larga
parte
guidato
dalla
speculazione.
Forbes
ha
pubblicato
un
articolo
[103]
per
comparare
i
migliori
investimenti
del
2013,
e
bitcoin
si
conferma
come
il
migliore,
con
un
guadagno
62,5
volte
maggiore
di
un
investimento
nelloro
o
33
volte
superiore
di
un
investimento
in
azioni
di
Google,
con
un
profitto
dellinvestimento
del
5.000%
.
7.1.4 Capitalizzazione
Un
altro
modo
per
vedere
le
potenzialit
di
bitcoin
considerare
quali
settori
potrebbe
60
Dato
riferito
ad
aprile
2014.
61
Fonte
[44].
182
dominare
nel
futuro.
Abbiamo
a
lungo
spiegato
come
il
migliore
utilizzo
di
bitcoin
sia
come
mezzo
di
scambi
(grazie
alle
bassissime
commissioni).
Se
consideriamo
quindi
la
capitalizzazione
odierna
delle
maggiori
societ
che
forniscono
sistemi
di
pagamento
elettronico
o
servizi
collegati
possiamo
vedere
quale
sia
la
capitalizzazione
della
fetta
di
mercato
che
potrebbe
essere
conquistata
da
bitcoin.
Vedendo
la
tabella
notiamo
come
la
conquista
di
bitcoin
di
un
consistente
fetta
di
questo
mercato
potrebbe
portarlo
ad
una
capitalizzazione
molto
maggiore
di
quella
odierna
(se
ad
esempio
ottenesse
il
20%
del
mercato
avrebbe
una
capitalizzazione
di
circa
quarantotto
miliardi
di
dollari).
Figura
7.5
Capitalizzazione
dei
maggiori
servizi
di
pagamento
elettronico
espressa
in
miliardi
di
dollari
USD,
fonte
[104]
Confrontiamo
ora
la
capitalizzazione
di
bitcoin
con
quella
delle
borse
dei
paesi
del
mondo.
Mostriamo
quindi
nella
seguente
tabella
la
lista
di
alcune
borse
mondiali,
da
cui
possiamo
vedere
come
bitcoin
sia
molto
lontano
dalle
economie
pi
sviluppate
ma
resta
indietro
anche
rispetto
ad
economie
pi
deboli,
come
la
Nigeria
o
la
Croazia.
Per
il
semplice
fatto
che
la
capitalizzazione
di
bitcoin
in
soli
tre
anni
sia
diventata
maggiore
di
quella
dei
mercati
azionari
di
alcuni
paesi
del
mondo
dimostra
le
enormi
potenzialit
di
bitcoin
e
delle
valute
digitali
in
genere.
183
Figura
7.6
Capitalizzazione
in
USD
delle
borse
di
alcuni
paesi,
si
noti
come
la
capitalizzazione
di
bitcoin
(circa
6.000.000.000
$)
superi
oggi
gi
alcuni
paesi,
fonte
[105]
184
7.2 Scalabilit
Bitcoin
si
propone
di
diventare
la
nuova
valuta
per
gli
scambi
globali.
In
questa
sezione
non
cerchiamo
di
capire
se
accadr,
ma
piuttosto
se
sia
teoricamente
possibile.
Cerchiamo
infatti
di
dimostrare
se
la
rete
sufficientemente
scalabile
da
sostenere
un
livello
di
traffico
globale.
Calcoliamo
innanzitutto
i
limiti
teorici.
Le
chiavi
private
in
Bitcoin
sono
numeri
di
256
bit,
quindi
il
numero
totale
di
chiavi
possibili
2256.
Questo
non
per
anche
il
numero
di
indirizzi
possibili,
infatti
le
chiavi
pubbliche
corrispondenti
di
512
bit
vengono
compresse
dalle
hash
in
un
indirizzo
di
160
bit.
Quindi
il
numero
totale
di
indirizzi
possibili62
pari
a
2160.
Il
numero
reale
di
indirizzi
possibili
poi
ancora
minore
per
la
possibilit
di
collisioni
della
funzione
hash,
per
il
paradosso
del
compleanno
ci
saranno
comunque
collisioni
gi
tra
280
indirizzi.
Consideriamo
quindi
280
come
numero
possibile
di
indirizzi
distinti
ed
ipotizziamo
che
ogni
utente
dopo
la
generazione
di
un
nuovo
indirizzo
controlli
che
non
sia
gi
presente
nella
catena.
Se
consideriamo
una
popolazione
futura
di
dieci
miliardi
di
individui,
allora
ogni
persona
sul
pianeta
avrebbe
a
disposizione
280/1010
=
1,21
x
1014
indirizzi
diversi.
Possiamo
quindi
concludere
che
il
numero
di
indirizzi
disponibili
non
sia
un
problema
(sotto
le
nostre
ipotesi
sul
numero
di
collisioni).
62
Il
numero
di
indirizzi
possibili
anche
il
numero
di
chiavi
possibili,
poich
teoricamente
possono
esistere
due
coppie
diverse
di
chiavi
pubblica
e
privata
che
hanno
lo
stesso
indirizzo,
ma
i
pagamenti
sarebbero
indirizzati
allindirizzo
unico
e
quindi
le
due
coppie
sarebbero
indistinguibili
dagli
altri
utenti.
185
63
Questo
dato
calcolato
come
media
di
sette
giorni
di
osservazioni
dal
21/3/2014
al
28/3/2014,
fonte
[106].
186
Figura
7.8
Numero
di
transazioni
giornaliere
e
loro
volume
in
USD
dei
principali
metodi
di
pagamento
elettronico,
fonte
[106]
Ipotizziamo
quindi
che
Bitcoin
diventi
nel
breve
futuro
il
metodo
di
pagamento
pi
diffuso,
ponendoci
lobbiettivo
di
gestire
4.000
transazioni
al
secondo
(cio
il
numero
di
transazioni
gestito
oggi
da
Visa
e
Mastercard
messe
insieme).
Ipotizziamo
che
una
transazione
sia
in
media
0,5
kbyte
con
due
input
per
transazione64,
e
ipotizziamo
che
le
dimensioni
non
varino
nel
breve
futuro.
Le
transazioni
infatti
aumentano
di
dimensioni
soprattutto
se
aumenta
il
numero
di
input
o
output
medi
per
ogni
transazione,
ma
non
c
motivo
per
cui
questi
due
valori
dovrebbero
aumentare
allaumentare
della
popolarit
di
Bitcoin.
Analizziamo
quindi
gli
effetti
di
4.000
transazioni
al
secondo
su
CPU,
rete
e
memoria.
Osserviamo
per
prima
che
la
rete
futura
di
Bitcoin
sar
diversa
dalla
rete
pensata
nel
2009
in
cui
ogni
utente
era
custode
e
miner
della
catena.
Oggi
gli
utenti
sono
sempre
pi
specializzati,
cio
divisi
in
tre
categorie:
utenti
pesanti,
utenti
leggeri
e
miners.
Gli
utenti
pesanti
sono
quegli
utenti
che
possiedono
la
catena
completa
ed
eseguono
le
normali
regole
e
verifiche
del
protocollo,
questi
nodi
hanno
bisogno
di
hardware
accessibili
ma
potenti
(ad
esempio
processori
quad
core
e
RAM
da
8
GB)
e
connessioni
a
banda
larga.
Gli
utenti
leggeri
sono
invece
la
maggioranza
degli
utenti
che
utilizzano
Bitcoin
come
mezzo
di
pagamento
quotidiano
senza
conoscere
(e
spesso
senza
voler
conoscere)
il
suo
funzionamento.
Questi
utenti
si
fidano
dellonest
della
maggioranza
dei
nodi
pesanti
ed
utilizzano
la
verifica
di
pagamento
semplificata
(vedi
sezione
2.5)e
la
tecnica
di
pagamento
veloce
(vedi
sezione
64
Come
avviene
oggigiorno.
187
4.2.1).
Questi
nodi
leggeri
possono
essere
gestiti
da
dispositivi
con
risorse
limitate
come
computer
di
fascia
economica
o
dispositivi
portatili,
senza
bisogno
di
potenza
di
calcolo
o
di
banda
speciali.
I
miners
infine
sono
nodi
a
parte
che
utilizzano
hardware
dedicati
appositamente
costruiti
per
il
mining
e
banda
elevata
per
ascoltare
le
transazioni
dalla
rete
e
comunicare
i
propri
blocchi.
Nel
breve
futuro
queste
distinzioni
saranno
sempre
pi
marcate.
probabile
inoltre
che
assisteremo
ad
una
grande
crescita
del
numero
di
nodi
leggeri,
infatti
allaumentare
della
popolarit
entreranno
nel
sistema
sempre
pi
persone
comuni
(cio
senza
conoscenze
tecniche
del
protocollo),
che
vorranno
poter
partecipare
alleconomia
Bitcoin
senza
dover
comprare
dispositivi
costosi.
Di
seguito
quindi
considereremo
le
risorse
necessarie
per
un
nodo
pesante
per
gestire
il
pieno
protocollo,
ricordando
come
queste
risorse
non
siano
richieste
per
il
grande
pubblico
di
nodi
leggeri.
La
rete
deve
avere
una
banda
sufficiente
a
inoltrare
4.000
transazioni
al
secondo,
quindi
(4.000*512)/(1024*1024)
=
1,95
Mbyte
al
secondo,
e
quindi
1,95*8=15,6
Mbit/s
.
Questa
banda
gi
disponibile
oggi
e
sar
sempre
pi
comune
nel
breve
futuro.
Questa
banda
va
raddoppiata
se
si
considera
anche
il
tempo
di
trasmissione
dei
blocchi,
in
media
ogni
dieci
minuti.
Ricordiamo
comunque
che
questa
banda
non
necessaria
per
i
nodi
leggeri
che
utilizzano
la
verifica
di
pagamento
semplificata.
Il
costo
maggiore
per
la
CPU
di
un
nodo
Bitcoin
rappresentato
dal
calcolo
delle
hash
e
dalla
verifica
delle
firme.
RIPEMD-160
e
SHA-256
sono
eseguiti
a
circa
100
Mbyte/s
.
Se
abbiamo
4.000
transazioni
al
secondo,
ognuna
in
media
grande
512
byte
allora
avremo
4.000*512
=
2.048.000
byte
=
1,95
Mbyte
di
dati
al
secondo,
quindi
le
hash
verrebbero
calcolate
in
circa
venti
millisecondi.
Su
un
quad
core
Intel
Core
i7-2670QM
2,2
Ghz
sono
verificabili
8.000
firme
al
secondo65
(utilizzando
OpenSSL),
poich
ogni
transazione
ha
in
media
due
input
possiamo
oggi
verificare
in
media
le
firme
di
4.000
transazioni
al
secondo.
Se
abbiamo
un
numero
di
transazioni
al
secondo
maggiore
di
4.000
allora
il
numero
di
firme
verificabili
al
secondo
pu
essere
aumentato
utilizzando
algoritmi
di
verifica
alternativi
a
OpenSSL
ottenendo
20.000
o
anche
80.000
verifiche
al
secondo.
Abbiamo
quindi
visto
come
i
processori
commerciali
di
fascia
alta
di
oggi
siano
gi
capaci
di
gestire
un
elevato
volume
di
65
Fonte
[84].
188
transazioni
(controllando
le
firme
e
calcolando
le
hash),
nel
breve
futuro,
grazie
allaumento
della
potenza
di
calcolo,
saranno
disponibili
processori
ancora
pi
potenti
a
prezzi
accessibili,
quindi
un
nodo
pesante
non
avr
problemi
di
potenza
di
calcolo.
Abbiamo
quindi
dimostrato
come
la
rete
bitcoin
possa
scalare
nel
breve
futuro
per
gestire
flussi
di
transazioni
paragonabili
a
quelli
gestiti
oggi
dai
due
principali
servizi
di
trasferimenti
elettronici
(Visa
e
Mastercard).
Bitcoin
spesso
stato
accusato
di
sprecare
elettricit
per
la
validazione
dei
blocchi,
e
produrre
inquinamento
inutilmente.
Gli
sviluppatori
si
difendono
con
questa
frase
[102]:
Bitcoin
mining
is
a
waste
of
energy
and
harmful
for
ecology,
no
more
than
the
wastefulness
of
mining
gold
out
of
the
ground,
melting
it
down
and
shaping
it
into
bars,
and
then
putting
it
back
underground
again.
Unanalisi
imparziale
dei
costi
di
mining
pu
per
essere
fatta
solo
valutando
i
suoi
benefici.
Poich
il
mining
necessario
per
rendere
sicura
la
valuta
e
crearne
di
nuova,
possiamo
analizzare
i
suoi
costi
paragonandolo
ai
costi
per
creare
e
rendere
sicure
altre
valute.
Vorremmo
quindi
confrontare
i
costi
del
mining
con
i
costi
delle
valute
tradizionali,
ed
in
particolare
del
dollaro.
Lanalisi
dovrebbe
tenere
conto
del
costo
complessivo
per
la
creazione
e
mantenimento
di
tutti
i
dollari
in
monete,
banconote
e
virtuali
(che
sono
la
grande
maggioranza
del
totale).
Dovremmo
poi
confrontare
il
volume
delle
transazioni
in
dollari
con
quelli
in
bitcoin
ed
analizzare
tutti
i
costi
durante
lintera
durata
di
vita
di
ogni
dollaro66.
Questa
analisi
va
oltre
gli
scopi
di
questa
tesi,
quindi
ci
limiteremo
al
pi
semplice
confronto
del
solo
costo
di
produzione
annuale
di
bitcoins
e
dollari
in
banconote
per
scoprire
lentit
dei
costi
coinvolti.
66
Sappiamo
gi
che
la
durata
di
vita
di
un
bitcoin
eterna
(ipotizzando
che
non
sia
perso)
ed
i
suoi
costi
di
mantenimento
sono
gli
stessi
costi
di
mantenimento
dellintera
rete,
cio
il
costo
del
mining.
190
Figura
7.9
Stima
della
Federal
Reserve
del
numero
di
banconote
dei
diversi
tagli
da
stampare
nel
2014,
fonte
[107]
Osserviamo
come
circa
il
90%
di
queste
nuove
banconote
serva
a
rimpiazzare
vecchie
banconote
non
pi
adatte
alla
circolazione
(perch
troppo
logore
o
danneggiate).
Vediamo
adesso
il
costo
per
stampare
le
singole
banconote:
Figura
7.10
Stima
della
Federal
Reserve
del
costo
delle
banconote
dei
diversi
tagli
da
stampare
nel
2014,
fonte
[107]
Infine
mostriamo
la
tabella
della
Federal
Reserve
con
i
dati
sul
costo
atteso
della
creazione
e
distribuzione
di
queste
nuove
banconote:
191
Figura
7.11
Stima
della
Federal
Reserve
del
costo
della
produzione
di
nuove
banconote
e
dei
servizi
collegati
nel
2014,
fonte
[107]
Figura
7.12
Grafico
del
costo
e
volume
della
produzione
di
banconote
della
Federal
Reserve,
negli
anni.
Si
nota
come
il
costo
aumenti
nonostante
la
diminuzione
del
numero
di
banconote
stampate,
fonte
[107]
192
Figura 7.13 Tabella delle caratteristiche del dispositivo ASIC trattato, fonte [108]
Adesso
guardiamo
la
capacit
di
hash
utilizzata
dall'intera
rete
che
alla
data
del
28/3/2014
pari
a
45.547.307
Ghash/s
.
Figura
7.14
Grafico
rappresentante
lhashrate
della
rete
bitcoin
in
miliardi
di
hash
al
secondo,
fonte
[109]
Calcoliamo
quindi
il
numero
di
dispositivi
del
tipo
scelto
per
ottenere
questa
potenza
di
calcolo,
ottenendo
45.547.307/2.800
=16.267
dispositivi.
Considerando
che
ogni
dispositivo
193
ha
una
vita
media
di
due
anni,
allora
ogni
anno
il
mining
coster
in
hardware
16.267*9.100
/
2=
74.014.850
$67.
Calcoliamo
ora
il
costo
per
il
consumo
di
energia
elettrica.
Ogni
dispositivo
consuma
1.680
Watts,
quindi
il
consumo
totale
sar
di
16.267*1680
=
27.328.560
Watts.
Quindi
l'intero
processo
di
mining
consumerebbe
circa
656
MWh
al
giorno.
Poich
i
miner
possono
operare
da
qualsiasi
parte
del
mondo
e
sono
entit
razionali
ragionevole
pensare
che
saranno
dislocati
nelle
aree
del
pianeta
dove
l'energia
pi
economica.
Se
controlliamo
il
costo
dell'energia
in
vari
paesi
del
mondo
(vedi
[113])
possiamo
vedere
come
in
ucraina
l'energia
costasse
nel
2011
meno
di
0,04
$/kWh
,
mentre
in
Danimarca
costava
ben
0,4038
$/kWh.
Possiamo
prendere
come
paese
di
riferimento
un
paese
famoso
per
la
disponibilit
d'energia
rinnovabile
economica
come
l'Islanda
che
ha
un
prezzo
medio
di
0,095
$/kWh
(nell'ultimo
dato
disponibile
risalente
al
giugno
2012).
Il
costo
totale
giornaliero
per
l'energia
sarebbe
quindi
pari
a
656.000*0,095
=
62.320
$
al
giorno,
e
quindi
in
media
22.746.800
$
all'anno.
Osserviamo
come
queste
stime
non
prendano
in
considerazione
n
l'hardware
pi
conveniente
n
i
paesi
energeticamente
pi
convenienti,
ma
piuttosto
mirino
ad
ottenere
delle
stime
ragionevoli
se
i
miner
fossero
razionali
ma
pur
sempre
umani68.
Il
costo
totale
annuale
pu
quindi
essere
calcolato
come
la
somma
dei
costi
di
hardware
ed
elettricit
annuali,
ottenendo
96.761.650
$
.
67
Chiaramente
dobbiamo
ipotizzare
che
il
prezzo
resti
costante,
come
invece
non
succederebbe
nella
realt
data
una
cos
alta
richiesta.
Ovviamente
la
nostra
trattazione
solo
teorica
e
utilizziamo
quel
dispositivo
solo
come
riferimento,
nella
realt
i
miners
potrebbero
acquistare
al
suo
posto
dispositivi
diversi
ma
con
analoghi
costi
e
prestazioni.
68
Con
questo
intendiamo
dire
che
il
costo
non
ottimo
ma
comunque
ragionevole.
194
7.3.3 Confronto
Figura
7.15
Tabella
comparativa
dei
costi
di
produzione
e
valore
rappresentato
annuali
di
bitcoins
e
dollari.
Lefficienza
rappresenta
il
rapporto
tra
il
valore
prodotto
ed
il
costo
necessario
a
produrlo
Per
efficienza
si
intende
il
rapporto
tra
il
valore
annuale
della
valuta
ed
il
suo
costo
annuale
di
produzione.
L'efficienza
indica
quindi
la
quantit
di
valore
prodotto
per
unit
di
costo
sostenuto
(indipendente
dal
reale
utilizzo,
cio
numero
di
transazioni,
per
unit
di
valuta).
Dalla
tabella
si
vede
come
oggi
annualmente
pi
costoso
creare
dollari
che
bitcoins,
ma
i
dollari
sono
rappresentazioni
pi
efficienti
di
valore.
bene
ricordare
che
in
tutta
la
precedente
trattazione
abbiamo
utilizzato
il
termine
valore
per
intendere
valore
rappresentato.
Stampare
dollari
non
crea
nuovo
valore
in
s
ma
moneta,
cio
nuove
unit
di
rappresentazione
di
valore.
Possiamo
quindi
concludere
come
(ai
dati
attuali)
il
mining
sia
effettivamente
proporzionalmente
pi
costoso
di
una
valuta
tradizionale
per
quanto
riguarda
il
costo
di
produzione
di
nuova
valuta.
Il
costo
dellenergia
per
pari
a
circa
un
quarto
del
costo
totale.
corso
dellanno
2012.
Chiaramente
questi
valori
sono
solo
indicativi
ma
possono
aiutare
a
mettere
in
prospettiva
il
consumo
energetico
della
rete
bitcoin.
Abbiamo
studiato
leffettivo
grado
di
decentralizzazione
della
rete
nella
sezione
sui
problemi
del
mining
(vedi
sezione
4.1)
e
abbiamo
studiato
leffettivo
grado
di
privacy
offerto
da
bitcoin
nella
sezione
4.3.
Vediamo
quindi
in
questa
sezione
se
la
promessa
di
commissioni
basse
pu
essere
rispettata
dal
protocollo.
196
Osserviamo
per
prima
che
in
alcuni
paesi
del
mondo
la
diffusione
dei
pagamenti
elettronici
ancora
limitata
nonostante
limpegno
dei
governi.
I
sostenitori
di
bitcoin
ritengono
per
che
possieda
anche
le
propriet
necessarie
per
il
suo
utilizzo
al
posto
del
contante.
Questo
non
vero,
infatti
Bitcoin
possiede
la
propriet
di
irreversibilit
dei
pagamenti,
ma
manca
delle
propriet
di
non
tracciabilit
e
anonimato,
come
spiegato
nella
sezione
4.3
e
sezione
1.1.2.
transazioni di un giorno69.
Figura
7.17
Grafico
della
somma
delle
commissioni
di
tutte
le
transazioni
giornaliere,
fonte
[110]
Otteniamo
come
somma
degli
importi
delle
transazioni
giornaliere
una
media
di
11,43
BTC
.
Abbiamo
gi
mostrato
in
precedenza
come
lattuale
numero
medio
di
transazioni
giornaliere
sia
pari
a
55.287.
Possiamo
quindi
calcolare
che
ogni
transazione
paga
in
media
una
commissione
di
11,43/55.287
=
0,0002
BTC
.
Se
consideriamo
il
volume
medio70
totale
in
uscita
delle
transazioni
giornaliero
(cio
la
somma
di
tutti
gli
output
contenuti
nelle
transazioni
di
un
giorno)
otteniamo
587.193
BTC71
.
Quindi
il
costo
percentuale
delle
commissioni
pari
a
0,0019
%
.
Se
consideriamo
che
i
costi
di
commissione
medi
per
i
tradizionali
metodi
di
pagamento
elettronico
vanno
dall1%
al
4%
(vedi
[53])
possiamo
vedere
il
grande
vantaggio
economico
dellutilizzo
di
bitcoin
come
mezzo
di
pagamento
(soprattutto
per
micro-pagamenti
di
importi
limitati
in
cui
le
commissioni
dei
servizi
tradizionali
in
valore
assoluto
sarebbero
economicamente
proibitive).
69
Questo
dato
calcolato
come
media
di
sette
giorni
di
osservazioni
dal
21/3/2014
al
28/3/2014,
fonte
[110].
Vediamo
comunque
dal
grafico
come
il
valore
sia
consistente
con
la
storia
recente.
70
Questo
dato
calcolato
come
media
di
sette
giorni
di
osservazioni
dal
21/3/2014
al
28/3/2014,
fonte
[111].
71
Sarebbe
possibile
ottenere
una
stima
pi
accurata
non
considerando
i
resti
contenuti
negli
output.
Come
abbiamo
visto
nella
sezione
3.3.1,
questo
per
non
facile.
Se
ci
affidiamo
al
servizio
offerto
da
[112]
otterremmo
un
valore
medio
giornaliero
esclusi
i
resti
pari
a
100.131,5
BTC.
Utilizzando
questo
valore
otterremmo
quindi
un
costo
delle
commissioni
comunque
molto
basso
e
pari
circa
allo
0,011%
.
198
Figura 7.18 Grafico della somma degli output di tutte le transazioni giornaliere, fonte [111]
Anno < 2017 < 2021 < 2025 < 2029 < 2033
Figura
7.19
Tabella
rappresentante
il
valore
in
dollari
dei
bitcoins
prodotti
annualmente
al
cambio
attuale,
ed
il
rapporto
tra
guadagni
e
costi
delle
sole
ricompense
del
mining
Il
mining
rester
vantaggioso,
e
quindi
praticato,
finch
il
rapporto
tra
guadagni
e
costi
sar
maggiore
di
uno72.
Quindi,
sotto
le
nostre
semplici
ipotesi,
gi
nel
2029
il
valore
delle
72
In
realt
questo
rapporto
dovr
essere
strettamente
maggiore
di
uno
per
permettere
ai
miner
di
guadagnare
199
ricompense
non
sar
pi
sufficiente
da
solo
a
sostenere
il
mining.
Servirebbero
almeno
altri
96.761.650
82.125.000
=
15.636.650
$
.
Se
consideriamo
che
il
valore
medio
giornaliero
delle
ricompense
rester
costante,
allora
in
un
anno
la
somma
delle
ricompense
giornaliere
sar
in
media
pari
a
11,43
*
365
=
4.171,95
BTC,
cio
2.085.975
$
al
cambio
attuale,
insufficiente
a
ripagare
i
miners.
Poich
15.636.650
/
2.085.975
=
7,5,
per
arrivare
alla
parit
avremo
bisogno
di
ricompense
sette
volte
e
mezza
superiori.
Questo
valore
aumenterebbe
fino
ad
arrivare
al
limite
del
2140
in
cui
le
sole
commissioni
dovranno
finanziare
il
mining,
arrivando
a
96.761.650
$
/
365
=
265.100
$
giornalieri
necessari
in
commissioni,
ossia
commissioni
46,473
volte
superiori
a
quelle
odierne.
Abbiamo
visto
nella
sezione
6.2
che
il
numero
di
utenti
di
bitcoin
cresciuto
circa
del
40%
dal
2012
al
2013.
Se
consideriamo
questa
crescita
come
un
fattore
eccezionale
dovuto
alla
popolarit
improvvisa
del
protocollo,
possiamo
prudentemente
stimare
come
incremento
medio
annuale
il
15%.
Nel
2029,
cio
tra
quindici
anni
da
adesso,
il
numero
di
utenti
sar
quindi
cresciuto
di
circa
otto
volte
(813,7%).
Se
ipotizziamo
che
il
numero
di
transazioni
giornaliere
sia
direttamente
proporzionale
al
numero
di
utenti
allora
anche
il
numero
di
transazioni
giornaliere
aumenter
di
otto
volte.
Questo
vuol
dire
che
aumenter
anche
il
numero
di
commissioni
di
otto
volte,
quindi
limporto
delle
commissioni
non
deve
aumentare
affatto
ma
addirittura
leggermente
diminuire,
poich
il
valore
totale
delle
commissioni
deve
aumentare
di
7,5
volte
mentre
il
loro
numero
aumenter
di
8,1
volte.
Per
rendere
allo
stesso
modo
il
mining
sostenibile
nel
2140
sarebbe
sufficiente
che
il
numero
di
utenti
sar
allora
almeno
cinquanta
volte
il
numero
di
utenti
odierni,
cio
dovrebbero
esistere
3.383.904*50
=
169.195.200
utenti.
Se
ipotizziamo
una
popolazione
(sottostimata)
mondiale
costante
di
dieci
miliardi
di
individui,
allora
basterebbe
che
l1,69%
della
popolazione
mondiale
utilizzasse
bitcoin
per
far
in
modo
di
mantenere
le
commissioni
al
valore
attuale.
Chiaramente
se
bitcoin
sar
ancora
usato
nel
2140,
dovr
per
forza
aver
avuto
unampia
diffusione,
quindi
il
traguardo
dell1,69%
sarebbe
dal
mining
(e
quindi
incentivarli
a
continuare),
piuttosto
che
ripagare
semplicemente
le
spese.
Se
adoperiamo
la
convenzione
economica
di
considerare
un
guadagno
pari
al
20%
,
allora
dovremmo
considerare
il
mining
conveniente
se
rapporto
tra
guadagni
e
costi
fosse
maggiore
di
circa
1,2.
Noi
per
non
possiamo
prevedere
quale
limite
di
guadagno
si
imponga
ogni
miner
per
considerare
linvestimento
vantaggioso,
quindi
ci
limitiamo
a
considerare
il
limite
razionale
(per
quanto
piccolo,
un
guadagno
sempre
vantaggioso).
73
Tutti
questi
calcoli
sono
fatti
con
il
cambio
attuale
che
certamente
non
sar
pi
valido
tra
pi
di
un
secolo.
Noi
per
utilizziamo
il
cambio
solo
come
valore
indicativo,
infatti
abbiamo
iniziato
la
discussione
con
lipotesi
che
il
rapporto
tra
il
valore
dei
bitcoins
(ma
non
il
loro
numero)
ed
i
costi
di
mining
restino
costanti,
quindi
in
futuro
il
costo
di
mining
potr
essere
molto
maggiore
ma
lo
sar
in
uguale
proporzione
anche
il
valore
dei
bitcoins
e
quindi
delle
commissioni,
rendendo
valido
il
risultato
ottenuto.
200
facilmente raggiunto.
Utilizzando
lipotesi
del
rapporto
costante
tra
valore
(ma
non
numero)
e
costo
di
estrazione
dei
bitcoins
e
della
crescita
moderata
della
diffusione
di
bitcoin,
abbiamo
dimostrato
come
le
commissioni
in
futuro
saranno
sufficienti
a
sostenere
da
sole
il
mining
senza
bisogno
di
aumentare
i
costi
per
gli
utenti,
mantenendo
quindi
bitcoin
conveniente
economicamente.
Dai
due
grafici
figura
7.7
e
figura
7.17
possiamo
osservare
come
limporto
medio
giornaliero
delle
commissioni
sia
leggermente
diminuito
nellultimo
anno
mentre
il
numero
di
transazioni
giornaliere
sia
leggermente
aumentato.
Questo
contraddice
lassunto
generale
che
le
commissioni
sarebbero
aumentate
spontaneamente
allaumentare
della
popolarit
per
sopperire
alla
diminuzione
delle
ricompense,
ed
invece
rafforza
la
nostra
dimostrazione
che
il
solo
aumento
della
popolarit,
e
quindi
del
numero
di
transazioni,
sufficiente
a
mantenere
conveniente
il
mining,
generando
anche
una
leggera
diminuzione
del
costo
delle
commissioni.
le
transazioni
con
commissioni
maggiori74.
Questo
vuol
dire
che
le
transazioni
con
commissioni
minori
sarebbero
scartate
dai
miner
e
quindi
non
sarebbero
pi
validate.
Questo
porterebbe
ad
una
gara
tra
gli
utenti
per
inserire
le
commissioni
massime
possibili,
ed
assicurarsi
in
questo
modo
che
le
loro
transazioni
siano
verificate.
Gli
unici
a
guadagnare
da
questa
situazione
sarebbero
i
miners,
mentre
il
protocollo
in
generale
ne
risentirebbe.
Infatti
lobbligo
di
pagare
commissioni
alte
in
valore
assoluto
renderebbe
i
micro
pagamenti
impossibili,
poich
le
commissioni
sarebbero
in
proporzione
maggiori
del
pagamento
stesso.
Inoltre
i
costi
maggiorati
e
la
mancata
validazione
di
molte
transazioni
renderebbero
la
rete
non
pi
conveniente
per
la
maggior
parte
degli
utenti.
Questo
distruggerebbe
sia
la
popolarit
che
lutilit
economica
di
bitcoin,
portando
alla
sua
rovina.
7.5 Normative
La
comparsa
di
valute
digitali
non
una
novit
degli
ultimi
anni.
Come
abbiamo
visto
nella
sezione
1.1.2,
il
concetto
di
moneta
digitale
risale
agli
anni
ottanta.
Fino
al
2011
per
limportanza
economica
e
sociale
di
queste
valute
era
irrisoria.
Bitcoin
viveva
in
una
nicchia
scavata
dagli
entusiasti
sulla
rete,
mentre
le
altre
valute
disponibili
erano
pressoch
ignorate.
Cos
quando
il
fenomeno
Bitcoin
ha
preso
piede
nel
2012
ed
poi
esploso
nel
2013
la
maggior
parte
dei
governi
si
sono
trovati
impreparati
a
gestirlo.
Del
resto
il
territorio
delle
valute
digitali
resta
ancora
misterioso
ed
inesplorato,
tanto
che
in
molte
giurisdizioni
non
ancora
chiaro
cosa
sia
una
valuta
digitale.
Gli
aspetti
pi
importanti
che
aspettano
di
essere
legiferati
riguardo
a
Bitcoin
comprendono
la
decisione
se
Bitcoin
possa
considerarsi
o
meno
una
valuta,
valutazioni
sulla
possibilit
di
tutela
dalle
frodi,
decisione
se
sia
possibile,
ed
eventualmente
come,
tassare
le
sue
transazioni.
In
[56]
lautore
mostra
come
le
principali
preoccupazioni
degli
attori
impegnati
nelleconomia
bitcoin
derivino
dalla
mancanza
di
regolamentazione.
La
richiesta
principale
dei
grandi
servizi
infatti
una
normativa
chiara
che
rafforzi
la
fiducia
del
grande
pubblico
in
Bitcoin
(ottenendo
un
effetto
simile
al
gi
citato
rapporto
del
FinCEN
spiegato
nella
sezione
7.1.1).
Per
immaginare
le
normative
future
vediamo
quindi
quali
siano
le
leggi
in
vigore
nelle
giurisdizioni
principali.
74
Pi
correttamente
dovremmo
dire
che
il
miner
inserir
le
transazioni
con
il
rapporto
tra
commissioni
e
dimensione
maggiore.
In
genere
per
le
transazioni
hanno
dimensioni
quasi
identiche,
quindi,
in
generale,
solo
limporto
della
commissione
a
decretare
quale
transazione
sia
pi
vantaggiosa.
202
In
Europa
esistono
due
leggi
sulle
monete
elettroniche.
La
prima
la
Direttiva
sulla
Moneta
Elettronica
(2009/110/CE)
[48].
Questa
direttiva
stabilisce
che
una
moneta
elettronica
debba
soddisfare
tre
propriet:
2. Deve essere emessa in cambio di fondi di valore non minore del valore emesso.
Bitcoin
non
rientra
in
questa
direttiva,
e
non
pu
essere
quindi
considerato
moneta
elettronica,
poich
non
soddisfa
il
secondo
requisito.
Le
nuove
monete
sono
estratte
dai
miners
senza
nessun
fondo
come
controvalore.
Inoltre
larticolo
11
della
direttiva
stabilisce
che
il
possessore
di
moneta
elettronica
pu
in
qualsiasi
momento
richiedere
agli
stati
membri
che
gli
venga
corrisposto
il
corrispettivo
valore
in
moneta
tradizionale.
In
Bitcoin
non
esiste
un
controvalore
effettivo
tra
bitcoins
e
qualsiasi
altra
valuta,
poich
i
bitcoins
non
rappresentano
la
valuta
tradizionale
come
invece
avviene
per
la
moneta
elettronica.
La
moneta
elettronica
intesa
da
questa
direttiva
come
un
mezzo
per
scambiare
elettronicamente
le
valute
tradizionali,
non
come
una
moneta
che
abbia
valore
di
per
s.
Analogamente
Bitcoin
esula
dalla
Direttiva
sui
Servizi
di
Pagamento
(2007/64/CE)
[48],
che
stabilisce
le
regole
delle
istituzioni
di
pagamento
che
effettuano
transazioni
con
moneta
elettronica.
Nonostante
questo
a
fine
2012
Bitcoin
Central
si
registrato
come
Payment
Service
Provider
seguendo
questa
direttiva
in
Francia.
regolarmente
scambiate,
previa
registrazione
del
servizio
di
cambio
presso
il
BaFin.
In
Svezia
i
bitcoins
sono
considerati
beni
paragonabili
ad
antiquariato
o
gioielli
[46].
LItalia
ha
dato
attuazione
alla
Direttiva
sulla
Moneta
Elettronica
(2009/110/CE)
della
comunit
europea
con
Decreto
Legislativo
n.
45/2012,
per
regolamentare
la
moneta
elettronica,
ma
come
abbiamo
gi
spiegato
Bitcoin
non
pu
per
essere
considerato
moneta
elettronica.
Per
quanto
riguarda
la
tassazione,
Bitcoin
pu
essere
visto
come
un
semplice
bene
e
quindi
le
transazioni
in
bitcoins
dovrebbero
considerarsi
una
forma
di
baratto.
I
bitcoins
dovrebbero
quindi
essere
tassati
con
aliquota
IVA,
individuando
il
valore
nominale
del
bene
considerato.
Nel
rapporto
di
maggio
2014
sulla
stabilit
finanziaria
redatto
dalla
Banca
dItalia
[54]
presente
una
breve
analisi
di
Bitcoin.
Lanalisi
rileva
come
linteresse
in
Italia
per
le
valute
digitali
sia
cresciuto
ma
la
loro
attuale
diffusione
ancora
limitata.
Come
gi
avvenuto
per
il
rapporto
dellanno
precedente
della
BCE,
il
rapporto
si
limita
a
mettere
in
guardia
i
consumatori
per
la
mancanza
di
tutele
nellutilizzo
di
valute
digitali
e
a
constatare
lassenza
di
rilievo
del
fenomeno
nel
sistema
finanziario
italiano.
Sottolineiamo
come
nel
rapporto
Bitcoin
sia
indicato
come
valuta
virtuale,
piuttosto
che
digitale75,
dimostrando
uno
scarso
interesse
per
la
distinzione
dei
due
fenomeni.
Si
evince
quindi
come
ancora
siamo
lontani
da
una
regolamentazione
precisa
del
fenomeno.
Riguardo
alla
legislatura
vigente
negli
Stati
Uniti
dAmerica,
abbiamo
gi
osservato
nella
sezione
1.1.3
come
il
diciotto
marzo
2013
il
FinCEN
[49]
abbia
regolarizzato
lo
stato
legale
delle
valute
virtuali
centralizzate
e
non
portandole
ad
aderire
alle
regole
dei
MSB
(Monetary
Service
Business)
e
del
Bank
Secrecy
Act.
Bitcoin
classificato
come
virtual
currency,
cio
valuta
che
non
ha
corso
legale
sotto
nessuna
giurisdizione.
Questo
ha
avuto
leffetto
di
sollevare
gli
utenti
statunitensi
di
Bitcoin
da
qualsiasi
obbligo,
non
riconoscendoli
come
MSB,
cio
come
enti
emittenti
valuta.
Se
per
questi
utenti
scambiano
bitcoins
in
cambio
di
valuta
nazionale
(USD)
allora
sono
considerati
MSB
e
devono
adempiere
a
tutti
gli
obblighi
previsti
per
un
money
trasmitter.
Ugualmente
sono
considerati
MSB
i
siti
di
cambio
che
scambiano
sul
territorio
nazionale
bitcoins
in
cambio
di
valute
a
corso
legale.
75
Si
veda
la
sezione
1.1.3
per
la
differenza
di
significato
dei
due
termini.
204
Il
25
marzo
2014
Internal
Revenue
Service
(IRS)
[72]
ha
pubblicato
nuove
guide
per
la
tassazione
dei
bitcoins
negli
Stati
Uniti.
I
bitcoins
sono
considerati
una
valuta
virtuale
convertibile
e
devono
essere
tassati
come
propriet
e
non
valuta
estera.
Un
utente
dovr
notificare
le
perdite
o
i
guadagni
sulle
propriet
in
bitcoins
considerando
lo
scarto
negativo
o
positivo
del
tasso
di
cambio
onesto
(fair
market
value
in
US
dollars
listed
on
an
Exchange
where
the
Exchange
rate
is
established
by
market
supply
and
demand)
con
il
dollaro
applicato
il
giorno
dellacquisto
e
della
cessione
dei
bitcoins.
Ugualmente
se
un
datore
di
lavoro
paga
stipendi
in
bitcoins
trattato
come
se
pagasse
i
dipendenti
con
propriet
e
quindi
sono
applicate
le
normali
tassazioni
sulla
propriet.
Quando
un
miner
statunitense
riceve
una
ricompensa
per
un
nuovo
blocco
deve
dichiararla
come
guadagno
in
dollari,
applicando
il
tasso
di
cambio
giusto
del
giorno.
Il
3
dicembre
2013
la
banca
centrale
cinese
ha
stabilito
che
bitcoin
non
una
valuta
e
non
pu
essere
utilizzata
nel
sistema
bancario
cinese.
proibito
in
Cina
trattare
bitcoins
per
le
banche
e
gli
istituiti
finanziari,
ed
sconsigliato
tra
i
privati.
Queste
misure
proibizioniste
sono
state
la
risposta
al
grande
successo
di
Bitcoin
in
Cina.
Infatti
molto
conveniente
comprare
bitcoins
come
bene
rifugio
per
proteggersi
dalle
politiche
di
deprezzamento
dello
Yuan
adottate
dal
governo
per
favorire
le
esportazioni.
Sebbene
non
siano
seguite
altre
direttive
ufficiali,
la
banca
popolare
cinese
ha
continuato
a
cercare
di
bloccare
sottobanco
Bitcoin,
ordinando
ai
servizi
di
pagamento
ed
alle
altre
banche
di
interrompere
qualsiasi
rapporto
con
i
servizi
di
cambio.
La
chiusura
dei
conti
di
molti
servizi
di
cambio,
tra
cui
lo
storico
BTC
China
sta
convincendo
la
maggior
parte
di
questi
servizi
ad
abbandonare
il
paese.
Il
Canada
stato
il
primo
paese
a
regolamentare
nellaprile
del
2013
la
tassazione
dei
bitcoins.
In
Canada
le
transazioni
in
bitcoins
sono
tassate
seguendo
le
regole
della
tassazione
sul
baratto
se
riguardano
lacquisto
di
beni
o
servizi
oppure
seguendo
le
regole
sul
commercio
di
prodotti
finanziari
per
altri
tipi
di
transazioni.
Abbiamo
spiegato
in
questo
capitolo
come
il
futuro
di
bitcoin
sia
legato
strettamente
alla
crescita
della
sua
economia
reale.
Unampia
diffusione
di
bitcoin
come
valuta
di
scambi
necessaria
alla
stabilit
e
convenienza
economica
del
sistema.
Scopo
di
qualsiasi
205
miglioramento
del
protocollo
in
questo
senso
dovrebbe
essere
quindi
di
cercare
di
aiutare
la
sua
economia.
Chiaramente
questo
dipende
in
larga
misura
da
fattori
esterni
(come
la
popolarit)
su
cui
non
possiamo
avere
il
controllo.
Possiamo
per
abbattere
le
barriere
che
rendono
pi
complesso
lingresso
di
nuovi
utenti
nelleconomia.
Unimportante
aspetto
del
sistema
infatti
la
sua
natura
deflazionista.
La
deflazione
ha
importanti
vantaggi,
tra
cui
la
preservazione
del
valore
dei
capitali
investiti
e
londata
di
popolarit
dovuta
alla
sfiducia
nelle
valute
tradizionali
fortemente
inflazionate.
Lo
svantaggio
maggiore
per
che
premia
laccumulo
piuttosto
che
la
spesa.
Vorremmo
quindi
mantenere
le
propriet
positive
della
deflazione
attenuando
per
la
sua
spinta
al
risparmio.
La
proposta
dellautore
di
ottenere
questobbiettivo
modificando
lentit
delle
ricompense
attuali.
Consideriamo
lo
scenario
in
cui
la
ricompensa
per
ogni
blocco
fosse
costante,
invece
che
dimezzarsi
ogni
quattro
anni.
Il
primo
effetto
sarebbe
chiaramente
un
numero
potenzialmente
illimitato
di
monete.
Questo
comporterebbe
uninflazione
annuale
sempre
positiva,
ma
decrescente,
poich
il
numero
di
nuove
monete
prodotte
ogni
anno
sarebbe
costante
e
quindi
diminuirebbe
il
suo
rapporto
con
le
monete
gi
in
circolazione76.
Linflazione
o
la
deflazione
non
sono
per
prodotte
solo
dalla
variazione
del
numero
di
monete
disponibili,
ma
anche
dalla
domanda
e
offerta
di
beni
in
quella
valuta.
Se
la
crescita
delleconomia
pari
alla
crescita
della
moneta
allora
il
valore
resta
immutato.
Se
leconomia
reale
crescesse
pi
in
fretta
o
a
ritmo
uguale
al
numero
di
monete
allora
la
richiesta
di
monete
dei
nuovi
utenti
sarebbe
soddisfatta
soprattutto
dai
miner,
invece
che
dagli
utenti
gi
nel
sistema
che
vendendole
ne
uscirebbero.
Non
ci
sarebbe
inflazione
perch
le
richieste
di
nuovi
bitcoins
dovuti
allespansione
del
mercato
sopperirebbero
allaumento
di
produzione
di
monete,
mantenendo
il
valore
stabile.
Lo
scopo
della
nostra
modifica
proprio
di
stimolare
leconomia
reale,
quindi
vogliamo
considerare
proprio
lo
scenario
in
cui
leconomia
cresca,
e
cerchiamo
un
modo
per
impedire
che
questa
crescita
si
arresti.
Se
il
valore
delle
monete
costante
non
c
motivo
speculativo
nel
mettere
delle
somme
da
parte,
poich
ci
aspettiamo
che
il
loro
valore
resti
costante
(invece
di
crescere).
La
mancanza
di
spinte
speculative
aiuterebbe
a
stabilizzare
ulteriormente
il
valore
che
sarebbe
quindi
stabilito
dalla
domanda
e
offerta
delleconomia
reale.
Con
un
valore
stabile,
i
nuovi
utenti
si
sentirebbero
pi
sicuri
nellentrare
nel
sistema,
e
i
bitcoins
resterebbero
nelleconomia
(poich
non
sarebbe
76
Ricordiamo
come
anche
oggi
il
protocollo
segua
uninflazione
controllata
(almeno
fino
al
2140)
positiva
anche
se
rapidamente
decrescente.
206
Come
abbiamo
gi
spiegato,
gli
utenti
che
utilizzino
i
bitcoins
come
valuta
per
gli
scambi
sarebbero
avvantaggiati
dalla
modifica,
mentre
ne
sarebbero
penalizzati
gli
utenti
che
acquistino
bitcoins
come
investimento.
Questo
accettabile
perch
abbiamo
spiegato
in
precedenza
come
la
pi
grande
potenzialit
di
bitcoin
per
la
societ
sia
proprio
il
suo
uso
come
valuta
per
il
commercio
e
non
come
bene
rifugio.
Gli
utenti
maggiormente
penalizzati
sarebbero
gli
utenti
iniziali
che
hanno
accumulato
grandi
fortune
in
bitcoins,
mai
spese
in
attesa
dellaumento
del
loro
valore.
Questi
utenti
non
potrebbero
pi
aspettare
che
il
valore
dei
loro
fondi
aumenti
da
solo
a
spesa
dei
nuovi
utenti.
Si
vedrebbero
comunque
riconosciuto
un
grande
profitto
per
i
rischi
iniziali
di
aver
investito
in
bitcoin
quando
era
ancora
207
sconosciuto.
Il
valore
dei
loro
fondi
sarebbe
infatti
stabile,
non
distrutto.
Questo
comporta
il
vantaggio
che
questi
utenti
non
avrebbero
pi
interesse
a
trattenere
questi
fondi
e
potrebbero
quindi
spenderli
o
investirli
nelleconomia
reale,
aumentando
la
liquidit
a
vantaggio
della
collettivit.
Gli
sviluppatori
[102]
(che
in
alcuni
casi
sono
anche
utenti
iniziali
con
grandi
depositi
di
bitcoins),
sostengono
che
la
deflazione
attuale
di
bitcoin
non
sia
un
problema
per
la
sua
economia,
poich,
se
il
valore
di
un
bitcoin
dovesse
diventare
troppo
alto
per
il
suo
utilizzo
pratico,
gli
utenti
potrebbero
comprare
e
spendere
frazioni
pi
piccole
(ricordiamo
che
1
BTC
divisibile
fino
ad
un
satoshi,
pari
a
10-8
BTC).
Spiegano
cio
che
leconomia
utilizzer
semplicemente
prezzi
in
mBTC
(detti
milli-bitcoins
cio
10-3
BTC)
o
micro-bitcoins
(cio
10-6
BTC)
invece
che
in
BTC.
Chiaramente
questa
solo
una
facciata
poich
il
valore
reale
delle
bitcoin
non
sarebbe
cambiato.
Sarebbero
ricompensati
ingiustamente
gli
utenti
iniziali
e
gli
speculatori,
a
scapito
degli
utenti
entrati
pi
di
recente
nel
sistema,
che
sono
proprio
quelli
che
poi
sostengono
leconomia
reale
e
quindi
anche
il
valore
della
valuta
(questo
segue
uno
schema
pi
tipico
di
una
truffa
a
schema
piramidale,
piuttosto
che
di
una
crescita
economica
sana).
Conclusioni77
Durante
la
tesi
abbiamo
spiegato
e
approfondito
tutti
gli
aspetti
rilevanti
del
fenomeno
bitcoin.
Possiamo
quindi
prevedere
un
suo
possibile
sviluppo
futuro.
Torniamo
quindi
alle
domande
che
ci
eravamo
posti
nellintroduzione
e
diamo
loro
una
risposta
alla
luce
delle
conoscenze
raccolte
nei
capitoli
precedenti.
Nelidea
originale
di
Satoshi
Nakamoto
ogni
utente
doveva
essere
custode,
cio
miner,
della
rete.
Il
mining
in
bitcoin
si
per
molto
evoluto
dalle
origini,
la
difficolt
aumentata
a
tal
punto
da
rendere
economicamente
conveniente
scavare
solo
con
dispositivi
dedicati
progettati
apposta.
Abbiamo
gi
osservato
nella
sezione
7.2
come
gi
oggi
i
nodi
della
rete
si
dividano
tra
miners
e
nodi
utenti
(leggeri
o
pesanti).
Questo
trasforma
il
mining
in
un
business
in
cui
i
partecipanti
devono
sostenere
costosi
investimenti
iniziali
in
hardware
ed
alti
costi
di
fornitura
delenergia
prima
di
rientrare
del
proprio
investimento
e
cominciare
a
guadagnare.
Abbiamo
anche
visto
nella
sezione
7.3.2
,
come
ci
siano
ancora
ampie
possibilit
di
guadagno
nel
mining,
il
mercato
non
cio
ancora
saturo.
Si
vede
dalla
figura
7.14
come
oggi
il
mining
sia
un
affare
molto
conveniente,
con
i
dispostivi
moderni
infatti
possibile
ottenere
un
guadagno
ammortizzato
del
500%
sullinvestimento.
Abbiamo
spiegato
nella
sezione
2.3
e
nella
sezione
4.1.1
come
sia
conveniente
per
i
miners
unirsi
in
mining
pools
per
ridurre
la
varianza,
e
come
sia
oggi
una
tecnica
ampiamente
diffusa.
Anche
ipotizzando
che
la
precedente
teoria
dellautore
sulla
nascita
di
aziende
di
mining
sia
errata,
i
soli
mining
pools
sono
sufficienti
a
minacciare
la
decentralizzazione
del
protocollo.
Abbiamo,
infatti,
visto
nella
sezione
4.1.1
come
sia
economicamente
conveniente
possedere
la
maggioranza
delle
risorse
di
calcolo
della
rete.
Nella
sezione
4.1.2
abbiamo
poi
mostrato
una
tecnica
di
mining
fraudolento
che
permetterebbe
a
relativamente
piccoli
minig
pool
fraudolenti
di
crescere
fino
ad
ottenere
il
controllo
totale
della
catena.
Abbiamo
anche
osservato
come
questa
tecnica
sia
gi
oggi
applicabile.
La
difficolt
di
attuare
per
tecniche
di
mining
fraudolento
che
i
miner
partecipanti
al
mining
pool
fraudolento
si
accorgerebbero
facilmente
del
mining
fraudolento
eseguito
e
quindi
dovrebbero
essere
complici
consapevoli
per
restare
nel
pool
fraudolento.
Se
oggi
questa
consapevolezza
un
deterrente
sufficiente
per
i
principali
mining
pool
(che
rischierebbero
di
perdere
i
propri
miner
in
massa
e
quindi
tutti
i
profitti),
non
lo
sar
quando
il
mining
sar
considerato
un
semplice
business.
Degli
attori
razionali
interessati
solo
al
profitto
non
avrebbero
infatti
nessun
problema
ad
applicare
tecniche
fraudolente
per
aumentare
i
propri
profitti.
Possiamo
quindi
ipotizzare
che
se
bitcoin
raggiunger
unampia
diffusione,
inevitabilmente
il
mining
diventer
un
business
con
pochi
grandi
partecipanti,
mettendo
a
rischio
la
sua
decentralizzazione.
Accentrare
il
potere
di
mining
in
poche
mani
rende
anche
molto
pi
facile
la
formazione
di
un
cartello
che
controlli
la
maggioranza
delle
risorse
di
calcolo,
e
quindi
la
catena.
Abbiamo
visto
nella
sezione
5.1.1
una
proposta
(utilizzare
nelle
proof
of
work
algoritmi
difficilmente
parallelizzabili)
per
rendere
il
mining
davvero
decentralizzato.
Purtroppo
per
il
suo
utilizzo
nella
pratica
pi
difficile
che
in
teoria,
ed
apre
a
nuovi
problemi
(come
la
vulnerabilit
alle
botnet).
In
ogni
caso
non
pensabile
di
poter
applicare
78
Un
esempio
odierno
pu
essere
considerato
il
servizio
Cloudhashing
[119]
che
offre
ai
clienti
la
possibilit
di
comprare
potere
di
hash
ed
ottenere
i
bitcoins
estratti
(trattenendo
una
percentuale).
I
clienti
possono
cos
essere
miners
senza
preoccuparsi
dellhardware
e
degli
altri
costi
collegati.
211
una
soluzione
simile
a
Btcoin.
I
miners
infatti
hanno
investito
troppe
risorse
per
potersi
tirare
indietro,
quindi
non
accetterebbero
mai
di
cambiare
algoritmo,
dedicando
la
loro
enorme
potenza
di
calcolo
alla
difesa
delle
regole
attuali.
Poich
bitcoin
richiede
che
la
totalit
degli
utenti
accetti
ogni
cambiamento,
altrimenti
la
rete
si
dividerebbe
portando
al
caos
e
al
fallimento,
questa
modifica
non
avverr
mai.
Il
potere
degli
sviluppatori
non
deriva
per
solo
dalla
loro
popolarit,
ma
anche
dal
loro
controllo
sul
software
ufficiale
bitcoind.
Nonostante
lesistenza
di
software
alternativi,
e
la
possibilit
per
gli
utenti
di
scriversi
il
proprio
software,
le
linee
guida
del
protocollo
sono
dettate
da
bitcoind.
Come
sempre
dobbiamo
ricordare
che
la
comunit
bitcoin
democratica
e
quindi
se
il
software
avesse
delle
nuove
funzionalit
contrarie
agli
utenti
questi
potrebbero
semplicemente
ignorarlo.
Il
problema
per
che
la
nostra
analisi
non
focalizzata
sul
presente
ma
su
un
futuro
di
ampia
diffusione
di
bitcoin.
In
questo
futuro
la
maggior
parte
degli
utenti
saranno
nodi
leggeri
(come
spiegato
nella
sezione
7.2),
che
non
avranno
interesse
a
come
funzioni
Bitcoin,
ma
cercheranno
piuttosto
la
facilit
dutilizzo.
Il
software
pi
utilizzato
da
questa
maggioranza
di
utenti
sar
quindi
il
software
dominante,
poich
dovr
212
essere
utilizzato
dai
servizi
che
vorranno
raggiungere
il
maggior
numero
possibili
dutenti,
e
quindi
anche
dai
mining
pool
che
vorranno
immettere
i
nuovi
bitcoins
nelleconomia.
Possiamo
quindi
vedere
due
minacce
alla
decentralizzazione
del
protocollo
nella
necessit
di
unentit
di
controllo
benigna
e
nel
monopolio
del
software
dominante.
Abbiamo
gi
spiegato
diffusamente
nella
sezione
4.3
come
lanonimato
di
bitcoin
sia
solo
un
mito.
Bitcoin
offre
un
sufficiente
livello
di
privacy
per
il
suo
utilizzo
come
mezzo
di
pagamento,
ma
non
per
il
suo
uso
criminale.
Il
vantaggio
offerto
dalla
pubblicazione
di
tutta
la
storia
delle
transazioni
sulla
catena
offre
comunque
nuovi
dati
per
lanalisi
statistica
della
sua
economia,
permettendo
una
chiarezza
impossibile
nelleconomia
tradizionale
(si
veda
ad
esempio
il
Capitolo
6).
Possiamo
quindi
dare
una
risposta
alla
domanda
che
ci
eravamo
posti
nellintroduzione:
possibile
che
Bitcoin
anzich
aumentare
la
privacy
degli
utenti
la
comprometta?
Si.
commissioni
e
ad
una
spirale
deflazionista,
possiamo
ora
rispondere
di
no
(vedi
Capitolo
7),
ammesso
che
il
mercato
reale
cresca
di
importanza
fino
a
soppiantare
linteresse
speculativo.
Se
questo
non
avvenisse
bitcoin
sarebbe
condannato
ad
essere
chiuso
in
casseforti
accanto
alloro,
o
ad
essere
dimenticato
dalla
storia.
Bitcoin
ancora
troppo
giovane
per
poter
esprimere
un
giudizio
a
riguardo,
ma
la
crescita
esponenziale
di
servizi
e
commercianti
(sia
fisici
che
sulla
rete)
avvenuta
nel
2013
pu
farci
ben
sperare.
215
Bibliografia
[1] Satoshi
Nakamoto,
Bitcoin:
A
Peer-to-Peer
Electronic
Cash
System,
2008
[2] Christian
Decker,
Roger
Wattenhofer,
Information
Propagation
in
the
Bitcoin
Network,
in
13-th
IEEE
International
Conference
on
Peer-to-Peer
Computing,
2013
[3] Yogesh
Malhotra,
Bitcoin
Protocol:
Model
of
Cryptographic
Proof
Based
Global
Crypto-
Currency
&
Electronic
Payments
System,
2013
[4] Ghassan
O.
Karame,
Elli
Androulaki,
Srdjan
Capkun,
Two
Bitcoins
at
the
Price
of
One?
Double-Spending
Attacks
on
Fast
Payments
in
Bitcoin,
In
Proceedings
of
the
2012
ACM
conference
on
Computer
and
communications
security,
CCS
12,
pp.
906-917,
New
York,
USA,
2012
[6] Moshe
Babaioff,
Shahar
Dobzinski,
Sigal
Oren,
On
Bitcoin
and
Red
Balloons,
In
13th
ACM
Conference
on
Electronic
Commerce,
2012
[7] Mihaela
Iavorschi,
The
Bitcoin
Project
And
The
Free
Market,
CES
Working
Papers
Volume
V,
Issue
4,
pp.
529-534,
2013
[8] Skunkworks,
Hacking
the
Global
Economy
with
GPUs
or
How
I
Learned
to
Stop
Worrying
and
Love
Bitcoin,
DEFCON
19,
2011
[9] Joshua
A.
Kroll,
Ian
C.
Davey,
and
Edward
W.
Felten,
The
Economics
of
Bitcoin
Mining,
or
Bitcoin
in
the
Presence
of
Adversaries,
in
The
Twelfth
Workshop
on
the
Economics
of
Information
Security
(WEIS
2013),
Washington,
USA,
2013
[10] Ittay
Eyal,
Emin
Gn
Sirer,
Majority
is
not
Enough:
Bitcoin
Mining
is
Vulnerable,
Cornell
University,
technical
report,
ArXiv
e-prints,
novembre
2013
[11] Lear
Bahack,
Theoretical
Bitcoin
Attacks
with
less
then
Half
of
the
Computational
Power,
draft,
2013,
http://eprint.iarc.org/2013/868
[12] Nicolas
T.
Courtois,
Lear
Bahack
,
On
Subversive
Miner
Strategies
and
Block
Withholding
Attack
in
Bitcoin
Digital
Currency,
arXiv:1402.1718v1,
2014
216
[13] Simon
Barber,
Xavier
Boyen,
Elaine
Shi
and
Ersin
Uzun,
Bitter
to
Better
How
to
Make
Bitcoin
a
Better
Currency,
Financial
Cryptography
and
Data
Security,
Lecture
Notes
in
Computer
Science
Volume
7397,
pp.
399-414,
Springer
2012
[14] Danny
Yuxing
Huang,
Profit-Driven
Abuses
of
Virtual
Currencies,
http://sysnet.ucsd.edu/
dhuang/pmwiki/uploads/Main/huang-research-exam.pdf,
UCSD,
2013
[15] Tyler
Moore,
Nicolas
Christin,
Beware
the
Middleman:
Empirical
Analysis
of
Bitcoin-Exchange
Risk,
in
Financial
Cryptography,
Lecture
Notes
in
Computer
Science
vol.
7859,
pp.25-33,
Springer,
2013
[16] Marie
Vasek,
Micah
Thornton,
and
Tyler
Moore,
Empirical
Analysis
of
Denial-of-
Service
Attacks
in
the
Bitcoin
Ecosystem,
in
First
Workshop
on
Bitcoin
Research,
Lecture
Notes
in
Computer
Science,
Springer,
2014
[17] Danny
Yuxing
Huang,
Hitesh
Dharmdasani,
Sarah
Meiklejohn,
Vacha
Dave,
Chris
Grier,
Damon
McCoy,
Stefan
Savage,
Alex
C.
Snoeren,
Nicholas
Weaver,
and
Kirill
Levchenko,
Botcoin:
Monetizing
stolen
cycles,
In
Proceedings
of
the
Network
and
Distributed
System
Security
Symposium
(NDSS),
2014
[18] Juan
Caballero,
Chris
Grier,
Christian
Kreibich,
and
Vern
Paxson,
Measuring
pay-
per-install:
the
commoditization
of
malware
distribution,
In
Proceedings
of
the
20th
USENIX
conference
on
Security,
SEC11,
Berckeley
CA,
USA,
USENIX
Association,
2011
[19] James
Wyke,
The
ZeroAccess
Botnet
-
Mining
and
Fraud
for
Massive
Financial
Gain
,
Technical
report,
SophosLabs,
2012
[20] Sarah
Meiklejohn,
Marjori
Pomarole,
Grant
Jordan,
Kirill
Levchenko,
Damon
McCoy,
Geoffrey
M.
Voelker,
and
Stefan
Savage,
A
fistful
of
bitcoins:
characterizing
payments
among
men
with
no
names,
In
Proceedings
of
the
2013
conference
on
Internet
measurement
conference,
IMC
13,
pp.
127-140,
New
York,
USA,
2013
[21] Fergal
Reid
and
Martin
Harrigan,
Security
and
Privacy
in
Social
Networks,
chapter
An
Analysis
of
Anonymity
in
the
Bitcoin
System,
pp.
197223.
Springer,
2013
[22] Elli
Androulaki,
Ghassan
O.
Karame,
Marc
Roeschlin,
Tobias
Scherer,
and
Srdjan
Capkun,
Evaluating
User
Privacy
in
Bitcoin,
in
Proceedings
of
Financial
Cryptography
2013,
2013
[23] Malte
Mser,
Anonymity
of
Bitcoin
Transactions:
An
Analysis
of
Mixing
Services,
in
Proceedings
of
Mnster
Bitcoin
Conference
(MBC13),
2013
217
[24] Dorit.
Ron
and
Adi
Shamir,
Quantitative
analysis
of
the
full
bitcoin
transaction
graph,
in
Financial
Cryptography,
pp.
6-24,
2013
[25] M.
Ober,
S.
Katzenbeisser,
and
K.
Hamacher,
Structure
and
Anonymity
of
the
Bitcoin
Transaction
Graph,
Future
internet,
pp.
237-250,
2013
[26] E.
Androulaki,
G.
Karame,
and
M.
Roeschlin,
Evaluating
User
Privacy
in
Bitcoin,
IARC
Cryptology
ePrint
Archive,
p.
596,
2012
[27] Philip
Koshy,
Diana
Koshy,
and
Patrick
McDaniel,
An
Analysis
of
Anonymity
in
Bitcoin
Using
P2P
Network
Traffic,
Financial
Cryptography
and
Data
Security,
2014
[28] Ian
Miers,
Christina
Garman,
Matthew
Green,
and
Aviel
D.
Rubin,
Zerocoin:
Anonymous
distributed
e-cash
from
bitcoin,
In
Proceedings
of
the
2013
IEEE
Symposium
on
Security
and
Privacy,
SP
13,
pp.
397-411,
Washington,
USA,
2013,
IEEE
Computer
Society
[32] The
Litecoin
Cryptocurrency
Mining
Rush
And
How
To
Take
Advantage
Of
It
Today
If
We
Act
Quickly,
Presented
by
Nimue
CryptoMining,
LLC.http://www.nimuecrypto.com,
2013
[33] Sunny
King,
Scott
Nadal,
PPCoin:
Peer-to-Peer
Crypto-Currency
with
Proof-of-
Stake
[34] Arvind
Narayanan,
What
Happened
to
the
Crypto
Dream?,
Part
1,
IEEE
Computer
and
Reliability
Societes,
2013
[35] Bitcoins
Legacy
And
The
Crypto-Currency
Promise
Part
1:
Foundation,
based
on
blog
posts
at
Red
Planet
Dust
(redplanetdust.leika.nl),
2013
[36] Patrick
Griffin,
Phillip
Rapoport,
Ripple:
a
primer,
Ripple
Labs
Inc.
218
[37] Nicolas
Houy,
It
will
cost
you
nothing
to
''kill''
a
Proof-of-Stake
crypto-currency
[v.0.1],
Universit
di
Lione,
Francia,
2014
[38] Tim
Sablik,
Digital
Currency
New
Private
Currencies
Like
Bitcoin
Offer
Potential
and
Puzzles,
Econ
Focus,
Third
Quarter,
pp.
18-27,
2013
[39] Eric
Hughes,
A
Cypherpunk's
Manifesto,
1993
[40] Dravis
Group,
Bitcoin,
Digital
Currency
and
the
Internet
of
Money,
Dravis
Group
LLC,
San
Francisco,
USA,
2014
[41] Nicolas
Christin,
Traveling
the
Silk
Road:
a
measurement
analysis
of
a
large
anonymous
online
marketplace,
In
Proceedings
of
the
22nd
international
conference
on
World
Wide
Web,
WWW
13,
pp.
213-224,
Republic
and
Canton
of
Geneva,
Svizzera,
2013,
International
World
Wide
Web
Conference
Steering
Committee
[44] John
Normand,
The
audacity
of
bitcoin
-
Risks
and
opportunities
for
corporates
and
investors,
J.P.
Morgan
Securities,
2014
[45] Katherine
Sagona-Stophel,
Bitcoin
101
How
to
get
started
with
the
new
trend
in
virtual
currencies,
Thomson
Reuters,
2013
[53] Nick
Bennenbroek,
Special
Edition
Bitcoin
101:
A
Primer,
Wells
Fargo
Securities,
LLC
Foreign
Exchange
Research,
2014
[54] Banca
dItalia,
Rapporto
sulla
stabilit
finanziaria,
numero
1,
maggio
2014
[55] BBVA
Research,
Economic
Analysis
Bitcoin:
A
Chapter
in
Digital
Currency
Adoption,
Economic
Watch
Global,
BBVA
research,
2013
[56] Lars
Holdgaard,
An
Exploartion
of
the
Bitcoin
Ecosystem,
www.Bitcoin-
Expert.net,
2014
[57] Linda
Levine,
An
Analysis
of
the
Distribution
of
Wealth
Across
Households,
1989-
2010,
Congressional
Research
Service,
17
luglio
2012
[63] Colin
Percival
,
scrypt:
A
new
key
derivation
function
Doing
our
best
to
thwart
220
[69] 2014
Federal
Reserve
Note
Print
Order,
Federal
Reserve,
2014
[70] World
Payments
Report
2013,
Capgemini
and
Royal
Bank
of
Scotland
(RBS),
2013
[71] Hugh
Thomas,
Amit
Jain,
Michael
Angus,
MasterCard
Advisors
Cashless
Journey
-
The
Global
Journey
From
Cash
to
Cashless,
World
Beyond
Cash,
MasterCard,
2013
[72] IRS
Notice
2014-21,
Internal
Revenue
Service
(IRS),
2014
[73] Wallace,
B.
The
Rise
and
Fall
of
Bitcoin,
Wired
Magazine,
23
novembre
2011
[74] http://www.wired.com/magazine/2011/11/mf_bitcoin/all/
[75] https://coinbase.com/about
[76] http://en.wikipedia.org/wiki/Merkle_tree
[77] http://en.wikipedia.org/wiki/SHA-256
221
[78] http://en.wikipedia.org/wiki/RIPEMD-160
[79] http://en.wikipedia.org/wiki/Botnet
[80] https://blockchain.info/pools
[81] https://en.bitcoin.it/wiki/Protocol_rules
[82] https://en.bitcoin.it/wiki/Hardfork_Wishlist
[83] https://en.bitcoin.it/wiki/Protocol_Specification
[84] http://www.coindesk.com/tag/carbon-series/
[85] http://www.ecb.europa.eu/euro/banknotes/html/environment.en.html
[86] https://en.bitcoin.it/wiki/Scalability
[87] https://en.bitcoin.it/wiki/Difficulty
[88] https://en.bitcoin.it/wiki/Target
[89] https://blockchain.info/taint/
[90] http://coinmarketcap.com/
[91] https://en.bitcoin.it/wiki/Litecoin
[92] https://litecoin.info/Main_Page
[93] http://en.wikipedia.org/wiki/Litecoin
[94] http://peercoin.net/
[95] http://en.wikipedia.org/wiki/Peercoin
222
[96] http://primecoin.org//
[97] http://en.wikipedia.org/wiki/Primecoin
[98] https://github.com/primecoin/primecoin/wiki/_pages
[99] https://www.namecoin.org/
[100] https://en.bitcoin.it/wiki/Namecoin
[101] http://en.wikipedia.org/wiki/Namecoin
[102] http://en.wikipedia.org/wiki/Ripple_(payment_protocol)
[103] https://ripple.com/wiki/Main_Page
[104] https://en.bitcoin.it/wiki/Myths
[105] http://www.forbes.com/sites/kashmirhill/2013/12/26/how-you-should-have-
spent-100-in-2013-hint-bitcoin/
[106] http://www.macroaxis.com/invest/ratio/Market_Capitalization
[107] http://data.worldbank.org/indicator/CM.MKT.LCAP.CD
[108] http://www.coinometrics.com/bitcoin/tix
[109] http://www.federalreserve.gov/foia/2014currency.htm
[110] https://en.bitcoin.it/wiki/Mining_hardware_comparison
[111] https://blockchain.info/it/charts/hash-rate
[112] https://blockchain.info/it/charts/transaction-fees
[113] https://blockchain.info/it/charts/output-volume
223
[114] https://blockchain.info/it/charts/estimated-transaction-volume
[115] http://en.wikipedia.org/wiki/Electricity_pricing
[116] https://blockchain.info/charts/n-transactions
[117] http://bitcoincharts.com/charts/volumepie/
[118] http://mag.newsweek.com/2014/03/14/bitcoin-satoshi-nakamoto.html
[119] https://cloudhashing.com/