Introduzione alla Cryptoeconomia

Indice

1. Perché dovresti preoccuparti della
Cryptoeconomia. 2. Casi d’uso e perché abbiamo bisogno della
Cryptoeconomia. 3. Contratti sociali e Crypto
4. Obbiettivi
.

5. Modelli di sicurezza 6. I due pilastri della
Cryptoeconomia. 7. Strumenti crittografici: hash, firme
digitali.
8. Strumenti economici: token, premi dei blocchi, meccanismi di
consenso
.
9. Possibili attacchi
10. Sommario 11.
Ulteriori letture

Perché dovresti preoccuparti
della Cryptoeconomia.

Spesso immaginiamo Bitcoin e altre criptovalute
come il Wild Wild West: nessuna regola, nessuna norma sociale, solo
avidità, egoismo e attività minerarie. Questa percezione della
mancanza di ordine e legge rende il mondo cripto spaventoso per molte
persone. Tuttavia, in realtà, esistono regole che governano
reti decentralizzate peer-to-peer (p2p) come Bitcoin. Queste regole
sono codificate in protocolli e forniscono la struttura per il modo
in cui i partecipanti di una rete interagiscono tra loro. Ci aiutano
a creare un sistema sicuro, affidabile e prezioso, proprio come le
leggi forniscono un quadro per una società migliore. La
criptoeconomia pone la domanda su come possiamo progettare queste
regole e incentivi, in modo che le reti rimangano sicure e creino
valore per tutti. La criptoeconomia utilizza strumenti crittografici,
teoria dei giochi e incentivi economici per raggiungere questo
obiettivo.

Per comprendere quanto siano complesse e
preziose queste reti decentralizzate di p2p, è necessario
comprendere alcuni principi criptoeconomici di base su cui si
fondano. Se si dispone di una migliore comprensione dei principi
criptoeconomici di base, si capirà perché l’emergere delle
criptovalute è più di una semplice battuta pubblicitaria.

Perché sto scrivendo questo

Mentre sia la crittografia che l’economia sono
argomenti accademici affermati, la criptoeconomia è un nuovo campo.
Si potrebbe dire che è un po’ come un bimbo timido di 10 anni (sin
dalla nascita di Bitcoin). Perché è un campo così emergente che è
in continua evoluzione e non esiste un solido grado accademico che si
possa ottenere per comprendere meglio la criptoeconomia. Sto
scrivendo questo perché anch’io volevo saperne di più sul processo
di progettazione di Bitcoin e di altre reti crittografiche. Ci sono
molti fantastici articoli e anche corsi online, ma ci vuole un po’
per esaminarli e mettere insieme le informazioni, quindi ho scritto
un intro per me stesso e per te. Collegherò ulteriori consigli di
lettura di seguito.

Perché la criptoeconomia è
così importante, quali sono i suoi casi d’uso e perché ne abbiamo
addirittura bisogno?

Anche se non hai mai sentito il termine “rete
decentralizzata p2p”, probabilmente ne hai usato uno o almeno ne
hai sentito parlare sotto forma di ex siti web di condivisione di
file, come Napster o BitTorrent. In generale, sono sistemi in cui gli
esseri umani interagiscono tra loro e scambiano valore. Il valore può
essere qualsiasi cosa che consideriamo collettivamente di
valore, come un articolo o un servizio materiale. La maggior parte
della gente probabilmente penserebbe che la valuta fiat sia valida
perché è ampiamente accettata come tale e perché abbiamo fiducia
nella sua stabilità e longevità. Al giorno d’oggi, anche le
criptovalute come i bitcoin soddisfano in parte questo ruolo.

Questi sistemi sono progettati, proprio come i
nostri stati nazione, i governi e le democrazie, scrivendo e
applicando le leggi. A differenza dei nostri stati nazione, le reti
p2p decentralizzate sono progettate scrivendo il codice nei
protocolli. A differenza dei nostri stati nazione, abbiamo fiducia
nel codice piuttosto che nel governo.

Il modo in cui progettiamo questi protocolli
influenza il modo in cui interagiamo tra loro in questi sistemi e,
quindi, quanto valore possiamo creare e condividere. In definitiva,
la criptoeconomia pone le basi per tutto ciò che accade nelle reti
decentralizzate di p2p.

Quando progettiamo questi protocolli, facciamo alcune ipotesi e teorizziamo su come verranno utilizzati i protocolli e su come potrebbero essere utilizzati in modo improprio. Cerchiamo di utilizzare queste ipotesi per massimizzare il valore del sistema per i suoi partecipanti.

Immagina: non abbiamo regole nella nostra società e ognuno fa ciò
che vuole. Penso che possiamo essere tutti d’accordo sul fatto che se
puoi uccidere o derubare senza conseguenze, la nostra società non
funzionerebbe bene. Sarebbe come The Purge ogni giorno.
Thomas Hobbes ha descritto la vita in questo cosiddetto stato
originale della natura come “solitario, povero, cattivo,
brutale e breve”
e poi continua a teorizzare sui contratti
sociali
.

Proprio come nella vita reale, vogliamo che le
nostre reti digitali forniscano valore, sicurezza e ci aiutino a
prosperare come collettività. Quindi, l’obiettivo principale di una
rete p2p decentralizzata non è solo aggiungere valore ma anche
sicurezza e longevità. Vogliamo massimizzare la sicurezza della
nostra rete, proprio come vogliamo farlo nel nostro stato nazionale.

Negli Stati nazionali, la sicurezza è garantita dal monopolio statale sulla violenza attraverso la polizia e l’esercito. Questa violenza è usata per mantenere la sicurezza e quindi per mantenere la nostra società preziosa per noi (almeno in teoria …). Ad esempio, lo stato applica le leggi attraverso la loro capacità di punirti, il che è reso possibile dalla loro capacità di essere violento nei tuoi confronti (ad esempio mettendoti in manette o imprigionandoti). Quindi, facendo parte della tua società, rinunci al potere per lavorare verso una società migliore. Lo fai perché ti fidi che il governo e il sistema forniranno sicurezza e valore aggiunto piuttosto che stare da soli nei boschi. Ovviamente, questo è tutto teorico perché in realtà molti di noi non decidono attivamente che vogliamo vivere in uno stato-nazione, ne siamo nati. Inoltre, non acconsentiamo esplicitamente a rinunciare ai nostri diritti e non ci affidiamo sempre ai nostri governi per proteggerci.

Nel mondo criptato, i protocolli programmati applicano le regole
all’interno delle reti decentralizzate p2p e quindi garantiscono
valore e sicurezza. Rispetto ai nostri più grandi stati nazionali,
la cosa bella delle reti decentralizzate di p2p è che:

  • Nessuno può
    costringerti a partecipare.
  • Non esiste
    un’autorità centrale (come un governo) che possa abusare del
    proprio monopolio del potere (pensa alle cose orribili che i governi
    corrotti e non etici hanno fatto, come il genocidio, la schiavitù,
    la discriminazione).
  • Non c’è
    violenza fisica usata per far aderire i partecipanti alle regole.
  • Ti fidi del codice open-source per
    fornirti sicurezza.

Quindi sorge la domanda: quali regole e
incentivi aiutano a creare e sostenere una rete valida e sicura?
Questa è esattamente la domanda a cui la criptoeconomia cerca di
rispondere.

Ora che abbiamo gettato le basi per capire
perché la criptoeconomia sia importante, perché esiste e perché
dovresti preoccupartene, immergiamoci nell’oggetto reale.

In primo luogo, dobbiamo capire gli obiettivi
più specifici che stiamo cercando di raggiungere attraverso la
criptoeconomia.

Obiettivi

Ad un livello di astrazione molto alto, gli
obiettivi di una rete digitale p2p decentralizzata devono essere
sicuri e fornire valore. In pratica:

Cose che vogliamo incoraggiare:

  • Esecuzione
    affidabile (puoi fidarti che la tua transazione sarà eseguita)
  • Accesso aperto
    (chiunque può accedere e leggere il codice, nulla è bloccato per
    essere visto da pochi privilegiati)
  • Fast Finality
    (le transazioni sono eseguite rapidamente e in modo irreversibile)
  • Controllo
    decentralizzato (non esiste un’autorità centrale che controlla il
    protocollo e la rete)
  • Economicità (incoraggia molte
    transazioni)

Cose che vogliamo evitare:

  • Safety Failure
    (ad es. Qualcuno ruba i tuoi token)
  • Censura (ad es.
    Qualcuno decide che un determinato gruppo di persone non dovrebbe
    essere autorizzato a effettuare transazioni)
  • Slow Finality
    (opposto di Fast finality)
  • Controllo
    centralizzato (opposto al controllo decentralizzato)
  • Costo alto delle transazioni (duh)

Ad un livello più profondo, questi
obiettivi possono essere raggiunti dai seguenti:

  • Convergenza (un
    blocco va sopra l’altro blocco e quindi mantiene la sequenza
    corretta nella blockchain)
  • Disponibilità
    dei dati (l’accesso aperto facilita il decentramento)
  • Validità (ogni
    transazione è valida, aiuta a evitare la doppia spesa)
  • Disponibilità
    della rete a tutti, che equivale alla resistenza alla censura
  • Timestamping
    (che ci aiuta a determinare sequenze di blocchi, validità della
    transazione e altro)
  • Prestazioni elevate in diversi modelli
    di sicurezza criptoeconomici

Modelli di sicurezza

L’ultimo punto, i modelli di sicurezza
criptoeconomici,
è un concetto fondamentale importante. Questi
modelli di sicurezza sono fondamentali per la progettazione
di reti p2p decentralizzate.

I modelli di sicurezza sono ipotesi sullo stato
della rete e dei suoi partecipanti. Sono anche sfide più tecniche
che derivano dalla natura decentralizzata della rete. I modelli di
sicurezza possono ipotizzare quale percentuale di partecipanti sia
onesta o se agiscono individualmente, se possono colludere o se
possono essere corruttibili.

Non ho intenzione di elaborare troppo su di
loro, ma qui c’è una panoramica di base con ulteriori consigli di
lettura.

Byzantine Fault Tolerance: una
rete decentralizzata ha tolleranza all-errore dei generali bizantini
se può funzionare nonostante diverse modalità di errore descritte
nel Problema del generale bizantino (ad esempio una certa percentuale
di partecipanti è disonesta e una minaccia per la sicurezza del
sistema). Per saperne di più su Byzantine Fault Tollerance
nell’articolo
di Georgios
Konstantopoulos
qui
.

Modello di scelta non coordinato: un
modello di scelta non coordinata presuppone che i partecipanti
prendano decisioni indipendenti e siano più piccoli di una certa
dimensione.

In un modello di scelta non coordinato,
possiamo assumere un modello di maggioranza onesto
in cui nessun partecipante ha più del 50% della potenza di hashing.
La sicurezza è compromessa quando qualcuno acquisisce più del 50%
della potenza di hashing. Ciò consentirebbe loro di manipolare la
blockchain e includere transazioni difettose. (Questo 50% è più
sfumato nella realtà). Il modello della maggioranza onesta è
un’ipotesi molto ottimistica e quindi non molto elastico
nell’affrontare le difficoltà del mondo reale.

Più realisticamente, è stato dimostrato che
la sicurezza della blockchain di Bitcoin può essere compromessa se
un utente malintenzionato ha poco più di 1/3 della potenza di
hashing. (Leggi di più su questo nel
documento Cornell di Emin Gün Sirer
.)

In generale, è sempre più irrealistico
presumere che non vi sia alcuna collusione e che la sicurezza possa
essere compromessa dalla collusione.

Modello a scelta coordinata: l’opposto
del modello a scelta non coordinata. Presume che la maggior parte o
tutti gli attori stiano colludendo attraverso qualche agente o
coalizione.

Modello dell’attaccante corrotto: il
modello dell’attaccante corrotto non presuppone alcun coordinamento
tra i partecipanti alla rete. I partecipanti sono corrotti per
prendere decisioni individualmente che alla fine compromettano la
sicurezza della rete come un totale. Vitalik Buterin lo spiega
ulteriormente in
questo video intorno a 20min24s
.

Come potete immaginare, questi modelli sono
l’assunto fondamentale dietro il design della nostra rete. Se si
assume un modello a maggioranza onesta, non è necessario prendere in
considerazione il numero di fattori e possibili attacchi come quando
si assume un modello a scelta coordinata o un modello di attacco di
bustarelle. Penso che svilupperemo sempre più di questi con il
tempo.

I due pilastri della Cryptoeconomia

Come già accennato in precedenza, la
criptoeconomia si divide in due pilastri:

  1. Crittografia: tecniche che proteggono i messaggi
  2. Incentivi economici: regole e premi che ti incoraggiano ad aggiungere valore alla rete

Strumenti crittografici

Come accennato in precedenza, gli strumenti
crittografici sono tecniche che mantengono i messaggi sicuri e
immutabili. Sono una parte vitale di Bitcoin e nelle altre blockchain
e quindi della criptoeconomia. Alcuni degli strumenti crittografici
più basilari (detti primitivi crittografici) sono funzioni
hash e firme digitali. Definirò le basi di questi due primitivi
crittografici perché sono così fondamentali per la blockchain.

Funzioni di hashing

Una funzione di hash è una funzione che
accetta un input di qualsiasi dimensione x e ti dà
un’uscita con una dimensione fissa H (x). Bitcoin usa la
funzione hash SHA-256, che è stata progettata dalla NSA sulla base
della funzione Merkle-Damgard.

Soddisfa tre qualità importanti:

  • 1.
    Resistenza alla collisione:
    una funzione hash è resistente
    alla collisione se è difficile trovare due ingressi diversi che
    darebbero lo stesso hash all’uscita. Cioè, vogliamo evitare questo:
    H (x) = H (y) mentre x ≠ y.
    Senza la resistenza di collisione,
    un attaccante potrebbe essere in grado di sostituire un messaggio
    originale “a” con uno falso “b” se produce lo
    stesso hash H (a) = H (b).
  • 2.
    Nascondere
    : una funzione di hash si nasconde se non esiste
    un modo fattibile per dedurre l’input originale x in H (x). Il
    problema è che se l’input proviene da un intervallo molto piccolo,
    ad esempio è uno dei due valori possibili, qualcuno potrebbe
    semplicemente testare i due valori possibili e facilmente intuire
    quale fosse l’input originale x. Quindi, se possiamo nascondere
    l’input x concatenandolo con un altro input che proviene da un
    intervallo molto ampio, è impossibile scoprire x. H (r || x) si
    nasconde dove r è un valore casuale.
  • 3. Compatibilità con i puzzle:
    una funzione di hash è adatta ai rompicapo se conosciamo una parte
    casuale dell’input e conosciamo l’hash H (x), ma è difficile
    trovare il resto dell’input. Dobbiamo provare ogni possibilità a
    caso per trovare il resto dell’input. Questa proprietà è
    necessaria per il mining di Bitcoin: i minatori cercano di risolvere
    i puzzle crittografici per decidere il prossimo blocco.

Per ulteriori informazioni sulle funzioni di hash, è possibile leggere un post sul blog facile da digerire di Hang Lu Su.

Hai notato come la più piccola differenza nella stringa di input
genera un hash completamente diverso?

Firme digitali

Una firma digitale imita una firma manoscritta
analogica. Una firma lega la nostra identità a un messaggio (ad
esempio dimostra che sono proprio io, Anami Nguyen, che ha firmato un
assegno a tuo favore). Una firma digitale ha praticamente la stessa
funzione in una rete p2p decentralizzata. Ci aiuta a identificare che
determinati messaggi (transazioni) provengono effettivamente da una
certa identità. Una firma digitale soddisfa questi tre requisiti:

1) Solo tu puoi fare la tua
firma. 
(Analogia della vita reale: quando scrivo il mio nome
in un certo modo, spero che nessuno possa scriverlo allo stesso
modo.)

2) Chiunque può verificare la tua
firma. 
(Analogia della vita reale: un impiegato di banca
casuale dovrebbe essere in grado di verificare che la firma sia
effettivamente di Anami Nguyen. Se non è possibile soddisfare questo
criterio, la firma è praticamente inutile.)

3) La firma è legata ad uno specifico
documento. 
(Analogia della vita reale: la mia firma non può
essere slegata dall’assegno che ho firmato ed essere allegata ad un
documento differente.)

Ci sono tre differenti algoritmi che
compongono una firma digitale:

1. (sk, pk): = generateKeys (keysize) Il metodo
generateKeys prende una dimensione della chiave e genera una coppia
di chiavi: – sk è la chiave segreta che si mantiene in privato per
firmare i messaggi.
 
– pk
è la chiave pubblica che viene utilizzata per verificare la firma da
chiunque.Applicazione: la chiave pubblica è la tua identità
pubblica (o il tuo indirizzo in Bitcoin).
Perché qualcuno possa
parlare nel nome dell’identità pk, deve conoscere la chiave segreta
corrispondente, sk.È molto simile al concetto
dell’username e della relativa password a cui siamo già abituati. In
questo modo evitiamo che qualcuno rivendichi l’identità di qualcun
altro e mandi messaggi (e faccia transazioni) per loro conto.

2. sig: = sign (sk, message)
Il
metodo sign accetta un messaggio e una chiave segreta, sk,
come suo input. Quindi emette una firma per il messaggio sotto
sk.Application
: come accennato in precedenza, la firma dovrebbe
essere valida solo per un determinato documento. Il metodo della
firma lo garantisce.

3. isValid: = verify (pk, message, sig)
Il metodo di
verifica accetta come input un messaggio,
una firma e una chiave pubblica pk . Restituisce un
valore booleano (valore vero / falso), isValid, che sarà
vero se sig è una firma valida per il messaggio sotto
chiave pubblica pk, e falso altrimenti.Applicazione
:
questo metodo combina i componenti di cui sopra. Chiunque dovrebbe
essere in grado di verificare se un determinato messaggio (ad esempio
una transazione) è stato effettivamente firmato dalla propria chiave
pubblica.

Pertanto, una firma valida deve mostrare che:

verify (pk, message, sig (sk, message)) == true

Per maggiori dettagli sulle funzioni di hash e
le firme digitali, consulta il capitolo 1 del libro
Bitcoin di Princeton
. Esistono altri strumenti di crittografia
che ci aiutano a mantenere la blockchain sicura, ma che andrebbero
oltre lo scopo di questo articolo. Se sei incline a saperne di più
sulla crittografia, Stanford ha una classe
online di Crittografia I.

Strumenti economici

Ora che sappiamo di più su alcuni strumenti
crittografici di base, passiamo alla seconda parte della
criptoeconomia. Gli strumenti economici sono incentivi che
incoraggiano e scoraggiano determinati comportamenti tra i
partecipanti alla rete.

Lo strumento economico più basilare è l’uso
di token e meccanismi di consenso.

Token

I token sono beni scambiabili all’interno della
rete p2p decentralizzata. Il token più famoso nel mondo cripto è
Bitcoin.

Oltre il Bitcoin, i token possono essere
scambiati con una varietà di beni e servizi. Ad esempio, puoi
noleggiare i tuoi cicli di CPU / GPU in eccesso tramite
il Golem Network
e ottenere il pagamento dal GNT (Golem Network
Token) come ricompensa per il tuo servizio. La presenza di token crea
un valore condiviso tra i partecipanti alla rete, il che rende le
reti p2p decentralizzate più come economie o ecosistemi separati.

Ora vediamo come vengono usati i token per
incentivare il comportamento desiderabile nella rete Bitcoin.

La ricompensa del blocco

Supponiamo che tu sia un nodo che crea un nuovo
blocco da includere nella blockchain di Bitcoin. Sei ricompensato per
il tuo lavoro essendo autorizzato a includere una transazione
speciale (transazione della base monetaria). Questa
transazione ti consente di inviare la ricompensa della nuova base
monetaria al tuo indirizzo. Attualmente (giugno 2018) i minatori
ricevono una ricompensa di 12,5 bitcoin. (La ricompensa del blocco
diminuisce ad una velocità prefissata, che puoi esplorare
qui
. Potrei scrivere di più sull’intera questione deflazione /
inflazione più avanti, rimanete sintonizzati!)

Sarai in grado di raccogliere la ricompensa
solo se il nuovo blocco viene accettato dal resto della rete. Altri
nodi esprimono la loro accettazione includendo l’hash del nuovo
blocco nel blocco successivo che creano. Ciò li incentiva a
includere solo i blocchi con transazioni valide. Poiché ritieni che
non accetteranno il tuo nuovo blocco se includi transazioni
difettose, sei incentivato a includere solo transazioni valide se
desideri ricevere la ricompensa.

Spese di transazione

Come accennato in precedenza, la ricompensa per
la creazione di nuovi blocchi diminuisce a una velocità impostata,
il che significa che esiste una quantità limitata di bitcoin. Ma
cosa incentiva i partecipanti a continuare a costruire la blockchain
di Bitcoin e ad eseguire transazioni se non vengono premiati dalla
possibilità di estrarre nuovi bitcoin? Semplice: loro ricevono delle
commissioni per ogni transazione che includono nei loro blocchi.

Le commissioni di transazione disincentivano
anche i partecipanti dal rallentare la rete inviando transazioni da e
verso i propri account.

Meccanismi di consenso

I partecipanti a una rete p2p decentralizzata
devono concordare – devono raggiungere il consenso - sullo
stato della rete e su quali blocchi e transazioni includere nella
blockchain. Abbiamo bisogno di un meccanismo che aiuti a eliminare i
problemi derivanti dal decentramento e dall’eventuale presenza di
avversari.

Un meccanismo di consenso è un protocollo
nella parte superiore della blockchain che prende come blocco il
blocco proposto da ciascun nodo e seleziona un blocco valido
come output.

Diamo un’occhiata al meccanismo di consenso di
Proof-of-Work di Bitcoin. In parole povere, i
minatori devono spendere una grande quantità di potenza
computazionale per dimostrare di avere “pelle nel gioco” e
quindi possono proporre un nuovo blocco. Spendono questo potere
computazionale risolvendo i puzzle di hash basati sulle proprietà
delle funzioni di hash che ho menzionato prima. Non ho intenzione di
approfondire i dettagli tecnici di questi enigmi, ma puoi leggere di
più su ciò nelle pagine 64-67 del libro
di Princeton Bitcoin
. Da una prospettiva criptoeconomica, è
importante notare che i minatori devono spendere una valuta legale
per acquistare potenza di calcolo (oggigiorno sotto forma di chip
ASIC altamente specializzati e ad alte prestazioni). Con ciò, hanno
speso risorse significative che avrebbero perso se il loro blocco non
fosse incluso nella blockchain.

Un altro meccanismo di consenso popolare è
Proof-of-stake. Generalmente, questo meccanismo di
consenso funziona avendo un insieme di validatori che a turno
propongono e votano sul blocco successivo, e il peso del voto di
ciascun validatore dipende dalla dimensione del deposito puntato.
Perdono la loro partecipazione se il blocco non è incluso nella
blockchain e sono quindi incentivati a votare su blocchi che
includono solo transazioni valide. Se vuoi saperne di più su
Proof-of-Stake, ti suggerisco di leggere attentamente gli scritti di
Vlad Zamfir e Vitalik Buterin, che stanno sostenendo PoS per Ethereum
(che attualmente funziona su PoW).

Possibili attacchi alla rete

Quali sono gli attacchi? Un attacco alla
blockchain si verifica quando qualcuno minaccia la sicurezza, la
credibilità e il valore della blockchain cercando di includere
transazioni difettose (es. Transazioni a doppia spesa). In
alternativa, qualcuno potrebbe provare ad attaccare una blockchain
per pura malizia o per ragioni politiche. Darò una breve panoramica
di alcuni attacchi ipotetici alla blockchain di Bitcoin.

Attacco del 51% (Honest
Majority Level)

Uno dei modi più semplici per abilitare
transazioni a doppia spesa o errate consiste nel forgiare la
blockchain e quindi includere o escludere determinate transazioni.
Per questo, i nodi devono accettare il nuovo blocco che include
transazioni difettose e crearne uno sopra. La catena biforcata deve
superare la catena attuale crescendo più velocemente e diventando
più lunga perché i nodi di solito posizionano nuovi blocchi in cima
alla blockchain più lunga. Questo attacco può accadere se qualcuno
ha una maggioranza – oltre il 50% – del potere di hashing. Assumiamo
che la blockchain di Bitcoin sia sicura perché assumiamo un modello
di maggioranza onesto in cui oltre il 50% dei partecipanti è onesto.
È l’attacco teorico più noto alla blockchain di Bitcoin. Ci sono
molte sfumature da considerare nella realtà. Per dirne una, un
attacco potrebbe funzionare anche se l’attaccante ha meno del 50%
della potenza di hashing.

Teoricamente, un attaccante che ha un guadagno
puramente economico dovrebbe essere scoraggiato dall’attuare un
attacco del 51% perché il valore della rete (tasso di cambio Bitcoin
/ fiat) si arresterebbe immediatamente dopo l’attacco. L’attaccante
si sarebbe praticamente sparato al suo stesso piede. Tuttavia,
qualcuno potrebbe essere motivato da ragioni ideologiche o politiche
per distruggere la blockchain dei Bitcoin. Oppure, potrebbero vendere
Bitcoin allo scoperto e quindi lanciare l’attacco per trarre profitto
dal crash Bitcoin. Ci sono molti altri fattori da considerare e
analisi da fare … sfortunatamente, sono al di fuori dello scopo di
questo articolo.

P + Epsilon Attack

La realtà è che nessuno che possiede bitcoin
dovrebbe
volere che la blockchain venga attaccata perché li
danneggerebbe. Tuttavia, una tipica tragedia dei beni comuni potrebbe
verificarsi se ognuno agisce sui propri incentivi egoistici e accetta
una tangente, che alla fine porta a perdite a lungo termine per tutti
i partecipanti alla rete. La tragedia è che nessuno vuole
danneggiare la rete, ma succede comunque.

In un attacco P + ε, qualcuno può corrompere
i partecipanti alla rete senza alcun costo. Diciamo che tutti devono
votare se 2 +2 = 4 è vero, quindi voteranno Sì o No. Certo, il voto
onesto è Sì. Se voti come la maggioranza dei partecipanti, ricevi
una ricompensa P. Se il tuo voto è in minoranza, ricevi 0. Tutti
pensano che l’altro voterà Sì e quindi tutti votano Sì. Stiamo
vivendo un cosiddetto equilibrio
di Nash
, in cui ognuno ottiene quello che vuole.

Tuttavia, immagina che un aggressore voglia che
tu voti No. Saresti sciocco a farlo perché tutti gli altri voteranno
Sì, quindi il tuo voto sarà in minoranza e non otterrai alcuna
ricompensa P. Tuttavia, l’attaccante si impegna in modo credibile
(es. Tramite contratto Ethereum) a pagarti una ricompensa P + ε (la
ricompensa originale più un piccolo extra) se voti No e se
sei in minoranza. Improvvisamente, è nel tuo migliore interesse
votare No: se sei in maggioranza, vincerai P e se sei in minoranza
vincerai P + ε. D’altra parte, se si vota Sì, vincerai solo se sei
maggioritario ma perderai se sei minoritario. Ora, a causa della
bustarella, tutti voteranno No. All’improvviso, i votanti “No”
sono nella maggioranza e l’attaccante non ha nemmeno bisogno di
pagare nessun votante per il no perché sono nella maggioranza.

Nelle reti decentralizzate p2p che mantengono
una blockchain il voto riguarda l’inclusione o meno di transazioni
difettose. I partecipanti non dovrebbero voler includere transazioni
difettose o doppie spese, ma potrebbero essere corrotti per farlo.

Puoi controllare alcuni possibili modi per
mitigare questo rischio nel blogpost di Vitalik Buterin.

Forse hai notato che la maggior parte dei
problemi che ho descritto possono essere di natura tecnica e / o
economica. I problemi che sorgono dall’avidità razionale dell’uomo
(ad es. Tragedia dei beni comuni) possono essere risolti con la
crittografia. La tolleranza ai bizantini, che è un problema tecnico,
può essere risolta con incentivi economici. Trovo che questa
intersezione tra tecnologia ed economia sia particolarmente
stimolante e affascinante.

Riepilogo

Abbiamo appreso che la criptoeconomia è la
spina dorsale delle reti decentralizzate di p2p. La criptoeconomia
combina la crittografia con incentivi economici per mantenere la rete
sicura e incentivare la partecipazione. Abbiamo appreso che ci sono
delle ipotesi che facciamo sullo stato del mondo quando progettiamo
reti crittografiche che sono chiamate modelli di sicurezza (ad
esempio, Modello di scelta non coordinato, Modello di maggioranza
onesta, ecc.). Alcuni dei concetti di crittografia più basilari sono
le funzioni hash e le firme digitali, che aiutano a prevenire gli
attacchi di sicurezza tra le altre funzioni. Dal punto di vista degli
incentivi economici, potremmo utilizzare i token e i meccanismi di
consenso (come la Prova di lavoro) per proteggere la rete e motivare
i partecipanti a contribuire ad essa, ad esempio spendendo USD in
termini di potenza computazionale per estrarre Bitcoin. Ci sono molte
possibilità di attaccare una rete p2p decentralizzata, come
l’attacco del 51% e l’attacco P + epsilon. Essendo un campo nuovo e
fondamentalmente non accademico all’interno della comunità cripto,
la criptoeconomia è in continua evoluzione e dipende dalle capacità
di teorizzazione e di risoluzione dei problemi di tutti i membri
della comunità cripto. La combinazione di crittografia e incentivi
economici rende le reti decentralizzate p2p sicure, preziose e
affidabili.