0Pricing
Cryptology Academy · Lezione

Catene di hash e collegamento dei blocchi

Costruisca una blockchain minimale con puntatori hash per comprendere l'immutabilità.

Catene di hash e collegamento dei blocchi è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.

Che cos'è una catena di hash?

Una catena di hash collega blocchi di dati in modo che ogni blocco contenga l'hash del blocco precedente. La modifica di un blocco qualsiasi ne cambia l'hash, invalidando tutti i blocchi successivi. Si crea così un registro append-only, in cui le manomissioni sono rilevabili.

Struttura di un blocco

Ogni blocco contiene: (1) payload di dati (transazioni), (2) hash del blocco precedente (puntatore al blocco precedente), (3) marca temporale, (4) nonce (per PoW), (5) radice di Merkle delle transazioni. Il primo blocco (genesis) ha previous_hash = "0"*64.

Blockchain minimale in Python

import hashlib, json class Block: def __init__(self, data, prev_hash): self.data = data self.prev_hash = prev_hash self.hash = hashlib.sha256( json.dumps({'data':data,'prev':prev_hash}).encode() ).hexdigest()

Perché i puntatori hash garantiscono l'integrità

Se un attaccante modifica i dati del blocco 3, cambia l'hash del blocco 3. Il blocco 4 fa riferimento al vecchio hash del blocco 3: la catena si interrompe al blocco 4. L'attaccante deve ricalcolare gli hash dei blocchi 3, 4, 5, ... fino alla punta della catena. Con PoW, questa operazione è computazionalmente impraticabile.

Immutabilità e rilevamento delle manomissioni

Le catene di hash consentono di rilevare le manomissioni, ma da sole non garantiscono l'immutabilità. Senza meccanismi aggiuntivi (PoW, firme digitali, distribuzione), un attaccante che controlli la catena può riscriverla. È il consenso distribuito a rendere la blockchain resistente alle manomissioni nella pratica.

Regola della catena più lunga

Regola della catena più lunga di Bitcoin: la catena valida con la maggiore quantità cumulativa di proof-of-work è quella canonica. Se un attaccante crea un fork della catena, i miner onesti estendono più rapidamente la catena onesta (assunzione del 51%). Il fork dell'attaccante è più corto e viene scartato.

Intestazione e blocco completo

I client SPV (Simple Payment Verification) di Bitcoin scaricano solo le intestazioni dei blocchi da 80 byte (contenenti l'hash precedente, la radice di Merkle, il nonce, la marca temporale e i bits). I nodi completi memorizzano tutte le transazioni. I client SPV verificano una transazione tramite una prova di Merkle rispetto alla radice di Merkle dell'intestazione.

Blocco genesis

Il blocco genesis di Bitcoin (blocco 0, 3 gennaio 2009) ha prev_hash = 0x000...0. Satoshi ha inserito il titolo "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" nella transazione coinbase come prova della marca temporale.

Catena di custodia

Le catene di hash precedono la blockchain. Utilizzi: elenchi di revoca dei certificati (collegati tramite hash), integrità dei log (hash della voce di log precedente), catena di fiducia DNSSEC. Il concetto si generalizza a qualsiasi struttura append-only in cui ogni voce si impegna rispetto a tutte le voci precedenti.

Checkpointing

Per velocizzare la sincronizzazione iniziale, Bitcoin Core codifica nel client dei checkpoint: hash di blocchi noti come validi a determinate altezze. Un client che avvia la sincronizzazione può saltare la verifica PoW dei blocchi precedenti al checkpoint, fidandosi dell'hash codificato. Compromesso: si riduce la minimizzazione della fiducia.

Indirizzamento basato sul contenuto

Git utilizza lo stesso principio: ogni commit è identificato dall'hash SHA-1/SHA-256 del proprio contenuto + l'hash del commit padre. Eseguire git checkout restituisce esattamente quello stato. L'intera cronologia di Git è un albero di oggetti collegati tramite hash.

Verifica rapida

Perché un attaccante deve ricalcolare tutti gli hash dei blocchi successivi dopo aver modificato un blocco?

Riepilogo

Le catene di hash collegano i blocchi tramite puntatori crittografici. Una modifica si propaga a tutti i blocchi successivi. In combinazione con PoW e il consenso distribuito, questo rende la blockchain immutabile nella pratica. Prossimo argomento: alberi di Merkle per garantire in modo efficiente l'integrità delle transazioni.

Domande Frequenti

La lezione «Catene di hash e collegamento dei blocchi» è gratuita?

Sì — il testo completo di «Catene di hash e collegamento dei blocchi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.

Cosa imparerò in «Catene di hash e collegamento dei blocchi»?

Costruisca una blockchain minimale con puntatori hash per comprendere l'immutabilità. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cryptology Academy?

Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Catene di hash e collegamento dei blocchi»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?

Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Catene di hash e collegamento dei blocchi
  2. Alberi di Merkle: integrità delle transazioni su larga scala
  3. Proof of Work: mining e adeguamento della difficoltà
  4. Script di Bitcoin e verifica delle firme UTXO
← Torna a Cryptology Academy