Bitcoin è più di una criptovaluta: è un sistema decentralizzato complesso e in continua evoluzione. Questo libro guida il lettore attraverso i concetti fondamentali di Bitcoin Core, l’implementazione di riferimento, e i mattoni della proprietà digitale, esplorando il ruolo delle chiavi private, degli indirizzi e dei wallet deterministici. Si analizza l’evoluzione della rete Bitcoin, focalizzandosi su scalabilità, Segregated Witness (SegWit) e architettura peer-to-peer, per poi addentrarsi nel tessuto decentralizzato con i filtri Bloom, il transaction pool e il meccanismo di consenso Proof-of-Work. Oltre alla sua funzione di moneta digitale, il libro svela le potenzialità applicative di Bitcoin, come le monete colorate e Lightning Network, e l’importanza della sicurezza computazionale, offrendo una panoramica completa dei meccanismi di transazione e delle strategie per proteggere i propri fondi in un ecosistema decentralizzato.
1. Bitcoin Core e i Mattoni della Proprietà Digitale
Bitcoin Core è l’implementazione di riferimento di Bitcoin. Si tratta di un progetto aperto a tutti, sviluppato da persone in tutto il mondo. Il codice di Bitcoin Core è pubblico e disponibile per chiunque voglia esaminarlo. Questo codice definisce come funziona Bitcoin dal punto di vista tecnologico. Bitcoin Core include tutto ciò che serve per far funzionare Bitcoin, dal portafoglio digitale per gestire i bitcoin, al sistema che controlla e verifica le transazioni. È importante capire che, anche se ha un portafoglio digitale, Bitcoin Core non è pensato per essere usato direttamente dalle persone come un normale portafoglio. La sua funzione principale è di essere un modello di riferimento, una guida per capire come funziona veramente Bitcoin.La Proprietà di Bitcoin e le Chiavi Digitali
La proprietà dei bitcoin si basa su tre elementi fondamentali: le chiavi private, gli indirizzi e le firme digitali. Immagina le chiavi digitali come password segrete, create e custodite nei portafogli digitali delle persone. Queste chiavi sono completamente indipendenti da Bitcoin stesso, e sono ciò che permette a ciascuno di controllare i propri bitcoin in modo autonomo e senza bisogno di intermediari. La chiave privata è come una password personale, un numero segreto che non deve essere condiviso con nessuno. Da questa chiave privata si genera la chiave pubblica, che invece può essere condivisa ed è usata per ricevere bitcoin. Infine, dall’impronta della chiave pubblica si ricava l’indirizzo Bitcoin. Questo indirizzo è simile al nome del beneficiario su un assegno bancario, ed è ciò che si comunica per farsi inviare bitcoin.Tipi di Wallet: Non Deterministici e Deterministici
Esistono due tipi principali di portafogli digitali per bitcoin: quelli non deterministici e quelli deterministici. I portafogli non deterministici funzionano come una raccolta di chiavi generate a caso, senza un ordine preciso. I portafogli deterministici, invece, sono più organizzati. In questi wallet, tutte le chiavi derivano da un’unica informazione di base, chiamata “seme” (seed). Tra i portafogli deterministici, quelli gerarchici (HD) sono i più avanzati e utilizzati. Questi wallet, standardizzati da una proposta tecnica chiamata BIP32, organizzano le chiavi in modo simile a un albero genealogico. Partendo da una chiave principale, si possono generare diverse chiavi “figlie”, e da queste altre ancora, creando una struttura ramificata. Questa organizzazione offre diversi vantaggi. Ad esempio, permette una maggiore flessibilità nella gestione delle chiavi e la possibilità di creare sequenze di chiavi pubbliche da usare in situazioni meno sicure, come su un server web, senza esporre le chiavi private.Backup e Sicurezza: Seed Mnemonici e Paper Wallet
Per rendere più semplice il backup, il “seme” dei portafogli deterministici viene spesso trasformato in una sequenza di parole mnemoniche, seguendo uno standard chiamato BIP39. Questi codici mnemonici sono liste di parole facili da scrivere e ricordare. Grazie a queste parole, è possibile ricreare il “seme” originale e, di conseguenza, l’intero portafoglio digitale, con tutte le sue chiavi e i bitcoin. Questo sistema rende molto più semplice fare copie di sicurezza e ripristinare il portafoglio in caso di problemi. Un altro metodo efficace per proteggere i propri bitcoin è usare i “paper wallet”. Si tratta di stampare su carta le chiavi private. In questo modo, le chiavi vengono conservate offline, cioè non collegate a internet, e diventano molto più sicure contro attacchi informatici e furti online. Questa tecnica è chiamata “cold storage”, ovvero “magazzinaggio freddo”, proprio perché i bitcoin sono tenuti “al freddo”, lontano dalla rete. La tecnologia dei portafogli digitali per bitcoin ha fatto molti progressi, evolvendosi verso standard comuni come BIP39, BIP32, BIP43 e BIP44. Questi standard garantiscono che i diversi portafogli funzionino bene insieme, che siano sicuri e che offrano molta flessibilità agli utenti.È davvero corretto definire i meccanismi di Bitcoin Core come ‘mattoni della proprietà digitale’ senza considerare le molteplici e contestate definizioni di proprietà esistenti in ambito filosofico, giuridico e sociale?
Il capitolo presenta la ‘proprietà digitale’ in Bitcoin come un concetto tecnicamente definito, ma non affronta la complessità del concetto di proprietà in sé. Per comprendere appieno la portata di questa affermazione, è fondamentale approfondire discipline come la filosofia del diritto e la sociologia economica. Autori come Stefano Rodotà o Pierre Bourdieu potrebbero fornire strumenti concettuali utili per analizzare criticamente se la ‘proprietà digitale’ di Bitcoin rappresenti una reale innovazione sociale o una riproposizione, in forma tecnologica, di dinamiche proprietarie già note e potenzialmente problematiche.2. Evoluzione e Scalabilità della Rete Bitcoin
Il linguaggio di scripting di Bitcoin è stato migliorato con nuove funzioni avanzate. Adesso si possono usare i “timelock” e le “clausole condizionali”. Queste novità permettono di creare degli script più complessi, con diversi modi per essere eseguiti.I Timelock e il Controllo Temporale
I timelock sono di due tipi: assoluti e relativi. Quelli assoluti (nLocktime, CLTV) e quelli relativi (nSequence, CSV) danno la possibilità di controllare quando le transazioni e gli output possono essere utilizzati. Questo rende le operazioni più flessibili e sicure.Segregated Witness (SegWit): Più Scalabilità e Sicurezza
Un grande passo avanti nell’architettura di Bitcoin è stato Segregated Witness, chiamato anche SegWit. Questa modifica separa i dati relativi ai “testimoni”, come le firme digitali, dal corpo principale della transazione. Questa separazione risolve un problema importante, chiamato “malleabilità delle transazioni”. Inoltre, SegWit aumenta la capacità della rete di gestire più transazioni contemporaneamente, perché le transazioni diventano più piccole. Infine, SegWit rende più veloce la verifica delle firme, diminuendo il lavoro di calcolo per i nodi della rete.Nuovi Script e Indirizzi più Efficienti grazie a SegWit
SegWit ha introdotto nuovi tipi di script, come P2WPKH e P2WSH, e nuovi formati di indirizzo, come Bech32. Questi miglioramenti rendono la rete più efficiente e riducono i costi delle transazioni.L’Architettura Peer-to-Peer della Rete Bitcoin
La rete Bitcoin funziona con un’architettura “peer-to-peer”, cioè da pari a pari. È composta da molti “nodi”, che hanno diverse funzioni. I nodi completi conservano tutta la storia delle transazioni di Bitcoin, chiamata “blockchain”. Questo permette di controllare in modo indipendente che tutte le transazioni siano valide. Ci sono anche nodi più leggeri, chiamati SPV, che usano tecniche di verifica semplificate e filtri di Bloom per proteggere la privacy degli utenti.L’Evoluzione Continua di Bitcoin
La rete Bitcoin è in continua evoluzione, con miglioramenti costanti per aumentare le funzioni disponibili, la sicurezza e la capacità di gestire un numero sempre maggiore di transazioni.Se il capitolo descrive in dettaglio i miglioramenti tecnici di Bitcoin, non trascura forse le implicazioni economiche e sociali di tali cambiamenti, dando per scontato che il progresso tecnico coincida automaticamente con il successo degli obiettivi originari di Bitcoin?
Il capitolo si concentra prevalentemente sul come Bitcoin si sia evoluto tecnicamente, ma manca un’analisi approfondita del perché questi cambiamenti siano necessari e quali siano le loro implicazioni più ampie. Per una comprensione completa, è fondamentale studiare i principi economici alla base di Bitcoin, la filosofia cypherpunk che lo ha ispirato e i dibattiti in corso sulla sua scalabilità e governance. Approfondire il pensiero di autori come Andreas Antonopoulos, o i primi scritti di Satoshi Nakamoto, potrebbe offrire una prospettiva più completa.3. Il Tessuto Decentralizzato di Bitcoin
La Privacy e i Nodi SPV
I nodi SPV, o Simple Payment Verification, utilizzano i filtri Bloom per proteggere la privacy. Questi filtri servono a nascondere le transazioni che non interessano al nodo, ma non sono perfetti. Un osservatore attento può comunque scoprire gli indirizzi del portafoglio. Per aumentare la privacy, soprattutto per i nodi SPV che sono più vulnerabili, è consigliabile usare connessioni crittografate. Si possono usare Tor oppure protocolli P2P autenticati e crittografati.Il Ruolo del Transaction Pool
La rete Bitcoin ha un sistema chiamato “transaction pool”. Qui, le transazioni che non sono ancora state confermate aspettano di essere incluse in un blocco. I nodi della rete controllano e diffondono queste transazioni, tenendo una memoria temporanea delle operazioni in sospeso. Questo processo serve per assicurarsi che solo le transazioni valide entrino nella blockchain, che è come un registro pubblico e permanente di tutte le operazioni di Bitcoin.La Struttura della Blockchain
La blockchain è fatta come una catena di blocchi, dove ogni blocco è legato a quello precedente con dei codici chiamati “hash crittografici”. Il primo blocco di tutti si chiama “blocco genesi”. Dentro ogni blocco c’è un riassunto di tutte le transazioni, fatto con un sistema chiamato “Merkle tree”. Questo sistema assicura che i dati siano integri e non siano stati modificati. Ogni blocco viene identificato da un codice hash e dalla sua posizione nella catena, chiamata “altezza”.Il Consenso Decentralizzato e la Proof-of-Work
Bitcoin funziona grazie a un sistema di consenso decentralizzato, chiamato “Proof-of-Work”. I “minatori” sono come dei concorrenti che cercano di risolvere un problema di matematica molto difficile per aggiungere nuovi blocchi alla blockchain. Il primo minatore che trova la soluzione giusta la comunica a tutta la rete, e questa soluzione viene usata per validare il blocco. La difficoltà di questo problema si regola da sola, in modo che in media un nuovo blocco venga creato ogni 10 minuti, anche se la potenza di calcolo di tutta la rete cambia.Le Mining Pool
Per rendere il mining più accessibile e meno variabile, sono nate le “mining pool”. Queste sono come delle cooperative di minatori che mettono insieme la loro potenza di calcolo. Quando una mining pool trova la soluzione per un blocco, la ricompensa viene divisa tra tutti i partecipanti, in base a quanto hanno lavorato.Vulnerabilità e Attacchi Teorici
Anche se il sistema di Bitcoin è molto robusto, ci sono delle possibilità teoriche di attacco, come l'”attacco del 51%”. Questo tipo di attacco è però molto difficile da realizzare, perché la potenza di calcolo della rete Bitcoin è enorme e sempre più decentralizzata.Aggiornamenti e Sicurezza
Bitcoin può evolversi e cambiare le sue regole di funzionamento attraverso degli aggiornamenti chiamati “hard fork” o “soft fork”. Le soft fork sono un tipo di aggiornamento speciale, perché sono compatibili con le versioni precedenti del software. Questo evita che la blockchain si divida in due. La sicurezza di Bitcoin dipende soprattutto dal fatto che è decentralizzato e che ogni utente è responsabile della protezione delle proprie chiavi private. Questo è fondamentale in un sistema che non ha un’autorità centrale, ma si basa sulla crittografia e sulla validazione distribuita.Se la sicurezza di Bitcoin dipende interamente dalla blockchain, come afferma il capitolo, non stiamo forse semplificando eccessivamente i rischi reali legati a implementazioni fallaci, attacchi sofisticati e vulnerabilità non ancora scoperte che potrebbero compromettere la tanto decantata ‘fiducia’ nella blockchain?
Il capitolo presenta la sicurezza di Bitcoin come intrinsecamente legata alla decentralizzazione della blockchain, ma questa visione rischia di trascurare le molteplici sfaccettature della sicurezza informatica. Affidarsi ciecamente alla blockchain potrebbe essere fuorviante senza considerare le vulnerabilità a livello di codice, protocollo e pratiche di utilizzo. Per una comprensione più critica, è essenziale studiare la crittografia moderna, la teoria dei giochi applicata ai sistemi distribuiti e la storia degli attacchi informatici. Autori come Bruce Schneier e Ross Anderson offrono analisi approfondite sui limiti e le insidie della sicurezza nei sistemi complessi.5. Meccanismi di Transazione e Sicurezza Computazionale
Come funzionano le transazioni digitali
Le transazioni digitali gestiscono il valore in modo innovativo. Invece di trattare ogni unità di valore singolarmente, le transazioni digitali le raggruppano e le suddividono attraverso diversi input e output. Questo sistema rende più semplice la gestione del valore perché permette di unire fondi provenienti da operazioni precedenti o di effettuare pagamenti distribuiti, gestendo anche eventuali resti. In questo modo, si evita la complessità di dover seguire la storia di ogni singola unità di valore.Privacy e anonimato nelle transazioni
La privacy delle transazioni digitali è garantita dall’uso di chiavi pubbliche anonime. Anche se tutte le transazioni sono pubbliche e visibili a tutti, l’identità di chi le effettua rimane nascosta. Questo sistema è simile a quello che accade nelle borse valori, dove le operazioni sono pubbliche ma gli investitori rimangono anonimi. Per aumentare ancora di più la privacy, è consigliabile usare nuove coppie di chiavi per ogni transazione. Bisogna però considerare che, se si utilizzano transazioni con più input, potrebbe essere possibile capire che questi input appartengono alla stessa persona.La sicurezza del sistema e la potenza di calcolo
La sicurezza di questo sistema si basa sulla potenza di calcolo necessaria per modificarlo. Per attaccare e cambiare la catena di blocchi su cui si basa il sistema, un malintenzionato dovrebbe avere una potenza di calcolo superiore a quella di tutta la rete di utenti onesti. Anche se un attacco di questo tipo avesse successo, chi lo mette in atto non potrebbe creare valore dal nulla o rubare fondi ad altri. Potrebbe solo cercare di modificare transazioni recenti che ha effettuato lui stesso. Inoltre, più blocchi vengono aggiunti alla catena, più diventa difficile e improbabile che un attacco vada a buon fine. La certezza che una transazione sia definitiva aumenta con il numero di blocchi successivi che vengono aggiunti alla catena, rendendo quasi impossibile modificarla in un secondo momento.Strumenti software per la gestione di chiavi e transazioni
Per gestire in modo pratico le chiavi private e le transazioni, esistono diversi strumenti software. Tra questi, librerie come pycoin e utility a riga di comando come Bitcoin Explorer offrono funzioni per creare e gestire chiavi, indirizzi e transazioni in vari formati e reti. Questi strumenti semplificano l’uso del sistema Bitcoin a un livello più tecnico e operativo, rendendo più accessibile la gestione della sicurezza e delle transazioni digitali.Ma siamo sicuri che l’analogia con le borse valori sia calzante per descrivere l’anonimato nelle transazioni digitali?
Il capitolo equipara l’anonimato delle transazioni digitali a quello delle borse valori, suggerendo una somiglianza nella protezione dell’identità degli operatori. Tuttavia, questa analogia potrebbe essere fuorviante e semplificare eccessivamente la complessità della privacy nelle transazioni digitali. Mentre nelle borse valori l’anonimato è mediato da istituzioni finanziarie regolamentate, nelle transazioni digitali l’anonimato dipende da meccanismi crittografici e pratiche operative degli utenti, con implicazioni e vulnerabilità differenti. Per comprendere appieno le sfumature dell’anonimato digitale, è utile approfondire studi sulla sorveglianza digitale e la crittografia applicata, consultando autori come Bruce Schneier e documenti sulla privacy nel contesto delle tecnologie distribuite.Abbiamo riassunto il possibile
Se vuoi saperne di più, devi leggere il libro originale
Compra il libro[sc name=”1″][/sc] [sc name=”2″][/sc] [sc name=”3″][/sc] [sc name=”4″][/sc] [sc name=”5″][/sc] [sc name=”6″][/sc] [sc name=”7″][/sc] [sc name=”8″][/sc] [sc name=”9″][/sc] [sc name=”10″][/sc]