Cos’è tecnicamente una blockchain?

Mag 30, 2022 | 0 commenti

Nella sua forma più semplice, una blockchain è una raccolta digitale di informazioni sulle transazioni. Questo è anche chiamato libro mastro, ed è il motivo per cui questa parola è spesso usata quando si descrive la tecnologia blockchain.

Quando si hanno molte collezioni diverse di dati, questi vengono immagazzinati insieme usando un sistema basato su blocchi di dati concatenati insieme. Poiché ogni blocco è concatenato a quelli che lo circondano, essi interagiscono tra loro.

Questo crea un sistema in cui se un blocco viene alterato, un blocco adiacente cattura immediatamente l’errore e impedisce la transazione non valida. Come risultato, le transazioni sulla blockchain non possono essere cambiate – creando un record permanente che è condiviso con tutti sulla rete.

La blockchain ha il potenziale per sbloccare il modo in cui vediamo e spendiamo il denaro, e come legittimeremo una varietà di accordi, contratti e tecnologie.

Da dove viene la blockchain?

Quando la maggior parte delle persone pensa alla blockchain, vengono in mente tecnologie importanti come Bitcoin. Anche se la tecnologia blockchain non dipende da Bitcoin, il suo sviluppo è stato alimentato dal gigante delle criptovalute, e Bitcoin continua a guidare il movimento blockchain. Ma, originariamente, la blockchain non aveva nulla a che fare con la valuta.

Nel 1991, il concetto di blockchain è stato inventato come un modo per verificare i contenuti all’interno di un documento utilizzando un timbro temporale immutabile. La blockchain è stata progettata come un modo per autenticare ciò che c’è in un documento e marcare la verifica nel tempo senza rivelare ciò che è dentro il documento. Questo ha dato alle transazioni blockchain autenticità, immutabilità e privacy.

Il libro mastro distribuito di una blockchain

Un libro mastro è un registro delle transazioni, e include dettagli importanti come quando la transazione è stata fatta, le parti coinvolte, cosa è stato scambiato e qualsiasi importo applicabile.

Un esempio comune di un libro mastro è un libretto degli assegni, che ha le date, gli importi e i destinatari degli assegni, così come quanto è rimasto sul tuo conto corrente. Ma, se fai la maggior parte delle tue operazioni bancarie elettronicamente, il tuo estratto conto mensile serve come libro mastro.

Sulla blockchain, il libro mastro è distribuito, il che significa che le voci sono fatte e condivise con tutti sulla rete. In questo modo, il libro mastro è “distribuito” tra molti utenti diversi o peer. Ogni peer ha una copia dell’intero libro mastro.

La blockchain è decentralizzata

Poiché tutti hanno accesso allo stesso libro mastro e nessuna persona o istituzione lo controlla, la blockchain è decentralizzata. Questo rende la blockchain diversa dalle istituzioni finanziarie come le banche, perché le banche hanno il controllo sulle transazioni.

Ecco un esempio: Immaginiamo che la blockchain sia come Google Docs e che le banche tradizionali siano come le vecchie versioni di Microsoft Word. Con Google Docs, chiunque ha accesso al documento può aggiungervi qualcosa. Con Microsoft Word, invece, tutto quello che si può fare è inviare un file salvato perché qualcun altro lo legga.

Sulla blockchain, chiunque sulla rete può aggiungere al libro mastro, mentre una banca si limita a inviare un estratto conto. Non puoi aggiungere una transazione al libro mastro della banca o eseguire transazioni senza la sua approvazione perché è centralizzata.

Come la blockchain è immutabile

La natura immutabile, o immutabile, della blockchain è dove si fermano i confronti con Google Docs. A differenza di Google Docs, nessuno può cambiare ciò che è stato inserito nella blockchain. Ogni peer della rete può solo aggiungere transazioni. In altre parole, nulla di ciò che è già stato aggiunto può essere alterato in alcun modo.

Come funziona la blockchain

Ci sono diversi tipi di blockchain, come le blockchain pubbliche e le blockchain consortili, ma tutte condividono alcuni elementi chiave. Una blockchain è composta da blocchi. All’interno di questi blocchi ci sono i dati. I dati contengono informazioni che devono essere mantenute nel libro mastro della blockchain.

Per esempio, con le criptovalute, i dati includono:

  • Mittente
  • Destinatario
  • Quanta valuta viene inviata

Le blockchain sono utilizzate anche nel processo di tracciamento del cibo. In questo caso, il blocco conterrebbe dati come:

  • Dove è stato raccolto il cibo
  • La fabbrica che lo ha lavorato
  • Dove il cibo è stato acquistato

Grazie alla blockchain, se c’è una malattia legata al cibo, è possibile capire rapidamente dove il cibo è stato prodotto e quali strutture (o anche persone) lo hanno manipolato. È quindi possibile utilizzare queste informazioni per proteggere gli altri dall’infezione, il tutto nel giro di pochi minuti o ore.

Se l’industria automobilistica utilizzasse la blockchain, si potrebbe garantire che le letture del contachilometri dei veicoli siano accurate, impedendo alle persone di manometterle per aumentare o diminuire il valore.

Per esempio, il blocco potrebbe contenere una lettura accurata del contachilometri e la data in cui è stata registrata. Questo verrebbe memorizzato sulla blockchain, e chiunque potrebbe accedervi per vedere una vera registrazione di quanto è stata guidata l’auto.

Perché i dati sulla blockchain non possono essere cambiati?

Se stai pensando tra te e te, perché i dati non possono essere cambiati? Certo che può essere – basta andare a cambiarli! Non sei solo. Questa è una domanda comune e la spiegazione è importante.

Allora, i dati memorizzati all’interno di ogni blocco sulla blockchain hanno quello che viene chiamato un valore di hash. Questo valore è generato passando alcuni dati attraverso una formula, e il risultato prodotto dalla formula è chiamato hash. Di solito, l’hash è una stringa di caratteri, e gli hash generati da una formula specifica hanno sempre la stessa lunghezza, indipendentemente da quanti dati vi si inseriscono.

Per esempio, la formula MD5 produce sempre hash di 32 caratteri. Non importa se inserite nella formula solo la lettera C o l’intera parola Mynecrypto, otterrete sempre un valore di hash lungo 32 caratteri.

Inoltre, la formula produrrà sempre lo stesso esatto hash per un dato specifico. Così, usando la formula MD5, la stringa per Mynecrypto restituisce sempre il valore e2f38549c5d471e64f7c16cf44d2d36d. (Provate voi stessi).

Questo è importante perché l’hash serve come impronta digitale unica per ogni blocco. Insieme ad un valore di hash, viene prodotto anche un checksum per un pezzo specifico di dati, e verifica l’autenticità dei dati.

Questo aiuta a proteggere da cambiamenti accidentali, errori di trasmissione dei dati o hacker. Due file possono essere considerati identici solo se le somme di controllo generate per ogni file – usando la stessa funzione hash crittografica – sono identiche.

Per essere utili, le funzioni hash crittografiche devono avere quattro proprietà. Devono essere:

  • Computazionalmente efficienti
  • Deterministiche
  • Resistenti alla pre-immagine
  • Resistenti alle collisioni

Ecco un po’ di più su ciascuna di queste proprietà:

  1. Computazionalmente efficiente

Efficienza computazionale significa che i computer possono eseguire le funzioni hash velocemente. Questo fa sì che un computer possa eseguire la funzione senza spendere troppa potenza di elaborazione. Questa maggiore potenza aiuta il funzionamento generale della blockchain in modo più efficiente.

  1. Deterministica

La blockchain è deterministica, il che significa che per ogni dato input, la funzione hash darà sempre lo stesso risultato. Per esempio, se inserisci lo stesso input un milione di volte di seguito, indipendentemente da quando lo inserisci, la funzione hash deve produrre lo stesso output ogni singola volta.

Questo è simile a come funziona una normale funzione matematica. Per esempio, nell’equazione X + 2 = Y, se si rende X uguale a 3, Y sarà sempre 5 o 3 + 2.

  1. Resistente alla pre-immagine

Una funzione hash resistente alla pre-immagine significa che il suo output non rivela alcuna informazione sull’input. Quindi, anche se si conosce l’output, non si può capire l’input utilizzato per crearlo. In questo modo, la natura resistente alle pre-immagini degli hash crittografici protegge la privacy di coloro che transitano sulla blockchain.

Con le funzioni hash crittografiche, l’input può essere qualsiasi cosa, da numeri, lettere, frasi, paragrafi o interi libri. Non importa quanto grande o piccolo sia l’input, la funzione stessa non rivela alcuna informazione su di esso.

  1. resistente alle collisioni

Quando un hash è resistente alle collisioni, è quasi impossibile che due input diversi producano lo stesso output. L’output di un hash ha una lunghezza fissa, mentre l’input può essere di qualsiasi dimensione. Quindi, c’è una minima possibilità che l’output sia lo stesso con due input diversi.

Funzioni di hash comunemente usate

 Tra i diversi tipi di algoritmi di hash, i due più comunemente usati per autenticare i dati sono MD5 e SHA-2.

  • MD5 (algoritmo Message-Digest 5)

 Se avete sentito parlare della funzione di hash MD5, probabilmente sapete anche che è considerata crittograficamente rotta. Ma, anche se ha notevoli vulnerabilità, è ancora comunemente usato come checksum per verificare l’integrità dei dati. Producendo un valore di hash a 128 bit, è anche usato per un’ampia varietà di altre applicazioni di sicurezza.

  • SHA-2

Progettato dalla United States National Security Agency, SHA-2 è una famiglia di sei funzioni hash. Una di queste è l’hash SHA-256, utilizzata da Bitcoin. SHA-2 restituisce un valore di hash di 256 bit ed è considerato molto più sicuro di MD5.

La chiave dell’immutabilità della blockchain: Il puntatore hash

 Ogni blocco di dati nella blockchain ha un puntatore che punta al blocco precedente, e ogni blocco è puntato dal blocco successivo. L’unica eccezione è il primo blocco, noto come blocco della genesi o blocco 0.

Poiché il blocco genesi è la base su cui vengono aggiunti altri blocchi per formare una catena, non ha un blocco precedente a cui puntare. Quindi, il valore dell'”hash precedente” di un blocco di genesi è impostato a 0. Questo significa semplicemente che non c’è stato alcun dato elaborato prima del blocco di genesi.

Ogni blocco che segue il blocco di genesi è numerato in modo sequenziale, a partire da 1, e ha un “hash precedente” impostato sull’hash del blocco precedente. Questo significa che ogni blocco può essere rintracciato fino a quello che lo precede e quello che lo precede e così via – fino al blocco di genesi.

Il valore di ogni blocco è determinato dalla funzione di hash che gira sui dati. Quindi, se qualcuno cerca di cambiare o manipolare i dati, anche il valore di hash prodotto dal blocco cambierà. Questo segnala i dati sulla blockchain come non validi, mantenendo la transazione sicura.

Per esempio, se hai tre blocchi in una blockchain, il secondo punta al primo e il terzo al secondo. Se qualcuno cerca di cambiare i dati nel secondo blocco, altererebbe anche il valore di hash che il blocco produce – perché la funzione di hash è deterministica e resistente alle collisioni.

Il puntatore del terzo blocco non funzionerebbe più perché sta cercando il risultato originale dell’hash. Questo causa la rottura dei risultati nella blockchain, che poi espone il tentativo di manomissione.

Ogni computer sulla rete della blockchain vedrebbe immediatamente l’invalidità della transazione. Ogni computer, in effetti, dà un voto sulla validità dei dati all’interno di ogni blocco. Qualcuno avrebbe bisogno di controllare più del 50% di tutti i computer della rete per cercare di convalidare un blocco che è stato manomesso.

Il puntatore funziona come un accordo digitale tra i blocchi in una blockchain, rendendo le informazioni nelle transazioni come gli scambi di valuta, le letture del contachilometri, o dove vengono coltivate le verdure, immutabili. Questo livello di sicurezza è una delle principali attrattive della tecnologia blockchain.

 Le 4 qualità della blockchain

 Ogni blockchain ha queste qualità essenziali:

  • Peer-to-peer: La blockchain non è controllata da nessuna persona o autorità centrale. Ognuno sulla rete è un giocatore alla pari, e tutti i partecipanti parlano direttamente tra loro senza l’input di terze parti.
  • Distribuito: Il libro mastro è diffuso in tutta la rete, il che lo rende quasi impossibile da manomettere. L’unico modo per alterare potenzialmente il libro mastro sarebbe controllare almeno il 51% dei computer sulla rete della blockchain.
  • Crittograficamente sicuro: La crittografia è usata per scopi di sicurezza e rende il libro mastro a prova di manomissione. Non c’è modo di ricavare i dati che sono stati immessi utilizzando l’output, grazie alla crittografia.
  • Add-only: I dati possono essere aggiunti solo alla blockchain, e ogni voce è registrata nel tempo, il che aggiunge anche l’immutabilità della blockchain.

Il futuro della tecnologia blockchain

La blockchain rende possibile a persone da diverse parti del mondo di impegnarsi istantaneamente in transazioni commerciali e scambiare, raccogliere e analizzare dati. Il futuro della blockchain dipenderà in gran parte dalle persone che impareranno come funziona e poi la adatteranno per eseguire compiti comuni, oltre ad aprire nuove possibilità.

Attualmente, alcune banche e istituzioni finanziarie sono già in procinto di adottare e sviluppare soluzioni blockchain perché forniscono modi veloci e sicuri di inviare e ricevere fondi.

Una delle applicazioni più flessibili della blockchain riguarda i contratti intelligenti. Questi sono contratti, simili a quelli che mettereste su carta, che permettono a due o più parti di concordare le condizioni di una vendita. Quando ogni aspetto del contratto è stato soddisfatto, la transazione può andare avanti.

Per esempio, si potrebbe usare un contratto intelligente per facilitare la vendita di una casa. Tutto, dall’ispezione della casa ai requisiti di pegno, può essere incluso nel contratto intelligente.

Blockchain può aiutare anche con altre transazioni immobiliari. Se qualcuno che vive negli Stati Uniti vuole acquistare un terreno in Giamaica, ma è attualmente in visita in Francia, la transazione sarebbe altrettanto facile e poco costosa come se fosse effettivamente a Kingston, in Giamaica. Più le istituzioni finanziarie adottano la tecnologia blockchain, più questo tipo di transazioni diventeranno comuni.

Un altro fattore chiave nel futuro della blockchain è il movimento della finanza decentralizzata o Defi. Defi è semplicemente la finanza che usa le criptovalute. I sistemi Defi rendono possibile agli utenti di prestare e prendere in prestito denaro, con quelli che prestano che guadagnano sui soldi che lasciano prendere in prestito agli altri.

Ricapitolando: Nozioni di base sulla blockchain

 La blockchain fornisce agli utenti un modo unico, efficace e poco costoso di scambiare valute, mantenere dati accurati e facilitare i contratti. Tutto questo è possibile grazie ai seguenti elementi, che differenziano la blockchain da altri metodi per effettuare transazioni e scambiare informazioni:

  • Un libro mastro distribuito. Nessuna organizzazione o persona centrale controlla le informazioni. I pari della rete condividono le informazioni nel libro mastro e tutti ne hanno una copia aggiornata.
  • Una struttura decentralizzata. Le transazioni non sono facilitate, controllate o alterate da un’entità centrale.
  • Una volta che le informazioni sono state inserite nella blockchain, non possono essere cambiate.
  • Crittograficamente sicuro. Le transazioni sono sicure usando funzioni crittografiche che rendono impossibile derivare l’input dall’output.
  • Solo aggiunte. Puoi solo aggiungere alla blockchain. Non puoi alterare le voci precedenti.

Queste qualità si basano sulle funzioni hash che formano la base della blockchain. Le funzioni hash sono:

  • Computazionalmente efficienti. Questo significa che i computer possono risolverle velocemente.
  • Finché si inserisce lo stesso input, si otterrà lo stesso output.
  • Resistente alla pre-immagine. L’output di una funzione hash non può essere usato per determinare l’input usato per produrlo.
  • Resistente alle collisioni. Due input diversi non possono produrre lo stesso output, praticamente. Le probabilità sono meno di 1 su 115, seguite da 75 zeri.

Questi sono i concetti fondamentali che guidano la blockchain, ma c’è ancora molto da imparare. La tecnologia blockchain è ancora relativamente giovane e, man mano che sempre più grandi istituzioni e aziende – grandi e piccole – si rendono conto del suo potenziale, il mercato dei progettisti blockchain è destinato a crescere.