Capitoli
Capitolo 1 - Blockchain 101
Contenuti
- Cos'è la blockchain?
- Come sono collegati i blocchi?
- Blockchain e decentralizzazione
- Il Problema dei Generali Bizantini
- Perché le blockchain devono essere decentralizzate?
- Cos'è il network peer-to-peer?
- Cosa sono i nodi blockchain?
- Blockchain pubbliche vs. private
- Come funzionano le transazioni?
- Come effettuare transazioni in Bitcoin
- Chi ha inventato la tecnologia blockchain?
- Pro e contro della tecnologia blockchain
Cos'è la blockchain?
Una blockchain ha delle proprietà uniche. Ci sono regole che governano il modo in cui i dati possono essere aggiunti, e una volta archiviati, è virtualmente impossibile modificarli o cancellarli.
Per fornire un'analogia, supponiamo di avere una tabella con due colonne. Nella prima casella della prima riga, inseriamo i dati che vogliamo conservare.
Un database in cui ogni voce è collegata alla precedente.
Come sono collegati i blocchi?
Le hash usate nelle blockchain sono interessanti, in quanto le probabilità di trovare due pezzi di dati che producono lo stesso output sono astronomicamente basse. Come per i nostri identificatori sopra, qualsiasi modifica, anche minima, dei dati di input porterà a un output completamente diverso.
Vediamo ora come opera SHA256, una funzione usata ampiamente in Bitcoin. Come puoi vedere, anche solo modificare le maiuscole è sufficiente per alterare completamente l'output.
Dati di input | Output SHA256 |
---|---|
Binance Academy | 886c5fd21b403a139d24f2ea1554ff5c0df42d5f873a56d04dc480808c155af3 |
Binance academy | 4733a0602ade574551bf6d977d94e091d571dc2fcfd8e39767d38301d2c459a7 |
binance academy | a780cd8a625deb767e999c6bec34bc86e883acc3cf8b7971138f5b25682ab181 |
Ogni blocco contiene un'impronta digitale del precedente.
Blockchain e decentralizzazione
Abbiamo spiegato la struttura di base di una blockchain. Tuttavia, quando senti parlare di tecnologia blockchain, è probabile che la discussione non coinvolga solo il database, ma anche gli ecosistemi costruiti intorno alle blockchain.
Il Problema dei Generali Bizantini
Ognuno deve decidere se attaccare o ritirarsi. Non importa se attaccano o battono in ritirata, purché tutti i generali concordino su una decisione comune. Se decidono di attaccare, avranno successo solo muovendosi allo stesso tempo. Quindi, come possiamo garantire che riescano a farlo?
Certo, possono comunicare tramite messaggeri, ma cosa succede se il messaggero viene intercettato con il messaggio “attaccheremo all'alba”, e questo messaggio viene sostituito con “attaccheremo stasera”? E se uno dei generali ha cattive intenzioni e inganna deliberatamente gli altri per garantire che vengano sconfitti?
Tutti i generali hanno successo quando attaccano (sinistra). Quando alcuni si ritirano mentre altri attaccano, saranno sconfitti (destra).
Abbiamo bisogno di una strategia in cui sia possibile raggiungere il consenso, anche se i partecipanti si rivelano maligni o i messaggi vengono intercettati. Non essere in grado di mantenere un database non è una questione di vita o di morte come può esserlo attaccare una città senza rinforzi, ma vale lo stesso principio. Se non c'è nessuno a supervisionare la blockchain e a dare agli utenti le “corrette” informazioni, gli utenti devono poter comunicare tra di loro.
Perché le blockchain devono essere decentralizzate?
Potresti, ovviamente, operare una blockchain da solo, ma ti ritroveresti con un database scomodo in confronto ad alternative superiori. Il suo vero potenziale può essere sfruttato in un contesto decentralizzato – ovvero, un contesto in cui tutti gli utenti sono pari. In questo modo, la blockchain non può essere cancellata e nessun malintenzionato può prenderne il controllo.
Cos'è il network peer-to-peer?
Considera il grafico qui sotto. A sinistra, A deve inviare il suo messaggio tramite il server per arrivare a F. A destra, invece, i due sono connessi senza un intermediario.
Un network centralizzato (sinistra) vs. uno decentralizzato (destra).
Normalmente, il server mantiene tutte le infromazioni di cui gli utenti hanno bisogno. Quando accedi a Binance Academy, stai chiedendo ai suoi server di fornirti tutti gli articoli. Se il sito web va offline, non potrai vederli. Tuttavia, se hai scaricato tutti i nostri contenuti, puoi caricarli sul tuo computer senza chiedere a Binance Academy.
In sostanza, questo è ciò che fa ogni peer con la blockchain: l'intero database è conservato sui loro computer. Se qualcuno lascia il network, gli utenti rimanenti potranno comunque accedere alla blockchain, e condividere informazioni tra loro. Quando un nuovo blocco viene aggiunto alla catena, i dati vengono propagati attraverso il network in modo che tutti possano aggiornare la propria copia del registro.
Cosa sono i nodi blockchain?
I nodi sono semplicemente i dispositivi connessi al network – quelli che conservano copie della blockchain e condividono informazioni con gli altri. Gli utenti non devono gestire manualmente questi processi. In genere, tutto quello che devono fare è scaricare ed eseguire il software della blockchain, e il resto sarà fatto automaticamente.
Blockchain pubbliche vs. private
Vuoi iniziare con le criptovalute? Compra Bitcoin su Binance!
Come funzionano le transazioni?
Questo non è molto diverso da quello che avviene con una blockchain. Dopotutto, stiamo sempre parlando di database. La differenza centrale è che non esiste un singolo operatore che esegue i controlli e gli aggiornamenti dei bilanci. Tutti i nodi devono farlo.
Come effettuare transazioni in Bitcoin
Per illustrare come puoi effettuare transazioni in Bitcoin, immaginiamo due diversi scenari. Il primo consiste nel prelevare bitcoin da Binance, e il secondo nell'inviare fondi dal tuo Trust Wallet al tuo wallet Electrum.
Come prelevare bitcoin da Binance
Come inviare bitcoin da Trust Wallet a Electrum
In alternativa, puoi tornare su Trust Wallet e premere l'icona [–] per fare una scansione del codice QR che punta al tuo indirizzo Electrum.
Vuoi iniziare con le criptovalute? Compra Bitcoin su Binance!
Chi ha inventato la tecnologia blockchain?
Pro e contro della tecnologia blockchain
Le blockchain progettate correttamente risolvono un problema che affligge gli operatori in diversi settori, dalla finanza all'agricoltura. Un network distribuito presenta molti vantaggi rispetto al modello client-server tradizionale, ma comporta anche alcuni compromessi.
Pro
Come abbiamo menzionato in precedenza, il network di una blockchain pubblica è anche permissionless – non ci sono barriere alla partecipazione in quanto non c'è nessuno al comando. Se un potenziale utente può connettersi a internet, è in grado di interagire con altri peer sul network.
Molti sostengono che la qualità più importante delle blockchain sia l'alto grado di resistenza alla censura. Per paralizzare un servizio centralizzato, un malintenzionato deve solo attaccare un server. In un network peer-to-peer, invece, ogni nodo agisce come un server a sé stante.
Un sistema come Bitcoin ha più di 10.000 nodi visibili sparsi in tutto il mondo, rendendo virtualmente impossibile compromettere il network anche per un attaccante con molte risorse. Inoltre, ci sono molti nodi nascosti, non visibili al network generale.
Contro
Le blockchain non sono una panacea per ogni problema. Essendo ottimizzate per i vantaggi descritti nella sezione precedente, risultano carenti in altre aree. L'ostacolo più ovvio all'adozione di massa delle blockchain è la loro difficoltà nello scaling.
Questo vale per qualsiasi network distribuito. Dato che tutti i partecipanti devono rimanere sincronizzati, le nuove informazioni non possono essere aggiunte troppo velocemente, in quanto i nodi non riuscirebbero a tenere il passo. Di conseguenza, gli sviluppatori tendono a limitare intenzionalmente la velocità con cui la blockchain può essere aggiornata, per garantire che il sistema rimanga decentralizzato.
Per gli utenti di un network, questo può manifestarsi in lunghi periodi di attesa se troppe persone stanno cercando di effettuare transazioni. I blocchi possono contenere una quantità limitata di dati, e non vengono aggiunti istantaneamente alla catena. Se ci sono più transazioni di quante ne possono stare in un blocco, le rimanenti devono aspettare il blocco successivo.
Un altro possibile svantaggio dei sistemi blockchain decentralizzati è che non possono essere aggiornati facilmente. Se stai sviluppando un software per conto tuo, puoi aggiungere nuove funzionalità a tuo piacimento. Non devi lavorare con altri o chiedere il permesso per apportare modifiche.
In un ambiente con potenzialmente milioni di utenti, apportare modifiche è molto più difficile. Puoi cambiare alcuni parametri del software del tuo nodo, ma ti troverai eventualmente separato dal network. Se il software modificato è incompatibile con gli altri nodi, questi lo riconosceranno e si rifiuteranno di interagire con il tuo nodo.
Supponiamo di voler cambiare una regola su quanto possono essere grandi i nodi (da 1MB a 2MB). Potremmo provare a inviare questo blocco ai nodi a cui siamo connessi, ma loro hanno una regola che dice “non accettare blocchi più grandi di 1MB”. Se ricevono qualcosa di più grande, non lo includeranno nella loro copia della blockchain.
Capitolo 2 - Come funziona la blockchain?
Contenuti
- Come vengono aggiunti i blocchi alla blockchain?
- Mining (Proof of Work)
- Staking (Proof of Stake)
- Altri algoritmi di consenso
- Posso invertire le transazioni blockchain?
- Cos'è la scalabilità blockchain?
- Perché la blockchain ha bisogno di scalare?
- Cos'è un fork blockchain?
Come vengono aggiunti i blocchi alla blockchain?
Finora abbiamo trattato parecchi argomenti. Sappiamo che i nodi sono interconnessi e che mantengono copie della blockchain. Comunicano informazioni sulle transazioni e sui nuovi blocchi tra di loro. Abbiamo già parlato di cosa sono i nodi, ma forse ti stai chiedendo: come vengono aggiunti i nuovi blocchi alla blockchain?
Non esiste una fonte singola che dice agli utenti cosa devono fare. Dato che tutti i nodi hanno uguali poteri, deve esserci un meccanismo per decidere equamente chi può aggiungere blocchi alla blockchain. Abbiamo bisogno di un sistema che renda costoso imbrogliare e allo stesso tempo ricompensi gli utenti che agiscono onestamente. Qualsiasi utente razionale vorrà agire in un modo economicamente vantaggioso per lui.
Poiché il network è permissionless, la creazione di blocchi deve essere accessibile a chiunque. I protocolli spesso garantiscono questa caratteristica richiedendo all'utente di avere “skin in the game” – deve mettere a rischio il proprio denaro. Facendolo potrà partecipare alla creazione di blocchi, e se ne genera uno valido, riceverà una ricompensa.
Mining (Proof of Work)
L'enigma impone agli utenti di eseguire l'hash di transazioni e altre informazioni incluse nel blocco. Ma affinché l'hash sia considerata valida, deve ricadere al di sotto di un determinato numero. Dato che non c'è modo di prevedere quale sarà un dato output, i miner devono continuare ad eseguire hash di dati leggermente modificati fino a quando non trovano una soluzione valida.
Prima abbiamo detto che è praticamente impossibile invertire una hash, ma è facile verificarla. Quando un miner invia un nuovo blocco al resto del network, tutti gli altri nodi lo usano come input in una funzione di hash. Devono semplicemente eseguirla una volta per verificare che il blocco sia valido secondo le regole della blockchain. Se non lo è, il miner non riceve la ricompensa, e avrà sprecato elettricità per niente.
La prima blockchain Proof of Work è stata quella di Bitcoin. Dalla sua creazione, molte altre blockchain hanno adottato il meccanismo PoW.
Pro della Proof of Work
- Testata e collaudata ad oggi, la Proof of Work è l'algoritmo di consenso più maturo e ha protetto centinaia di miliardi di dollari in valore.
- Permissionless – chiunque può partecipare alla competizione del mining o semplicemente eseguire un nodo di convalida.
- Decentralizzazione – i miner competono tra loro per produrre blocchi, il che significa che la hash power non è mai controllata da un singolo partecipante.
Contro della Proof of Work
- Spreco – il mining consuma un'enorme quantità di elettricità.
- Barriere all'ingresso sempre più alte – man mano che sempre più miner si uniscono al network, i protocolli aumentano la difficoltà dell'enigma di mining. Per rimanere competitivi, gli utenti devono investire in attrezzature migliori. Questo potrebbe tagliare fuori diversi miner.
- 51% attack – anche se il mining promuove la decentralizzazione, c'è la possibilità che un miner acquisisca la maggioranza dell'hash power. Se ci riesce, potrebbe teoricamente annullare transazioni e compromettere la sicurezza della blockchain.
Staking (Proof of Stake)
Diverse implementazioni hanno diverse variazioni, ma una volta che un validatore mette in gioco le sue unità, può essere selezionato casualmente dal protocollo per annunciare il blocco successivo. Facendolo correttamente, riceverà una ricompensa. In alternativa, potrebbero esserci diversi validatori che concordano sul blocco successivo, e la ricompensa viene distribuita proporzionalmente alla stake di ciascuno.
Pro della Proof of Stake
- Ecosostenibile – l'impatto ambientale della PoS è una frazione di quello del mining PoW. Lo staking rimuove la necessità di operazioni di hashing ad alta intensità di risorse.
- Transazioni più veloci – dato che non è necessario spendere potenza di calcolo aggiuntiva su enigmi arbitrari impostati dal protocollo, alcuni proponenti della PoS sostengono che potrebbe aumentare le prestazioni in termini di transazioni.
- Ricompense di staking e interessi – invece di arrivare ai miner, le ricompense per la protezione del network vengono pagate direttamente ai possessori di token. In alcuni casi, la PoS permette agli utenti di generare reddito passivo sotto forma di airdrop o interesse, semplicemente mettendo in staking i propri fondi.
Contro della Proof of Stake
- Relativamente non testata – i protocolli PoS devono ancora essere testati su larga scala. Potrebbero esserci delle vulnerabilità non ancora scoperte nella loro implementazione o nella criptoeconomia.
- Plutocrazia – molti temono che la PoS incoraggi un ecosistema in cui “i ricchi diventano più ricchi”, in quanto i validatori con una grande stake tendono a guadagnare più ricompense.
- Problema nothing-at-stake – nella PoW, gli utenti possono solo “scommettere” su una catena – fanno mining sulla catena che secondo loro ha più probabilità di avere successo. Durante un hard fork, non possono scommettere su diverse catene con la stessa hash power. Tuttavia, i validatori nella PoS possono lavorare su più catene con scarsi costi aggiuntivi, cosa che potrebbe causare problemi economici.
Altri algoritmi di consenso
Non li esamineremo in questo articolo, ma se sei interessato, dai un'occhiata ai seguenti articoli:
- La Delayed Proof of Work Spiegata
- Il Consenso Proof of Stake a Noleggio Spiegato
- La Proof of Authority Spiegata
- La Proof of Burn Spiegata
Posso invertire le transazioni blockchain?
Detto questo, esistono molte implementazioni differenti della blockchain, e la differenza più fondamentale tra di loro è il modo in cui raggiungono il consenso all'interno del network. Questo significa che, in alcune implementazioni, un gruppo relativamente piccolo di partecipanti potrebbe acquisire potere sufficiente per invertire efficacemente le transazioni. Questa possibilità è preoccupante soprattutto per le altcoin con un network piccolo (con hash rate limitati dovuti alla scarsa competizione nel mining).
Cos'è la scalabilità blockchain?
Sono state proposte o implementate diverse soluzioni per mitigare alcuni degli svantaggi in materia di prestazioni delle blockchain. Attualmente, però, non è chiaro quale sia l'approccio migliore. E' probabile che molte soluzioni differenti dovranno essere testate fino a quando avremo risposte più dirette al problema della scalabilità.
Perché la blockchain ha bisogno di scalare?
Se i sistemi blockchain devono competere con le loro controparti centralizzate, devono offrire prestazioni almeno uguali a loro. Realisticamente, però, dovranno avere prestazioni migliori per incentivare sviluppatori e utenti a passare a piattaforme e applicazioni basate su blockchain.
Questo significa che, rispetto ai sistemi centralizzati, l'uso delle blockchain deve essere più veloce, più economico e più semplice, sia per gli sviluppatori che per gli utenti. Non è un obiettivo semplice da raggiungere mantenendo allo stesso tempo le caratteristiche che definiscono le blockchain, di cui abbiamo parlato prima.
Cos'è un fork blockchain?
Ricorda che le blockchain sono network distribuiti. Una volta che il software è aggiornato, migliaia di nodi sparsi per il mondo devono riuscire a comunicare e implementare la nuova versione. Ma cosa succede se i partecipanti non possono concordare su quale aggiornamento implementare? Solitamente, non c'è un'organizzazione con il compito di decidere. Questo ci porta ai soft fork e agli hard fork.
Soft fork
Se c'è un accordo generale su come un aggiornamento dovrebbe essere, si tratta di un cambiamento relativamente semplice. In uno scenario come questo, il software viene aggiornato con una modifica retrocompatibile, ovvero tutti i nodi aggiornati possono ancora interagire con i nodi che non lo sono. In realtà, però, ci si aspetta che quasi tutti i nodi vengano aggiornati nel tempo. Questo è ciò che chiamiamo un soft fork.
Hard fork
Un hard fork è più complicato. Una volta implementate, le nuove regole saranno incompatibili con quelle vecchie. Quindi, se un nodo che sta seguendo le nuove regole cerca di interagire con un nodo che sta seguendo quelle vecchie, non sarà in grado di comunicare. Questo risulta nella divisione in due blockchain – in una, viene eseguito il vecchio software, nell'altra, si applicano le nuove regole.
Dopo l'hard fork, ci sono essenzialmente due network differenti che eseguono due protocolli diversi in parallelo. E' importante sottolineare che, al momento del fork, i saldi dell'unità nativa della blockchain vengono clonati dal vecchio network. Quindi, se avevi un saldo sulla vecchia chain al momento del fork, avrai un saldo anche sulla nuova.
Capitolo 3 - Per cosa è usata la blockchain?
Contenuti
- La blockchain per le catene di fornitura
- Blockchain e industria del gaming
- La blockchain per l'assistenza sanitaria
- Rimesse blockchain
- La blockchain e l'identità digitale
- Blockchain e Internet of Things (IoT)
- La blockchain per la governance
- Blockchain per beneficenza
- Blockchain per speculazione
- Crowdfunding con la blockchain
- Blockchain e file system distribuiti
La blockchain per le catene di fornitura
Le catene di fornitura efficienti sono alla base di molte attività di successo e si occupano dello spostamento di merci dal fornitore al consumatore. La coordinazione di diversi operatori in un dato settore si è però dimostrata difficile in passato. La tecnologia blockchain potrebbe rendere possibili nuovi livelli di trasparenza in molte industrie. Un ecosistema interoperabile incentrato su un database immutabile è proprio quello di cui molti settori hanno bisogno per diventare più robusti e affidabili.
Blockchain e industria del gaming
Il settore del gaming è diventato una delle più grandi industrie di intrattenimento al mondo, e potrebbe beneficiare notevolmente dalla tecnologia blockchain. In genere, i videogiocatori tendono ad essere alla mercé degli sviluppatori di giochi. In gran parte dei videogiochi online, i giocatori sono costretti ad affidarsi allo spazio server degli sviluppatori e a seguire il loro set di regole in continua evoluzione. In questo contesto, la blockchain potrebbe aiutare a decentralizzare la proprietà, la gestione e il mantenimento dei videogiochi online.
La blockchain per l'assistenza sanitaria
Archiviare cartelle cliniche in modo affidabile è fondamentale per qualsiasi sistema sanitario, e la dipendenza da server centralizzati lascia informazioni sensibili in una posizione vulnerabile. La trasparenza e la sicurezza della tecnologia blockchain la rendono una piattaforma ideale su cui archiviare registri medici.
Proteggendo crittograficamente le proprie cartelle su una blockchain, i pazienti potrebbero mantenere la propria privacy, e allo stesso tempo condividere informazioni mediche con qualsiasi istituzione sanitaria. Se tutti i partecipanti del sistema sanitario attualmente frammentato potessero accedere a una banca dati sicura e globale, il flusso di informazioni tra di loro sarebbe molto più rapido.
Rimesse blockchain
Inviare denaro a livello internazionale utilizzando il sistema bancario tradizionale è una seccatura. Principalmente a causa di un contorto network di intermediari, le commissioni e i tempi di regolamento rendono le banche tradizionali costose e poco affidabili per le transazioni urgenti.
Le criptovalute e le blockchain eliminano questo ecosistema di intermediari e possono consentire trasferimenti rapidi ed economici in tutto il mondo. Mentre le blockchain sacrificano senza dubbio le prestazioni per alcune delle proprietà desiderabili, ci sono diversi progetti che sfruttano la tecnologia per offrire transazioni quasi istantanee e a basso costo.
Vuoi iniziare con le criptovalute? Compra Bitcoin su Binance!
La blockchain e l'identità digitale
Blockchain e Internet of Things (IoT)
La blockchain per la governance
I network distribuiti possono definire e applicare forme proprie di regolazione sotto forma di codice informatico. Non sorprende quindi che la blockchain potrebbe riuscire a disintermediare diversi processi di governance a livello locale, nazionale o persino internazionale.
Blockchain per beneficenza
Le organizzazioni di beneficenza sono spesso ostacolate dai limiti delle modalità con cui possono accettare fondi. Ancor più frustrante, la destinazione finale dei fondi donati può essere difficile da tracciare con precisione, cosa che senza dubbio scoraggia molti dal sostenere tali organizzazioni.
Blockchain per speculazione
Senza dubbio, uno degli usi più popolari della tecnologia blockchain è la speculazione. I trasferimenti frictionless tra exchange, le soluzioni di trading non custiodiali, e un ecosistema in crescita di prodotti derivati rende questo settore un campo di gioco ideale per tutti i tipi di speculatori.
A causa delle sue proprietà intrinseche, la blockchain è uno strumento eccellente per coloro che sono disposti a correre il rischio di partecipare in una classe di asset così innovativa. Alcuni credono addirittura che una volta maturata la tecnologia e il quadro normativo ad essa circostante, i mercati speculativi globali potrebbero essere tutti tokenizzati sulla blockchain.
Crowdfunding con la blockchain
Blockchain e file system distribuiti
L'archiviazione distribuita di file su Internet presenta molti vantaggi rispetto alle alternative centralizzate convenzionali. Gran parte dei dati archiviati nel cloud dipendono da server e fornitori di servizi centralizzati, i quali tendono ad essere più vulnerabili ad attacchi e perdite di dati. In alcuni casi, gli utenti potrebbero anche incontrare problemi di accessibilità a causa della censura da parte di server centralizzati.
Dal punto di vista dell'utente, le soluzioni di archiviazione file su blockchain funzionano esattamente come le altre soluzioni di archiviazione nel cloud – puoi caricare, conservare e accedere a file. Quello che succede nel background, però, è piuttosto differente.
Quando carichi un file a un archivio blockchain, viene distribuito e replicato su diversi nodi. In alcuni casi, ciascun nodo archivierà una porzione diversa del tuo file. Non possono fare molto con i dati parziali, ma in seguito puoi richiedere ai nodi di fornire ogni parte, in modo da combinarle per recuperare il file completo.
Lo spazio di archiviazione deriva dai partecipanti che mettono a disposizione del network il loro spazio e la loro banda larga. In genere, questi partecipanti sono economicamente incentivati a fornire tali risorse, ed economicamente puniti se non seguono le regole o mancano di archiviare e consegnare file.
Potresti pensare a questo tipo di network come simile a Bitcoin. In questo caso, però, l'obiettivo principale del network non è supportare trasferimenti di valore monetario, ma di abilitare l'archiviazione di file decentralizzata e resistente alla censura.