Perché c'è solo Bitcoin
Introduzione Il punto di partenza di questo viaggio può essere solo il punto di partenza del viaggio. Un'analisi del primo articolo scientifico che l’individuo, o più probabilmente il gruppo, sotto la firma di Satoshi Nakamoto, pubblica nel 2008: “Bitcoin: un sistema di moneta elettronica peer-to-peer”. Questo primo post esplorerà le ragioni per cui i massimalisti di Bitcoin si rifanno al motto: "esiste solo Bitcoin". Immergendoci in questo dogmatismo, cercheremo di svelare se le origini, il protocollo e gli aspetti finanziari della blockchain e della cripto-valuta originali siano all'altezza di questo standard. Nell’introduzione dell’articolo leggiamo che i problemi che Bitcoin dovrebbe mirare a risolvere sono le debolezze intrinseche dei modelli basati sulla fiducia, dove: le transazioni economiche (elettroniche) totalmente irreversibili non sono realmente possibili, poiché governi, banche centrali e altri intermediari finanziari, nel gestire il sistema finanziario, si riservano la possibilità di intervenire e modificare le transazioni o, più in generale, i flussi finanziari per garantire la stabilità macroeconomica (ad esempio, in caso di crisi finanziarie, politiche monetarie, o controllo dei capitali); ai commercianti, accettando servizi di pagamento online, conviene loro diffidare dei loro clienti, importunandoli per ottenere più informazioni di quanto altrimenti necessiterebbero; una certa percentuale di frode è accettata come inevitabile; la proprietà stessa delle infrastrutture, servizi e dati (più o meno personali) è nelle mani di terze parti; La soluzione proposta è un sistema di pagamento elettronico basato sulla prova crittografica invece che sulla fiducia. Prima di approfondire cosa sia la crittografia e come venga utilizzata in Bitcoin, dobbiamo capire l'intuizione e fare pace con quello che i media descrivono: o come un sistema impossibile da comprendere per nerd puristi dell’informatica, o come un grande calderone di illegalità relegato a terroristi o hackers cyberpunk anarco-insurrezionalisti. Bitcoin è solo una lucida risoluzione di problemi, dove una cosa viene introdotta dopo l'altra per arrivare all’obbiettivo. Analisi del whitepaper (1/4) dall’intuizione alla crittografia per la blockchain Il problema da risolvere è rimuovere la necessità di una terza parte (ad esempio, le banche) per la risoluzione di pagamenti elettronici. Primo problema: doppia spesa. Il primo problema intuitivo, e più importante da risolvere, è assicurarsi che la persona con cui stai interagendo sia in possesso dei soldi che dice di avere. Come fare? Abbiamo bisogno di rintracciare tutti i movimenti che la persona ha fatto nel passato (non possiamo escluderne neanche uno). Se puoi essere sicuro della storia completa del suo saldo, allora puoi fidarti che i fondi siano lì: se le uniche transazioni sono +10, -5, allora sai che 5 rimangono da spendere. Ovviamente non è una soluzione praticamente attuabile, per almeno i seguenti motivi: Oneroso: impossibile fare questi conti da soli per tutti i potenziali incontri economici; non stiamo parlando di tenere il conto di un piccolo bar di paese. Fiducia: difficile assicurare che le transazioni non siano state falsificate. Questo problema è riassunto e semplificato con il nome della “doppia spesa” (falsificare le transazioni in modo che una spesa non sia registrata, così che possa essere spesa la stessa quantità di denaro due volte). Prima soluzione: registro contabile. Una soluzione è quella di introdurre un’entità centrale, come per esempio le banche o la zecca, per fare in modo che tutte le transazioni siano verificate ed ordinate in modo da essere sicuri di cosa sia avvenuto prima. Per fare un esempio pratico, pensiamo alla nostra vita quotidiana: il datore di lavoro fa un bonifico con la sua banca, il denaro arriva alla tua banca; vai a fare un acquisto, spendi con la carta/fai un bonifico da un commerciante. Il commerciante è sicuro della catena di transazioni precedenti che stanno portando il denaro dalla tua alla sua banca, perché al momento del pagamento con carta o alla creazione di un bonifico, è la banca del cliente ad accettare o rifiutare la transazione. Qual è il passaggio che permette al pagamento di partire? La verifica che le catene di transazioni precedenti abbiano creato fondi sufficienti a permettere la transazione in corso; in altre parole, che l’acquisto dal commerciante sia coperto. Una possibile soluzione consiste nell’introdurre un ente centrale, come ad esempio le banche o la zecca, che verifichi e ordini tutte le transazioni per garantire che sia chiaro l'ordine cronologico degli eventi. Facciamo un esempio pratico: immagina la tua vita quotidiana. Il datore di lavoro effettua un bonifico alla sua banca, che trasferisce il denaro alla tua banca. Poi, quando fai un acquisto e paghi con carta o con un bonifico, il commerciante può essere sicuro che il denaro stia arrivando dalla tua banca alla sua. Que

Introduzione
Il punto di partenza di questo viaggio può essere solo il punto di partenza del viaggio. Un'analisi del primo articolo scientifico che l’individuo, o più probabilmente il gruppo, sotto la firma di Satoshi Nakamoto, pubblica nel 2008: “Bitcoin: un sistema di moneta elettronica peer-to-peer”.
Questo primo post esplorerà le ragioni per cui i massimalisti di Bitcoin si rifanno al motto: "esiste solo Bitcoin". Immergendoci in questo dogmatismo, cercheremo di svelare se le origini, il protocollo e gli aspetti finanziari della blockchain e della cripto-valuta originali siano all'altezza di questo standard.
Nell’introduzione dell’articolo leggiamo che i problemi che Bitcoin dovrebbe mirare a risolvere sono le debolezze intrinseche dei modelli basati sulla fiducia, dove:
- le transazioni economiche (elettroniche) totalmente irreversibili non sono realmente possibili, poiché governi, banche centrali e altri intermediari finanziari, nel gestire il sistema finanziario, si riservano la possibilità di intervenire e modificare le transazioni o, più in generale, i flussi finanziari per garantire la stabilità macroeconomica (ad esempio, in caso di crisi finanziarie, politiche monetarie, o controllo dei capitali);
- ai commercianti, accettando servizi di pagamento online, conviene loro diffidare dei loro clienti, importunandoli per ottenere più informazioni di quanto altrimenti necessiterebbero;
- una certa percentuale di frode è accettata come inevitabile;
- la proprietà stessa delle infrastrutture, servizi e dati (più o meno personali) è nelle mani di terze parti;
La soluzione proposta è un sistema di pagamento elettronico basato sulla prova crittografica invece che sulla fiducia.
Prima di approfondire cosa sia la crittografia e come venga utilizzata in Bitcoin, dobbiamo capire l'intuizione e fare pace con quello che i media descrivono: o come un sistema impossibile da comprendere per nerd puristi dell’informatica, o come un grande calderone di illegalità relegato a terroristi o hackers cyberpunk anarco-insurrezionalisti.
Bitcoin è solo una lucida risoluzione di problemi, dove una cosa viene introdotta dopo l'altra per arrivare all’obbiettivo.
Analisi del whitepaper (1/4)
dall’intuizione alla crittografia per la blockchain
Il problema da risolvere è rimuovere la necessità di una terza parte (ad esempio, le banche) per la risoluzione di pagamenti elettronici.
Primo problema: doppia spesa.
Il primo problema intuitivo, e più importante da risolvere, è assicurarsi che la persona con cui stai interagendo sia in possesso dei soldi che dice di avere. Come fare? Abbiamo bisogno di rintracciare tutti i movimenti che la persona ha fatto nel passato (non possiamo escluderne neanche uno). Se puoi essere sicuro della storia completa del suo saldo, allora puoi fidarti che i fondi siano lì: se le uniche transazioni sono +10, -5, allora sai che 5 rimangono da spendere.
Ovviamente non è una soluzione praticamente attuabile, per almeno i seguenti motivi:
- Oneroso: impossibile fare questi conti da soli per tutti i potenziali incontri economici; non stiamo parlando di tenere il conto di un piccolo bar di paese.
- Fiducia: difficile assicurare che le transazioni non siano state falsificate. Questo problema è riassunto e semplificato con il nome della “doppia spesa” (falsificare le transazioni in modo che una spesa non sia registrata, così che possa essere spesa la stessa quantità di denaro due volte).
Prima soluzione: registro contabile.
Una soluzione è quella di introdurre un’entità centrale, come per esempio le banche o la zecca, per fare in modo che tutte le transazioni siano verificate ed ordinate in modo da essere sicuri di cosa sia avvenuto prima. Per fare un esempio pratico, pensiamo alla nostra vita quotidiana: il datore di lavoro fa un bonifico con la sua banca, il denaro arriva alla tua banca; vai a fare un acquisto, spendi con la carta/fai un bonifico da un commerciante. Il commerciante è sicuro della catena di transazioni precedenti che stanno portando il denaro dalla tua alla sua banca, perché al momento del pagamento con carta o alla creazione di un bonifico, è la banca del cliente ad accettare o rifiutare la transazione. Qual è il passaggio che permette al pagamento di partire? La verifica che le catene di transazioni precedenti abbiano creato fondi sufficienti a permettere la transazione in corso; in altre parole, che l’acquisto dal commerciante sia coperto.
Una possibile soluzione consiste nell’introdurre un ente centrale, come ad esempio le banche o la zecca, che verifichi e ordini tutte le transazioni per garantire che sia chiaro l'ordine cronologico degli eventi. Facciamo un esempio pratico: immagina la tua vita quotidiana. Il datore di lavoro effettua un bonifico alla sua banca, che trasferisce il denaro alla tua banca. Poi, quando fai un acquisto e paghi con carta o con un bonifico, il commerciante può essere sicuro che il denaro stia arrivando dalla tua banca alla sua. Questo accade perché è la banca del cliente a verificare e approvare o rifiutare la transazione al momento del pagamento. La domanda, quindi, è: quale passaggio consente al pagamento di partire? La risposta è che la banca verifica che le transazioni precedenti abbiano creato fondi sufficienti per coprire l'importo dell'acquisto presso il commerciante.
E così via per tutte le transazioni precedenti (fino ipoteticamente all’emissione stessa della moneta).
La sovrastruttura della società ci confonde su meccanismi banali. I soldi vengono creati, stampati e distribuiti. Dopo mille rigiri, arrivano nel tuo conto corrente. Tutto il sistema finanziario, altro non è che un grandissimo registro contabile. Più soldi, meno soldi; questo per l’eternità dei tempi.
Bitcoin: rendiamo pubblico il registro contabile.
In parole molto essenziali, nell’articolo si legge: p*er fare lo stesso ma senza un'autorità di fiducia, (1) le transazioni devono essere annunciate pubblicamente*, e abbiamo bisogno di un sistema attraverso il quale i partecipanti (2) concordino su un singolo passato dell'ordine in cui esse sono state ricevute. Ma come fare?
Per il primo punto, è triviale, basta semplicemente rendere pubblicamente accessibili online queste transazioni.
Per il secondo punto dobbiamo introdurre la crittografia. Un respirone, non è affatto difficile.
Parentesi crittografia.
Se stai leggendo questo articolo da un dispositivo connesso ad internet, ti consiglio di seguire questo paragrafo utilizzando il seguente sito web: https://andersbrownworth.com/blockchain/hash, dove troverai una pratica interfaccia dove mettere in pratica quello di cui parleremo.
SHA256 è il nome del primo tassello di cui parleremo. SHA è l’acronimo di Secure Hashing Algorithms. Un algoritmo è una serie di istruzione, semplice o complessa, che dato un input ritornano un certo output (chiamato appunto hash.. non quello da fumare). Per capirci, immagina di avere un algoritmo che si chiama Pluto: il compito di Pluto è quello di sostituire tutte le vocali con la vocale u. La parola “albero” passata da Pluto restituisce la parola “ulburu”. Mi segui? Bene, complimenti, hai capito metà della crittografia.
Il compito di SHA256 è quello di trasformare un qualsiasi input in una sequenza esadecimale di 256 bit chiamata “hash”. Non ti spaventare: esadecimale è come dire alfabeticale, ma l’alfabeto è diverso ed è composto dai numeri da 0 a 9 insieme alle lettere da a ad f. Per rappresentare tutto questo alfabeto servono solo 4 bit. Non ti fidi? Guarda qua sotto:
-
Corrispondenza:
- 0 in esadecimale è 0000 in binario
- 1 in esadecimale è 0001 in binario
- 2 in esadecimale è 0010 in binario
- ...
- 9 in esadecimale è 1001 in binario
- A in esadecimale è 1010 in binario
- B in esadecimale è 1011 in binario
- C in esadecimale è 1100 in binario
- D in esadecimale è 1101 in binario
- E in esadecimale è 1110 in binario
- F in esadecimale è 1111 in binario
Quindi immaginati una lettera formata da _ _ _ _ spazi (bit) che possono essere 0 oppure 1.
Torniamo allo SHA256. 256 bit vuol dire che abbiamo 256 di questi spazi _. Quindi il nome di questo algoritmo ci sta semplicemente dicendo che il suo compito, similmente a quello di Pluto, è quello di produrre, dato un qualsiasi input, 256 (bit totali) / 4 (bit necessari per una lettera) = 64 lettere esadecimali.
Quali? Sta qui il bello. Impossibile saperlo in anticipo. Ti saresti chiesto, a prescindere, quali lettere avrebbe avuto la parola dopo essere passata da Pluto. No, perché dipendeva dalle parole in entrata (”albero” diventa “ulburu”, ma “cane” diventa “cunu”)!
La struttura interna dell’algoritmo SHA256 è ovviamente molto più complessa di quella del nostro Pluto, ma non ci serve sapere quale sia il percorso dell’input. A noi serve soltanto l’output.
Due esempi di output di SHA256:
albero = a107d76d7a75f34d5997da1c10ad97aeff245530bfe549af5f10bc5c8402fba1
cane = df39220189ca8225b3ef4bb8f3654b2217c11b056cb764a806586f3b95530052
Mi dirai.. A che cosa serve tutto questo ammasso di lettere? Certo, per noi non è comodissimo lavorare con questo insieme di lettere e numeri, ma per il computer non fa alcuna differenza. Guarda quanto è lungo il testo di questo articolo in confronto a quelle 64 lettere; eppure non hai alcuna difficoltà a seguirlo! Si tratta semplicemente di formati e convenzioni, non ti far confondere!
La necessità di arrivare ad esattamente questo formato è semplice quanto fondamentale. Per capirlo, torniamo al nostro caro algoritmo. Mi faresti il piacere di usare il nostro algoritmo Pluto sulla parola “cono”? Come dici? “cunu”? Non era “cane”??
Questo fenomeno in crittografia è noto con il nome di collisione, cioè quando due input diversi producono lo stesso output attraverso una algoritmo di hashing. La domanda sorge spontanea.. “Mi stai dicendo che con 64 lettere esadecimali posso codificare qualsiasi parola senza mai correre il rischio di trovare due hash uguali??”. Esattamente, la probabilità è esattamente di una su $2^{256}$ (stiamo parlando di questo numero: 1 possibilità su 115792089237316195423570985008687907853269984665640564039457584007913129639936): talmente bassa da essere considerata impossibile.
Questo numero viene fuori dal fatto che SHA-256 produce un hash di 256 bit. Ogni bit può essere o 0 o 1, quindi ci sono 2 possibilità per ogni bit. Poiché un hash è lungo 256 bit, il numero totale di combinazioni possibili è dato da: 2x2x2x2.. 256 volte.
Tornando a “cane” e “cono”, i due hash, pur provenendo da due input molto simili, sono completamente diversi (”effetto valanga”).
cane = df39220189ca8225b3ef4bb8f3654b2217c11b056cb764a806586f3b95530052
cono = 7be50c758efd571dfd149c6736084e7a286eea788e42886847d8556e1d23409b
Questi algoritmi, come Pluto (se ci pensi bene), non si limitano ad una sola parola, ma esercitano il loro meccanismo anche su frasi, numeri, qualunque tipologia di input scritta.
1 = 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b
il mio nome è satoshi = 89e4ddc70499171c617e40c89b2cd608e71e4921713819d3222a530a7c2b9a5
3 + 2 = b1143f1f1e44cc246161976ff5f86854e35f4bb195a537d5e9653cab56a4990
Perché no, magari anche una serie di transazione economiche:
L’intera blocco di testo seguente:
2025-03-28
marco → 5€ → mario
mario → 2€ → alberto
alberto → 2€ → macchinetta caffe
risulta nel seguente hash
651db1dc366feea2b9065af08683200a7f252989600b9803da2374df0301cc63.
L’ultimo elemento che manca per poter concludere questa parentesi crittografica è la comprensione che, l’algoritmo è unidirezionale, non esiste un modo (proprio fisicamente, per la natura in cui l’algoritmo è stato scritto) per tornare indietro dall’hash all’input sul quale è stato usato l’algoritmo (diversamente da Pluto). Questa caratteristica di non reversibilità si sposa perfettamente con un'altra proprietà fondamentale degli algoritmi di hashing, la loro consistenza: per lo stesso input, verrà sempre generato lo stesso output. Se uso l’algoritmo due volte su “cane” avrò sempre lo stesso hash (come per Pluto).
Puoi sperimentare tu stesso come creare questi hash, seguendo il link all’inizio del paragrafo e cliccando sulle sezioni “hash” e “block”.
Perché si, hai già capito metà della block-chain. Un blocco non è altro che un insieme di transazioni economiche dal quale viene generati un hash, dando in input la lista di transazioni e la data in cui l’hash viene creato.
Ora ti chiedo, cosa succede se proviamo ad alterare la data in cui queste transazioni sono avvenute? Oppure, cosa succede se eliminiamo la seconda transazione? Se hai seguito, dovresti aver intuito la risposta: l’hash sarebbe completamente differente (prova tu stesso).
Questo vuol dire che abbiamo trovato un modo per fotografare una serie di transazioni nel momento t. Abbiamo cioè un meccanismo per creare una prova inconfutabile ed allo stesso tempo abbiamo creato un metodo per provarne la veridicità.
Ma che succede al tempo t+1? Come facciamo ad avere uno storico, come facciamo a creare una catena di blocchi?
Semplicemente geniale: inserisco nel blocco, quindi nella generazione dell’hash, l’hash del blocco precedente!
(ps: ignora per adesso l’elemento con indice 2 “nonce”, capirai a cosa serve più avanti).
Questo vuol dire che nella generazione dell’hash del blocco al tempo t+1, influisce quello del blocco precedente.
Adesso ti faccio la stessa domanda, cosa succede se modifico la quantità che alberto ha dato a francesco nel secondo blocco in modo che risulti che alberto abbia ancora un euro per comprarsi un espresso alle macchinette? Esatto, modifico l’hash del blocco 2 (perché, ancora, modifico l’input), ma questo che effetto ha sul blocco 3? Cambiando uno degli input, cambio l’output dell’hash dal secondo blocco che finisce a sua volta nel terzo blocco, invalidando in questo modo anche il terzo blocco e così via.
Il meccanismo che abbiamo appena descritto è esattamente ciò che rende una blockchain così sicura e immutabile. L'algoritmo di hashing unidirezionale e la concatenazione degli hash tra i blocchi sono la chiave per garantire la veridicità della blockchain.
Quando ogni blocco contiene l'hash del blocco precedente, qualsiasi modifica in uno dei blocchi (come alterare una transazione o una data) cambierebbe immediatamente l'hash di quel blocco. Ma non finisce qui: poiché l'hash di ogni blocco successivo dipende da quello precedente, ogni modifica si propagherebbe lungo tutta la catena, invalidando i blocchi successivi. In altre parole, se qualcuno provasse a modificare una transazione, l'intera sequenza di blocchi diventerebbe immediatamente inconsistente e facilmente rilevabile, grazie alla differenza negli hash.
Questa concatenazione tra blocchi, unita all'impossibilità di calcolare l'input partendo dall'hash (proprietà unidirezionale), rende ogni blocco della blockchain non modificabile senza alterare l'intera catena, creando così una prova inconfutabile che le transazioni siano state registrate correttamente e non siano state manipolate. Questo è esattamente ciò che garantisce la veridicità e la sicurezza di una blockchain: la sua struttura è progettata per rendere impossibile modificare i dati senza lasciare tracce evidenti, preservando l'integrità delle informazioni nel tempo.
Certo, mica vuol dire controllare tutto a mano con una lente di ingrandimento! Tutto questo è automatizzato.
Analisi del whitepaper (2/4)
dalla blockchain ad un sistema distribuito
Dall’intuizione della blockchain dobbiamo fare un piccolo passo in avanti per descrivere quale sia la reale dimensione della blockchain.
Prima di tutto, dobbiamo capire cosa si intende per una rete peer-to-peer (P2P): un paradigma di connessione internet, in cui, invece che connettere tutti i dispositivi ad un server centrale per la ricezione di servizi o contenuti (le foto di Instagram, per esempio), fa in modo che i dispositivi connessi alla rete siano considerati "pari" (peers) e si connettano soltanto tra di loro senza un punto di riferimento centrale. Ogni peer può (1) inviare e ricevere dati; (2) condividere risorse (come file, capacità di calcolo o banda); (3) collaborare con altri peer senza necessitare di una "autorità centrale". Quando un dispositivo (peer) si connette a una rete P2P, si collega a una serie di altri peer già presenti nella rete. Ogni peer, a sua volta, è connesso ad altri, creando una rete distribuita e decentralizzata. Quando un nuovo peer si unisce alla rete, ha bisogno di scoprire gli altri peer per poter comunicare con loro; esistono degli indici che ogni peer tiene aggiornato che consente a ogni nuovo peer di trovare facilmente altri senza la necessità di un server centrale (un po’ una semplificazione dei cosiddetti meccanismi di bootstrapping).
In una rete P2P, i dati (ad esempio, file) non vengono archiviati in un server centralizzato. Ogni peer conserva una parte dei dati e li condivide con altri peer. Un esempio famoso di questo tipo di sistema è BitTorrent: quando un peer vuole scaricare un file, lo scarica in più parti da vari altri peer che hanno quelle parti; una volta che un peer ha scaricato una parte del file, può iniziare a caricarla (condividerla) con altri peer. Così facendo, la rete diventa più resiliente: più peer ci sono, più veloce e stabile sarà il trasferimento dei file. Immaginiamo delle formichine che riescono in modo coordinato ed efficiente a distribuire un pezzo di pane enorme, senza bisogno di una gru centrale che lo muova.
Un aspetto cruciale delle reti P2P è la decentralizzazione. Non c'è un punto di controllo centrale che possa influenzare o gestire il traffico. Invece, ogni peer è autonomo e responsabile delle proprie azioni. Questa decentralizzazione è ciò che rende le reti P2P molto robuste e difficili da interrompere o censurare. Le reti P2P sono anche altamente scalabili. A mano a mano che nuovi peer si uniscono alla rete, la capacità complessiva della rete aumenta. Per esempio, se più persone condividono un file, la disponibilità di quel file cresce, e i tempi di download per ciascun peer diminuiscono.
Quindi Bitcoin cosa c’entra? Ti ricordi l’immagine di prima in cui abbiamo visto per la prima volta la blockchain? Ecco immaginati di replicare quella catena di blocchi all’interno di questo tipo di rete P2P, in modo che milioni di nodi abbiamo la replica esatta della stessa catena. Assume una robustezza ancora più notevole: per intervenire in modo malevole sulla rete, non serve più soltanto modificare una transazione presente nella catena e poi ricalcolare gli hash di tutti i blocchi successivi, serve fare questa operazione milioni di volte per modificare la copia presente in ogni nodo. Attenzione, mentre nuovi blocchi sono continuamente aggiunti a questa catena.
La domanda sorge spontanea, chi aggiunge blocchi alla catena?
Chi vince il gioco chiamato “proof-of-work”. Un gioco? Più o meno, dai. Cerchiamo di capire di cosa si tratta. Ti ricordi cosa succede all’hash di “cane” se scriviamo “cano”? Cambia completamente. Ecco, l’intuizione è la stessa. Cosa succede se al posto di “cane”, scriviamo “cane1”? Cambia completamente… e se scriviamo “cane2”? “cane3”? Ancora una volta, cambierà sempre completamente.
Ti ricordi la parola “nonce”? Che abbiamo visto sopra nell’immagine della blockchain? Ecco questo è il nome dei numeri che sto aggiungendo a cane. La proof-of-work è esattamente questo, cioè la ricerca di un numero da aggiungere alle transazioni economiche che verrano inseriti nel blocco, per modificare l’hash in un certo modo.
Modificare come? La proof-of-work comporta la ricerca di un valore restituisca un hash che inizia con un numero di zero bit. Se ci fai caso, infatti, gli hash dei blocchi della blockchain (in basso) iniziano tutti con un certo numero di zeri.
Il lavoro medio richiesto è esponenzialmente proporzionale al numero di zero bit richiesti e può essere verificato eseguendo una procedura precisa che dovresti riuscire ad immaginare: implica prendere l'hash del blocco ricevuto, estrarre il nonce incluso nel blocco e ricalcolare l'hash del blocco (con il nonce). Se l'hash ricalcolato corrisponde all'hash del blocco ricevuto e soddisfa il requisito del numero di zeri iniziali, la PoW è considerata valida. Quindi, la verifica comporta nuovamente il calcolo di hash ed il confronto con l'hash fornito.
Per compensare l'aumento della velocità dell'hardware e il variare dell'interesse dei nodi operativi col tempo, la difficoltà della proof-of-work è determinata da una media mobile che ha come obiettivo la creazione di un numero medio di blocchi ogni ora. Se i blocchi vengono generati troppo velocemente, la difficoltà aumenta.
La ricerca di questo numero può richiedere moltissimo tempo, è un’operazione non banale ed è molto energivora. Questa operazione prende il nome di “minare” il blocco e l’impatto ambientale attribuito a Bitcoin è esattamente legato a questo.
La proof-of-work ha un duplice effetto.
- Una volta che l'impegno computazionale è stato speso per soddisfare la proof-of-work, il blocco non può essere modificato senza rifare il lavoro. Poiché i blocchi successivi sono incatenati dopo di esso, il lavoro necessario per cambiare il blocco dovrebbe includere il rifacimento di tutti i blocchi successivi. Questo comporta il definitivo layer di sicurezza alla blockchain, perché una semplice contraffazione, anche solo di una insignificante virgola, comporta uno sforzo incommensurabile per quello che abbiamo visto finora:
- Gli hash dei blocchi vengono incatenati l’uni agli altri;
- La catena è distribuita in una rete P2P;
- Sebbene generare un singolo hash di un blocco è computazionalmente economico, la ricerca del nonce che produce un hash con la difficoltà richiesta è estremamente dispendioso in termini di tempo, energia e denaro, poiché richiede di calcolare un elevato numero di hash.
-
Questo costo computazionale assicura che i nodi considerino sempre come corretta la catena più lunga e continueranno a lavorare per allungare proprio questa. Se due nodi trasmettono diverse versioni del blocco successivo contemporaneamente, alcuni nodi possono ricevere l'una o l'altra prima. In tal caso, questi lavorano sul primo che hanno ricevuto, ma salvano l'altra ramificazione nel caso diventi più lunga.
Infatti, la rete è progettata per risolvere autonomamente questa situazione. I nodi che hanno ricevuto il blocco A inizieranno immediatamente la ricerca della Proof-of-Work per il blocco successivo (A+1), basandosi sull'hash del blocco A. Allo stesso modo, i nodi che hanno ricevuto il blocco B inizieranno a minare il blocco B+1, basandosi sull'hash del blocco B.
La chiave è che la catena che per prima riesce ad aggiungere un altro blocco (sia A+1 che B+1) diventerà la catena più lunga. Poiché i nodi considerano la catena più lunga come quella valida (perché rappresenta il maggior lavoro computazionale speso), i nodi che stavano lavorando sulla ramificazione più corta (l'orfana) riconosceranno che la catena più lunga ha accumulato più "prova di lavoro". A questo punto, questi nodi abbandoneranno la ramificazione più corta e passeranno a lavorare sull'estensione della catena più lunga, scartando di fatto i blocchi della ramificazione orfana.
Questo meccanismo di risoluzione delle biforcazioni è intrinseco al protocollo. La probabilità che una ramificazione alternativa superi in lunghezza la catena principale (quella con più lavoro accumulato) diminuisce esponenzialmente con ogni blocco aggiunto alla catena principale. Richiederebbe a un attaccante (o a un gruppo di nodi) di avere una potenza computazionale superiore a quella del resto della rete combinata per un periodo di tempo prolungato per poter creare e mantenere una catena più lunga e quindi riscrivere la storia delle transazioni.
In sintesi, la Proof-of-Work non solo protegge i singoli blocchi, ma funge anche da meccanismo di votazione distribuita e implicita sulla validità della storia delle transazioni (così assicurandone anche la resilienza da attacchi esterni). La catena con il maggior lavoro computazionale incorporato è quella che la rete nel suo complesso riconosce come la verità, garantendo una convergenza verso un'unica versione coerente della blockchain e prevenendo biforcazioni permanenti che minerebbero l'integrità del sistema.
Analisi del whitepaper (3/4):
come far partire questa dannata rete!
L’ultimo problema da risolvere è il seguente: come inizia tutto questo? Eh, prima di capirlo serve che ti dia l’ultimo pezzo del puzzle. L’incentivo.
Per convenzione, la prima transazione inserita in un blocco minato è artificiale, cioè diversa da tute quelle realmente avvenute, perché è attribuita direttamente dal sistema verso il creatore del blocco; cioè è una transazione speciale che “conia” moneta e la attribuisce al creatore del blocco come ricompensa per il suo lavoro computazionale. In altre parole, oltre a “francesco ha dato un euro a mario”, all’inizio dell’elenco delle transazioni che vogliamo congelare in un blocco, aggiungeremo “il sistema bitcoin premia con 2€ il nodo della rete che risolto il gioco della proof-of-work per questo blocco” (i puristi qui si arrabbierebbero, perché non esiste il “sistema Bitcoin”: è il protocollo stesso, implementato dal software dei nodi, che permette al miner che ha risolto la PoW di includere nel primo posto del suo blocco una transazione che crea nuove monete; la "coniazione", cioè, è ancora un processo decentralizzato regolato dal codice).
Questo fornisce un incentivo ai nodi affinché sostengano la rete, e fornisce un modo per la distribuzione iniziale di monete in circolazione, dato che non vi è alcuna autorità centrale che possa emetterle.
L'aggiunta costante di una data quantità di nuove monete è analoga al processo dei minatori d'oro, che spendono risorse per incrementare la quantità di oro in circolazione. Nel nostro caso, viene spesa potenza CPU e viene consumata energia elettrica. Per questo il termine “minare un blocco”.
Respira.
Sebbene l'analogia sia utile, è importante notare che l'emissione di Bitcoin non è "costante" nel tempo. È predeterminata, nel codice, e diminuisce nel tempo a intervalli regolari (gli halving, circa ogni 4 anni), tendendo asintoticamente a un limite massimo di 21 milioni di Bitcoin. L'estrazione di oro, invece, non ha un limite massimo predefinito e la sua produzione può variare in base a fattori economici e geologici. Questo ha un effetto anti-inflazionistico che rende il valore di mercato del BTC molto attraente (ne parleremo più avanti).
L’incentivo aggiunge anche un ulteriore layer di sicurezza alla rete, perché può contribuire ad incoraggiare i nodi a rimanere onesti. Se un utente malintenzionato fosse avidamente in grado di assemblare più potenza di CPU rispetto a tutti i nodi onesti (cosa attualmente neanche praticabile), si troverebbe davanti ad un utilizzo truffaldino o un utilizzo volto a coniare nuove monete attraverso la partecipazione al gioco della proof-of-work. Dovrà necessariamente trovare più redditizio giocare secondo le regole, dato che tali regole lo favoriscono con più monete nuove di tutti gli altri messi insieme. L’alternativa avrebbe poco senso, dato che la compromissione della rete minerebbe di fatto la sua stessa ricchezza, è cioè anti-econocmico.
La prima allocazione di Bitcoin nel 2008 non è avvenuta tramite una vendita o una distribuzione tradizionale di monete (come potrebbe avvenire in una Initial Public Offering IPO come quando aziende entrano in borsa). Quando la rete Bitcoin è stata lanciata, il 3 gennaio 2009, il fondatore Satoshi Nakamoto ha estratto il primo blocco della blockchain, noto come "blocco genesi" (genesis block), segnando l'inizio ufficiale della rete Bitcoin. In questo blocco, Nakamoto ha ricevuto una ricompensa di 50 Bitcoin come parte del meccanismo di mining. Tuttavia, questa ricompensa non è stata mai spesa, e quindi non è stata realmente "allocata" o trasferita a qualcuno; sebbene i 50 Bitcoin siano stati creati nel blocco genesi, infatti, non sono spendibili; per una limitazione nel codice eseguito dai nodi della blockchain.
La prima allocazione "spendibile" di Bitcoin è avvenuta più tardi, quando Satoshi Nakamoto ha estratto altri blocchi e ha iniziato a scambiare Bitcoin con altri membri della comunità o per servizi. La prima transazione documentata in cui Bitcoin è stato usato per acquistare qualcosa è avvenuta il 22 maggio 2010, quando Laszlo Hanyecz, un programmatore, ha pagato 10.000 Bitcoin per due pizze, in quello che oggi è noto come il "Bitcoin Pizza Day" (marcando il primo utilizzo retail di Bitcoin). Il valore di quelle pizze, oggi, al prezzo di mercato attuale di Bitcoin si aggira intorno ai 9.000.000.000 dollari. Un boccone amaro da mandare giù.
Ne ho uno anche per te. Non è ancora finita, prima di passare al prossimo capitolo dalla teoria alla pratica, abbiamo bisogno di un ultimo sforzo. Dobbiamo capire come Laszlo Hanyecz ha pagato quelle due pizze. Magari ti è venuta fame dopo tutto questo leggere!
Prima di tutto facciamo chiarezza su una questione. Per adesso abbiamo parlato soltanto di blockchain ma noi tutti abbiamo sentito parlare inizialmente di Bitcoin come una “moneta digitale” o “cripto valuta”. In effetti, è vero:
- Quando usiamo Bitcoin per parlare della “blockchain”, ci riferiamo a quello di cui abbiamo parlato fino ad adesso, cioè il sistema decentralizzato di registrazione delle transazioni basato su crittografia.
Il punto da capire è che la transazioni che vengono registrate non sono in euro o in dollaro, perché questo introdurrebbe una dipendenza esterna alla rete che ne minerebbe il senso e la stabilità (in questo articolo abbiamo fatto riferimento a queste valute per semplificare alcuni concetti). Le transazioni all’interno della Blockchain scambiano tra i partecipanti della rete una certa moneta, che prende il nome di Bitcoin.
- Quindi quando possiamo usare la parola Bitcoin anche per riferirci a questo “nuova” moneta digitale, che non viene erogata da una Banca Centrale, ma dal sistema stesso, grazie alla ricompensa che viene data ai partecipanti che risolvono la proof-of-work contribuente allo sviluppo della catena dei blocchi. Come moneta è la valuta digitale che puoi utilizzare per fare acquisti, investire o scambiare. La sigla per riferirsi a Bitcoin come moneta è BTC, come per il sistema monetario del dollaro è USD e per l’euro è EUR.
Con calma, questo punto è cruciale. Ripetiamolo.
Se partecipi alla rete, scambi BTC. Dimenticati di euro, dollaro, etc.
Fai parte della rete, una maglietta costa una certa quantità di BTC, manderai questa quantità di BTC al commerciante. Nella Blockchain finirà questa transazione: “da te verso Mario Rossi 2 BTC” (come vedi non cambia la valuta, la sostanza è la stessa).
Allora perché tutti noi siamo abituati a sentire che il “prezzo del BTC è sceso”, “è ai massimi storici”, oppure “non investire in BTC che diventerai povero o ricco, che ne so”. Per capirlo dobbiamo fare chiarezza su questo punto: per ottenere BTC ci sono soltanto due modi:
- Partecipi alla rete, contribuendo con la tua energia computazionale, cercando di vincere il gioco della proof-of-work ed ottenere così una certa quantità di BTC.
- Qualcuno ti manda una certa quantità dei suoi BTC. Il buon vecchio baratto: gli dai dieci euro in mano e lui ti manda… quanti BTC? Uhm.. Boh!
Esatto, dal momento che si creano economie parallele si devono creare anche dei collegamenti tra le due per capire come scambiare le varie quantità. Il sistema finanziario è semplicemente un aggregatore di domanda ed offerta, dove il prezzo di mercato di un prodotto (”azioni apple”, “1 BTC”, “un oncia di oro”) è uguale all’ultimo scambio avvenuto, cioè dall'incontro tra la più alta offerta di acquisto (bid) e la più bassa offerta di vendita (ask) nel order book di un exchange. L'ultimo scambio avvenuto riflette questo punto di equilibrio in quel momento. Questo valore è ovviamente impossibile da spiegare, fa riferimento a infinite variabili ed in sostanza è legato alla complessità dell’essere umano, ma sicuramente “più alto il prezzo, più valore gli attribuiamo”. Il prezzo di un 1 BTC ha recentemente toccato la soglia di cento mila dollari (per poi scendere nuovamente), e dal momento che sono solo 15 anni che è in circolazione, è stato l’asset finanziario che ha avuto la crescita di prezzo più veloce della storia… Probabilmente ha senso capirne un po’ di più, che dici? Esatto, una manciata di BTC valgono attualmente quanto la tua casa. Se avessi scambiato pochi euro per molti btc all’inizio della sua storia, adesso saresti incredibilmente ricco. Come il pizzaiolo della storia sopra.
Oggi esistono dei sistemi che ti permettono di acquistare BTC con grande facilità, è tutto molto semplice ed è come navigare un qualsiasi e-commerce (anzi molto più semplice che scegliere il prodotto giusto su Amazon) e prendono il nome di Exchange, il loro ruolo è favorire lo scambio all’interno del mercato tra chi vuole vendere e comprare BTC (trattenendosi una certa percentuale). Questi sono anche lo strumento che il legislatore ha indicato come la fonte più corretta per effettuare questi scambi, perché viene richiesto un documento di identità (procedura nota con il nome “KYC”, cioè “know your customer”). Scordati di nascondere la tua identità ed evadere le tasse.
La domanda rimane, come ha fatto a raggiungere questo prezzo così elevato? Le motivazioni sono sostanzialmente 4 e le approfondiremo nell’ultimo capitolo:
- Bitcoin ha un fornitura limitata (ancora meno di “scarsa” come l’oro): per come è stato scritto il codice, esisteranno solo 21 milioni di Bitcoin. L'idea di avere qualcosa che non può essere creato all'infinito, ma che è limitato, fa sì che le persone lo considerino una buona riserva di valore, proprio come l'oro. In un mondo dove le valute tradizionali (come l'euro o il dollaro) possono essere stampate in grandi quantità dai governi, Bitcoin si distingue per la sua scarsità.
- Bitcoin non è controllato da alcuna banca centrale o governo. Questo lo rende attraente per chi cerca una forma di denaro che non dipenda dalle politiche monetarie degli stati (pensiamo a stati come la Turchia o l’Argentina, il cui valore delle proprie monete è stato eclissato). In momenti di incertezze economiche o inflazione, le persone si rivolgono a Bitcoin per proteggere il proprio patrimonio dalla perdita di valore delle monete tradizionali.
- Nel tempo, sempre più persone, aziende e investitori hanno iniziato a credere in Bitcoin come una riserva di valore. Oggi, molte aziende lo accettano come pagamento, e alcuni investitori lo considerano un modo per diversificare il proprio portafoglio, proprio come si farebbe con l'oro o altre risorse sicure. L'aumento di questa domanda ha portato a un aumento significativo del suo prezzo.
- La blockchain è molto sicura e trasparente. Ogni transazione è registrata in modo immutabile, il che significa che è quasi impossibile manomettere i dati. Questo ha aumentato la fiducia degli investitori, rendendo Bitcoin una risorsa che non può essere facilmente manipolata o falsificata.
Bene, ti ho convinto! Vuoi finalmente comprare BTC anche tu!
…mi dispiace, c’è ancora un elemento ad capire: il tuo portafoglio crypto.
Analisi del whitepaper (4/4):
dalla teoria alla pratica.
Un wallet Bitcoin (portafoglio) NON è un contenitore digitale dove puoi conservare, ricevere e inviare i tuoi Bitcoin, NON è come un portafoglio fisico che usi per tenere le tue monete e banconote. NON è come una banca, che conserva il denaro per te.
Un portafoglio crypto, non è altro che un’altra intuizione geniale che poggia le sue fondamenta sulla crittografia. Dimentichiamoci del concetto di portafoglio e banca. Sì, forse così è un po’ più complesso, ma è inutile riempirsi la testa di mezza metafore per far finta di capire le cose.
La decentralizzazione richiede uno sforzo in più, una maturità maggiore. Il portafoglio crypto, come il grande gesto generazionale a cui siamo abituati quando ci viene data la fiducia della macchina o di uscire di casa da soli, è composto da un mazzo di chiavi. Due chiavi. Di metallo? No, crittografiche, cioè due stringhe di testo simili all’hash che abbiamo visto sopra.
Non ti spaventare, che senso avrebbe se le due chiavi fossero di metallo? Era ovvio che avrebbero avuto un formato diverso, siamo nel mondo digitale dopo tutto.
Vuoi vedere che aspetto hanno? Non ha molto senso per noi lettori umani, ma come prima.. Si tratta solo di un formato, hai letto molte più lettere finora. In ogni caso, ti accontento.
Le due chiavi hanno due nomi distinti (che dovrebbero suggerirti qualcosa):
- Chiave Pubblica: questa è la prima chiave e funziona come tuo univoco identificatore pubblico, è come il tuo indirizzo di casa, un nickname online. Puoi pensarla come il tuo iban se vuoi, questo è l’unico paragone che ti concedo. La generazione di questa chiave assicura univocità, non esistono due iban uguali.
-
Chiave Privata: questa seconda chiave è come se la tua firma fisica che usi per firmare i documenti funzionasse come password, e viceversa. Cioè:
- non la devi condividere a nessuno,
- la userai come modalità per verificare che sei tu (firma),
- se te la rubano, possono fare finta di essere te (password).
Immagino sorga una domanda spontanea.. Quando apro l’home banking, mica ho due iban, me ne serve solo uno! A cosa serve la chiave privata? Non è semplice da capire perché il paradigma è completamente diverso, non esiste più la banca con la sua applicazione a cui accedi con password dopo un tedioso processo di verifica della tua identità. Per assicurare l’autenticità delle transazioni, senza intermediario esterno, servono due chiavi e capiremo perché!
Sebbene Alice non si colleghi ad alcun home banking che assicura che la transazione sia originata proprio dal suo conto, quando vuole inviare dei bitcoin a Bob, ad oggi esistono delle interfacce software grafiche (chiamati appunto wallet), che semplificano il processo crittografico sottostante rendendolo tutto automatico; ad oggi l’operazione è praticamente identica dal punto di vista dell’esperienza utente, ma quello che avviene è molto diverso ed è l’ultimo tassello che ti serve per capire come le transazioni
Alice crea una transazione digitale firmata.
Questa transazione specifica l'indirizzo Bitcoin di Bob (la sua chiave pubblica) come destinatario e la quantità di BTC che desidera inviare. Per autorizzare questa transazione e dimostrare alla rete che è lei la legittima proprietaria dei bitcoin che sta spendendo, Alice firma digitalmente la transazione utilizzando la sua chiave privata. Questo passaggio è fondamentale, altrimenti chi impedisce che io scriva nella blockchain che Alice li ha mandati a me quei BTC? Sarebbe come prendere in mano il suo home banking.
Per capire cosa significa “firmare digitalmente” una transazione dobbiamo capire un altro piccolo tassello di crittografia, il motivo per il quale ci sono due chiavi. Sistemi a due chiavi vengono definiti “crittosistemi asimmetrici”, dove ogni coppia di chiavi è formata in modo tale che ciò che viene cifrato con una, può essere decifrato SOLO con l'altra. Sebbene matematicamente, durante la generazione della coppia di chiavi, non esista un'etichetta intrinseca di 'pubblica' e 'privata', nel contesto operativo e di sicurezza di un crittosistema asimmetrico, le chiavi assumono ruoli distinti e non interscambiabili. Invertire questi ruoli renderebbe il sistema insicuro o inutilizzabile. Cerchiamo di capirne l’utilità e vedrai che sarà tutto più chiaro.
- Partiamo con il capire cosa vuol dire “cifrare”. Hai presente quando abbiamo parlato di hash? Ecco, NON è quello, ma appare esattamente allo stesso modo. Sono due algoritmi diversi, ma il risultato è una stringa di simboli. Una delle caratteristiche dell’algoritmo di hashing era però di assicurare che non si potesse tornare indietro al contenuto originale. Una volta che “cane” passa nell’algoritmo di hashing, nessuno al mondo anche con il più potente dei computer è in grado di tornare indietro a “cane” dal mucchietto di caratteri che vengono fuori. Questo NON è cifrare. Cifrare significa trasformare un dato in un formato illeggibile (cifrato) utilizzando una chiave, in modo che solo chi possiede l’altra chiave corretta (per la decifratura) possa ripristinarlo al formato originale (testo in chiaro). L’algoritmo prende il messaggio “cane” e una delle due chiavi, restituendo uno pseudo hash (per capirci). Per tornare a “cane” esiste SOLO un modo, l’utilizzo dell’ALTRA chiave; qualsiasi altra roba inserita nell’algoritmo risulterà nel contenuto sbagliato (completamente a caso, nemmeno simile). Mi dirai, e a che serve?
-
Le due chiavi possono essere usate in due modi, a seconda del nostro obbiettivo: riservatezza o autenticità+integrità. Da qui in poi ha senso distinguere le due chiavi in “pubblica” e “privata”, perché diventa sensibile la loro esposizione.
- Riservatezza: io ti do la mia chiave pubblica, tu passi il tuo messaggio con questa chiave all’algoritmo; poi mi mandi quella poltiglia di caratteri che non hanno senso. Solo l’altra chiave, la privata, può adesso decifrare questo messaggio. La proprietà della chiave, rende quindi proprietari del messaggio. Chiunque viene in possesso della mia chiave pubblica può cifrare messaggi che la mia chiave privata può decifrare, ma nessun altro possiede la mia privata, quindi solo io posso decifrarne il contenuto (riservatezza).
-
Autenticità ed integrità (modalità usata in BTC): al contrario, adesso non mi interessa che il contenuto che cifro rimanga privato mi interessa solo l’assoluta certezza che rimanga autentico all’originale e la possibilità per tutti di esserne altrettanto sicuri. Per questo cifro il contenuto di un messaggio con la mia chiave privata (che rimane al sicuro eh, non è che viene esposta nella cifratura) ed espongo la chiave pubblica. Chiunque può a questo punto decifrare il messaggio che ho mandato usando questa pubblica, il successo di questa operazione permette di verificare che solo la mia chiave privata avrebbe potuto generare quel contenuto (verificando così la proprietà di quel messaggio, cioè l’autenticità). Come essere sicuri però che il messaggio sia effettivamente quello originale (integrità)? Eheh, pronto per il mindblow? Torniamo al nostro vecchio amico hash…
Il mittente (tu per esempio):
- Prima di mandare il messaggio, calcoli l’hash del messaggio.
- Poi cifri quell’hash con la tua chiave *privata*
- Insieme al messaggio cifrato invii anche questo hash cifrato (la famosa firma digitale)
Il destinatario:
- Riceve il messaggio+la firma cifrati
- Decifra entrambi usando la chiave pubblica
- Ricalcola l’hash del messaggio
- Confronta i due hash:
- Se coincidono → messaggio integro e firmato da te
- Se no → o è stato modificato, o la firma è falsa
Il genio che è in te sta urlando di manomettere il contenuto e semplicemente ricalcolare l’hash. Ok, se tu manometti il contenuto e calcoli un nuovo hash, puoi anche generare un nuovo hash corretto per il contenuto modificato. Ma non puoi firmarlo (cioè cifrarlo con la chiave privata dell’autore originale), perché non hai la sua chiave privata. È questo che protegge tutto il sistema: Solo chi possiede la chiave privata può creare una firma digitale valida.
Una precisazione, non cifriamo nemmeno il messaggio (volevo solo aiutarti a seguire), che senso ha se la chiave publica, ad accesso di chiunque, lo può decifrare? Questo avrebbe anche un costo considerevole, dato che l’algoritmo per garantire questo giochino delle due chiavi deve lavorare parecchio. Per essere precisi, cifro soltanto l’hash del messaggio, dal momento che basta questo a garantire proprietà ed integrità: ancora, solo la chiave privata corrispondente alla chiave pubblica usata per la verifica avrebbe potuto produrre quella specifica firma per l'hash del messaggio e solo il contenuto del messaggio avrebbe potuto generare quell’hash, quindi siamo al sicuro!
Ma torniamo a Bitcoin, che dici?
Questa firma crittografica è unica per la transazione e per la chiave privata di Alice. Chiunque visualizzi la transazione sulla blockchain può verificare l'autenticità della firma utilizzando la chiave pubblica di Alice (che è pubblica, appunto), ma nessuno, nemmeno Bob o i validatori della rete, può risalire alla chiave privata di Alice a partire dalla firma o dalla chiave pubblica. Questo cioè assicura che soltanto chi possiede la chiave privata di una chiave pubblica può spostare i fondi verso un’altra chiave pubblica.
Sì, una grande complicazione, ma questo leva di mezzo le banche.. Doveva essere abbastanza complicato dai!
Una volta firmata, la transazione viene trasmessa alla rete P2P di nodi Bitcoin. Questi nodi, dopo aver verificato la validità della transazione (controllando che Alice abbia effettivamente il saldo sufficiente e che la firma sia valida), la includono in un nuovo blocco che stanno cercando di minare attraverso il processo di Proof-of-Work.
Quando un nodo riesce a trovare una Proof-of-Work valida per il blocco contenente la transazione di Alice, questo blocco viene aggiunto alla blockchain, diventando parte della storia immutabile delle transazioni. Una volta che il blocco contenente la transazione di Alice riceve un certo numero di conferme (cioè blocchi successivi aggiunti alla catena dopo di esso), la transazione è considerata irreversibile e Bob riceve i bitcoin nel suo indirizzo, potendoli a sua volta spendere utilizzando la sua chiave privata.
Uno degli aspetti affascinanti della blockchain è che tutte queste transazioni non sono private ed appaiono soltanto nel tuo home banking, ma sono pubblicamente registrate. Una volta che si conosce il punto di entrata (gli exchange attraverso la procedura di KYC di Alice e Bob, per esempio) è possibile per chiunque seguire i flussi di denaro (alla faccia della clandestinità!).
In realtà quando parliamo di “ricevere” bitcoin in indirizzo parliamo soltanto che la transazione è stata registrata nell’ordine contabile, come per bonifico. L’home banking o il wallet bitcoin semplicemente risalgono a tutto l’insieme delle transazioni e mostrano a schermo il netto che deriva dall’insieme di queste transazioni.
Così torniamo al punto di inizio da cui siamo partiti: +10 -5, mostro a schermo +5. Non spedisco tramite carrozza un forziere di oro BTC, come nel normale sistema finanziario è tutto digitale: cambia soltanto, come dicevamo all’inizio, l’intermediario.
La soluzione di cui abbiamo parlato finora è Bitcoin, un sistema di pagamento elettronico basato sulla prova crittografica invece che sulla fiducia.
Perché “esiste solo Bitcoin”
Ti ho promesso perché saremmo arrivati a questa conclusione. Prima devo parlarti brevemente di tutto il resto del panorama crypto.
Se Bitcoin rappresenta la "prima generazione" e spesso è paragonato all'oro digitale per la sua funzione principale di riserva di valore, il panorama crypto si è evoluto enormemente, dando vita a numerose "altcoin" (alternative a Bitcoin) che esplorano diverse funzionalità e architetture tecniche.
Dopo la nascita di Bitcoin nel 2009, sono emerse migliaia di altre criptovalute, ognuna con i propri obiettivi, innovazioni tecniche e compromessi. Possiamo raggrupparle in alcune categorie principali:
- Layer-1 (L1) Protocolli con Funzionalità Estese: Molte altcoin mirano a migliorare le limitazioni percepite di Bitcoin, come la velocità delle transazioni e la scalabilità. Esempi includono Ethereum, che ha introdotto il concetto di smart contract, ovvero contratti auto-eseguibili il cui codice definisce i termini dell'accordo. Questo ha aperto la strada a una vasta gamma di applicazioni decentralizzate (dApps). Altri protocolli L1 come Solana, Cardano, Polkadot e Avalanche competono offrendo diverse architetture per raggiungere maggiore velocità e scalabilità, spesso con compromessi in termini di decentralizzazione o complessità.
- Stablecoin: Queste criptovalute sono progettate per mantenere un valore stabile rispetto a una valuta tradizionale (come il dollaro USA) o a un'altra risorsa (come l'oro). La stablecoin più in circoalzione è Tether (USDT). Le stablecoin sono cruciali per il trading e per l'utilizzo delle criptovalute in applicazioni finanziarie decentralizzate (DeFi), fornendo una forma di "denaro digitale" meno volatile. Giocano un ruolo fondamentale in paesi con elevata inflazione, il valore della moneta locale può erodersi rapidamente, distruggendo i risparmi della popolazione (Turchia). Le stablecoin, essendo ancorate a valute stabili come il dollaro USA o ad altre risorse, offrono un rifugio sicuro per proteggere il potere d'acquisto nel tempo, oltre che una modalità digitale accessibile e sicura dai governi. Parleremo delle stablecoin nel prossimo articolo!
- Token Non Fungibili (NFT): Gli NFT rappresentano la proprietà di beni digitali unici, come opere d'arte digitali, oggetti da collezione o persino rappresentazioni di beni fisici. Hanno guadagnato una notevole popolarità e rappresentano un'applicazione diversa della tecnologia blockchain oltre alle semplici transazioni di valuta.
Oltre alle differenze nella natura tecnica e monetaria, ne esistono anche a livello di protocollo;la Proof-of-Work di Bitcoin non è l’unico meccanismo di consesno; altre altcoin utilizzano meccanismi di consenso alternativi per validare le transazioni e proteggere la rete, sono principalmente: Proof-of-Stake (PoS), Delegated Proof-of-Stake (DPoS), Proof-of-Authority (PoA). Prossimamente faremo un approfondimento su questi differenti meccanismi!
Il panorama delle altcoin è caratterizzato da un continuo sperimentare e da diversi approcci per risolvere le sfide della scalabilità, della sicurezza e della decentralizzazione. Ogni tecnologia e ogni meccanismo di consenso comporta dei compromessi. Ad esempio, una maggiore velocità delle transazioni potrebbe comportare una minore decentralizzazione, o una maggiore funzionalità potrebbe aumentare la complessità del protocollo e la superficie di attacco.
I massimalisti Bitcoin si rifanno al motto "esiste solo Bitcoin" per una serie di ragioni profondamente radicate nella loro comprensione della tecnologia, dell'economia e della filosofia che sottendono a Bitcoin. Ecco un'analisi tecnica e concettuale delle loro motivazioni:
1. Superiorità Tecnica e di Decentramento:
- First-Mover Advantage e Effetto Rete: Bitcoin è stata la prima criptovaluta decentralizzata di successo. Questo le ha conferito un enorme vantaggio del pioniere e ha innescato un potente effetto rete. Più persone, infrastrutture, sviluppatori e liquidità si concentrano su Bitcoin, più forte e sicuro diventa la rete, rendendo difficile per le nuove criptovalute raggiungerla. I massimalisti credono che questa inerzia sia quasi insormontabile.
- Decentralizzazione Comprovata: Bitcoin ha dimostrato nel tempo una notevole resistenza alla centralizzazione. La sua rete di nodi distribuiti a livello globale e la sua governance relativamente decentralizzata (sebbene con dibattiti in corso) sono viste come superiori a molte altre criptovalute che spesso presentano un controllo più centralizzato da parte di fondazioni, team di sviluppo o pre-mine significative. I massimalisti ritengono che la decentralizzazione sia fondamentale per la sua resilienza alla censura e al controllo da parte di terzi.
- Sicurezza Robusta: La Proof-of-Work (PoW) di Bitcoin, sebbene energivora, è considerata da molti massimalisti come il meccanismo di consenso più sicuro e collaudato contro gli attacchi (in particolare l'attacco del 51%).
- Semplicità e Focus: Bitcoin è progettato con una filosofia di "semplicità radicale". Il suo protocollo è relativamente statico e si concentra su una singola funzione principale: fungere da riserva di valore digitale decentralizzata e mezzo di scambio. I massimalisti vedono questa focalizzazione come un punto di forza, in contrasto con le altcoin che spesso aggiungono complessità con funzionalità aggiuntive (smart contract, governance on-chain, ecc.) che potrebbero introdurre vulnerabilità o deviare dall'obiettivo primario.
2. Superiorità Economica e Monetaria:
- Scarsità Digitale Comprovata: Il limite massimo di 21 milioni di bitcoin è una caratteristica fondamentale del suo design. I massimalisti la considerano una forma di scarsità digitale senza precedenti, paragonabile all'oro ma con vantaggi di trasferibilità e verificabilità. Molte altcoin non hanno una fornitura limitata o hanno meccanismi di emissione diversi che i massimalisti ritengono inflazionistici o meno prevedibili.
- Riserva di Valore Digitale: La narrazione principale di Bitcoin come riserva di valore digitale ("digital gold") ha guadagnato trazione nel tempo. I massimalisti credono che la sua scarsità, la sua decentralizzazione e la sua resistenza alla censura la rendano la forma più credibile di moneta digitale a lungo termine per la conservazione della ricchezza.
- Effetto Lindy: L'effetto Lindy suggerisce che la speranza di vita futura di qualcosa è proporzionale alla sua età attuale. Bitcoin, essendo la criptovaluta più longeva e sopravvissuta a numerosi cicli di mercato e sfide, è vista dai massimalisti come la più probabile a persistere nel lungo termine.
- Fungibilità: La fungibilità (l'intercambiabilità di un'unità con un'altra) è considerata essenziale per una buona moneta. I massimalisti sostengono che la storia di Bitcoin, con i suoi sforzi (seppur non sempre perfetti) per mantenere la fungibilità a livello di protocollo, è superiore a molte altcoin che potrebbero introdurre complessità che ne minano la fungibilità.
3. Ragioni Filosofiche e Ideologiche:
- Decentralizzazione come Principio Fondamentale: Per molti massimalisti, la decentralizzazione non è solo una caratteristica tecnica, ma un imperativo etico e politico. Credono che un sistema monetario decentralizzato sia essenziale per la libertà individuale e per proteggere dalla tirannia e dalla censura governativa o aziendale.
- Resistenza alla Censura e alla Confisca: La natura permissionless e decentralizzata di Bitcoin lo rende difficile da censurare o confiscare da parte di autorità centrali. Questo è visto come un vantaggio cruciale in un mondo in cui la libertà finanziaria può essere a rischio.
- Critica alle Altcoin: I massimalisti spesso vedono le altcoin come distrazioni, tentativi di risolvere problemi inesistenti o come schemi per arricchire i loro creatori (ICO, pre-mine). Sostengono che la proliferazione di altcoin frammenta la liquidità, l'attenzione degli sviluppatori e la sicurezza della rete complessiva delle criptovalute.
Tutto questo è molto bello. Ma riesco già ad immaginare la tua domanda, cosa rende Bitcoin irripetibile? Perché nessuno ne ha creato una alternativa, copiandone le caratteristiche positive (e magari migliorandone qualche aspetto). Ti rispondo molto velocemente: sebbene sia possibile, sono quindici anni che nessuno ci è arrivato nemmeno vicino.
In definitiva, il motto "esiste solo Bitcoin" è un'espressione concisa di questa complessa e articolata visione del panorama delle criptovalute, basata su una profonda convinzione nella superiorità tecnica, economica e filosofica di Bitcoin rispetto a tutte le altre alternative.