Vai al contenuto

Diagramma della blockchain

Da BitcoinWiki.
Rappresentazione visiva della struttura di una blockchain con blocchi collegati e nodi di rete.
Illustrazione del collegamento tra blocchi e nodi in un tipico sistema blockchain.

Un diagramma della blockchain è una rappresentazione semplificata della struttura dei dati, della rete, dei componenti software o del flusso di elaborazione delle transazioni di una blockchain. Il soggetto e la notazione dipendono dallo scopo. Un riquadro può indicare un blocco in un diagramma e un partecipante alla rete in un altro; una freccia può indicare un riferimento crittografico, un messaggio o la fase successiva di un processo. Per interpretare correttamente il diagramma occorre quindi considerare il protocollo, le etichette e la legenda.[1]

Contenuto dell'illustrazione

L'illustrazione in questa pagina combina una semplice vista della catena con una vista della rete. I tre riquadri centrali rappresentano blocchi. Ogni riquadro riporta dati, un hash e un campo con l'hash precedente; quest'ultimo rappresenta il riferimento crittografico che collega un blocco al suo predecessore. Le icone dei computer circostanti rappresentano i partecipanti alla rete.

L'immagine è schematica. Le linee di collegamento non identificano specifici messaggi peer-to-peer e alle icone dei computer non sono assegnati ruoli. Non mostra quale partecipante proponga un blocco, quali lo convalidino, come vengano risolte le storie concorrenti o quando una transazione diventi definitiva. Questi dettagli richiedono un diagramma specifico del protocollo o un testo di accompagnamento.

Tipi di vista comuni

Nessun singolo diagramma spiega ogni parte di un sistema blockchain. Una classificazione pratica distingue i diagrammi in base alla domanda a cui rispondono:

  • Un diagramma della catena o della struttura dei dati mostra blocchi, intestazioni, dati delle transazioni e riferimenti crittografici tra i blocchi.
  • Un diagramma di transazione o di flusso di processo segue una transazione o una proposta attraverso fasi come invio, propagazione, convalida, ordinamento, inclusione e conferma.
  • Un diagramma di rete o di topologia mostra i peer e le connessioni usate per trasmettere transazioni, blocchi, voti o dati di sincronizzazione.
  • Un diagramma dei componenti o dei ruoli separa i componenti software e le responsabilità dei partecipanti, quali client, validatori, endorser o un servizio di ordinamento.

Queste categorie sono un ausilio alla lettura, non una notazione blockchain standardizzata. Un diagramma può combinare più viste, ma frecce prive di simboli o etichette distinti possono risultare ambigue. La documentazione attuale dei nodi Ethereum, per esempio, distingue client di esecuzione, di consenso e, facoltativamente, di validazione, l'API locale tra i client e reti peer-to-peer separate.[2]

Catena di blocchi

Un diagramma elementare dispone i blocchi in sequenza. In genere un blocco contiene un riferimento crittografico al proprio predecessore; una modifica ai dati precedenti cambia quindi anche il valore richiamato dai blocchi successivi, rendendo visibile l'alterazione. Questo collegamento, da solo, non rende impossibile riscrivere il registro: la resistenza alle manomissioni dipende anche dalle regole di convalida e consenso della rete.[1]

La relazione è spesso rappresentata da riquadri collegati mediante frecce. In questo caso una freccia indica un riferimento ottenuto con una funzione hash crittografica, non un messaggio che viaggia direttamente da un blocco al successivo. Alcuni protocolli possono inoltre avere rami concorrenti; una linea retta costituisce pertanto una vista semplificata della storia accettata.[3]

Informazioni contenute in un blocco

Il contenuto dei blocchi varia in base al protocollo. Un diagramma strutturale utile identifica il protocollo invece di presentare una disposizione dei campi come universale. In Bitcoin, per esempio, l'intestazione del blocco contiene una versione, l'hash dell'intestazione precedente, una radice di Merkle derivata dalle transazioni del blocco, un campo temporale, il valore codificato dell'obiettivo della proof-of-work e un nonce.[4]

La radice di Merkle consente di riassumere molte transazioni con un unico valore nell'intestazione. Un diagramma dettagliato può espandere tale valore in un albero di hash delle transazioni, mentre un diagramma introduttivo può mostrare soltanto la radice e il corpo del blocco.

Flusso di transazioni, rete e consenso

Un diagramma di processo dovrebbe distinguere l'invio dei dati, la loro verifica, la selezione o l'ordinamento, l'inclusione in un blocco e l'accettazione o finalizzazione della storia risultante. I protocolli non usano necessariamente le stesse fasi né le assegnano agli stessi partecipanti.

In Bitcoin, i peer annunciano transazioni e blocchi; gli altri peer richiedono i dati che non possiedono e i peer completi convalidano autonomamente le informazioni ricevute. I miner assemblano blocchi candidati e cercano un hash dell'intestazione che soddisfi l'obiettivo della proof-of-work. Un blocco minato viene propagato ai peer, ma propagazione e convalida sono eventi distinti.[5][3]

Ethereum usa attualmente la proof-of-stake. La sua architettura separa il client di esecuzione, che gestisce transazioni e stato, dal client di consenso, che segue il protocollo proof-of-stake; quando il nodo opera come validatore viene utilizzato anche un client di validazione. Un validatore selezionato propone un blocco, altri validatori lo verificano e le regole di scelta della biforcazione e di finalità determinano la storia accettata.[6][2]

I sistemi permissioned possono adottare una sequenza diversa. In Hyperledger Fabric, un client invia una proposta ai peer endorser, che la simulano e restituiscono le approvazioni senza aggiornare il registro. Il client trasmette poi la transazione approvata al servizio di ordinamento; successivamente i peer convalidano le transazioni nei blocchi ricevuti, aggiungono i blocchi e applicano gli aggiornamenti di stato validi. Un diagramma del flusso di Fabric richiede quindi etichette di ruolo e sequenza che non sarebbero adatte a un diagramma del mining di Bitcoin.[7]

Come leggere e valutare un diagramma

Prima di basarsi su un diagramma della blockchain:

  1. Individuare la vista principale: struttura dei dati, processo della transazione, topologia di rete o ruoli dei componenti.
  2. Verificare il protocollo, la rete e la versione del software indicati. Un diagramma generico privo di etichette va considerato un modello concettuale.
  3. Determinare che cosa rappresenti ogni forma. La ripetizione di icone di computer non implica necessariamente che tutti i partecipanti abbiano lo stesso ruolo.
  4. Leggere direzione e significato di ogni freccia. Può indicare un riferimento hash, un messaggio di protocollo, una connessione software locale o l'ordine del processo.
  5. Distinguere i dati persistenti dai messaggi in transito e la convalida delle transazioni dalla proposta, dall'ordinamento, dal consenso e dalla finalità dei blocchi.
  6. Cercare una legenda e le omissioni dichiarate. Se il diagramma combina più viste, stili di linea o etichette distinti dovrebbero chiarire le relazioni.

Questa lista è una guida pratica alla lettura, non uno standard formale di diagrammazione.

Limiti

Un diagramma omette deliberatamente dettagli di implementazione per rendere visibile una relazione specifica. Non dimostra che un sistema sia decentralizzato, sicuro, immutabile o definitivo. Tali proprietà dipendono dal protocollo completo, dai partecipanti, dalle ipotesi sulle minacce e dal funzionamento del sistema. Quando è necessario conoscere il comportamento esatto, il diagramma va letto insieme alla specifica applicabile o alla documentazione tecnica aggiornata.

Riferimenti

  1. 1,0 1,1 Blockchain Technology Overview, National Institute of Standards and Technology, NISTIR 8202, 2018.
  2. 2,0 2,1 Node architecture, ethereum.org, accessed 3 September 2026.
  3. 3,0 3,1 Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto, 2008.
  4. Block Chain reference, Bitcoin Developer Documentation, accessed 3 September 2026.
  5. P2P Network, Bitcoin Developer Guide, accessed 3 September 2026.
  6. Blocks, ethereum.org, accessed 3 September 2026.
  7. Transaction Flow, Hyperledger Fabric documentation, accessed 3 September 2026.