Questo testo è stato tradotto automaticamente e quindi può differire dall'originale. Nessun diritto può derivare da questa traduzione.
Come funziona una blockchain? Parte 2: blocchi
Una blockchain può essere meglio compresa pensandola come un foglio di calcolo che è online (‘in the cloud’). È condivisa da più persone, che possono lavorarci contemporaneamente e tutte le modifiche sono visibili a tutti. Questo vale anche per la blockchain, in cui si può solo aggiungere informazioni "in fondo". Si possono fare modifiche, ma il passato rimane sempre intatto. Una blockchain è quindi molto trasparente.
Ma cominciamo dall'inizio: com'è fatto un 'blocco'? Un blocco contiene informazioni utili, come una transazione digitale o un accordo tra due parti.
Per assicurarsi che la blockchain accetti il tuo blocco, l'hash (o impronta digitale, vedi l'articolo precedente di questa serie) del blocco deve iniziare con un numero prefissato di zeri. Come illustrato nell'articolo precedente, ciò dimostra che hai svolto un certo quantitativo di lavoro computazionale quando hai creato il blocco. Questo impedisce, come visto in precedenza, che una singola persona prenda completamente il controllo di una blockchain.
Per far iniziare l'impronta digitale con il numero prefissato di zeri, bisogna 'provare' molte varianti del blocco finché l'impronta digitale soddisfa il requisito. Per farlo, aggiungiamo un numero (fino ad allora non utilizzato) al contenuto del blocco: il nonce. Varierai il nonce fino a quando l'impronta digitale del blocco inizia con il numero prefissato di zeri.
Il 'double spend'
La blockchain è una catena di blocchi - la catena può essere estesa solo con un blocco. È possibile che qualcuno sia riuscito a calcolare contemporaneamente altrui un nuovo blocco. Questi blocchi potrebbero contraddirsi: uno potrebbe contenere una transazione in cui denaro viene speso da persona A, mentre l'altro potrebbe contenere una transazione in cui denaro viene speso da persona B. Ovviamente, solo una delle due transazioni può essere accettata. Come risolve la blockchain questa situazione?
In una blockchain alla fine vince la catena più lunga. Quindi, se riesci per primo a creare un blocco che segue un altro, è più probabile che tale blocco diventi parte della 'catena più lunga'. L'esempio qui sotto mostra questo concetto. I blocchi 006406 e 006274 vengono creati contemporaneamente. Poiché più blocchi seguono il blocco 006406, alla fine questo blocco fa parte della catena più lunga.

Questo principio aiuta anche a prevenire modifiche ai blocchi più vecchi. Quando i blocchi contengono transazioni finanziarie, ovviamente non si vuole che soldi già spesi vengano ritirati di nuovo!
Supponiamo che voglia modificare la transazione nel blocco '006406', cosa devo fare? Modificare la transazione cambia il blocco e quindi l'impronta digitale del blocco (come visto in precedenza, è impossibile modificare il blocco in modo che abbia esattamente la stessa impronta digitale dell'antico blocco). Ciò che si può fare è provare ad aggiungere di nuovo il blocco e, come un matto, ricalcolare anche i quattro blocchi successivi, facendo sì che la catena sia più lunga della catena attuale.
Per estrarre complessivamente cinque blocchi, è necessario trovare cinque volte un'adeguata impronta digitale. Più lunga è la catena, più difficile diventa. Può essere paragonato ai poppetti russi Matryoshka: se si vuole sostituire quello interno, bisogna aprirli tutti uno per uno e rimontarli uno per uno.

Nel frattempo, gli altri partecipanti continuano ovviamente ad estendere la catena più lunga (in cui la transazione non desiderata è inclusa). Per essere più veloce degli altri, hai bisogno di una quantità significativamente maggiore di potenza di calcolo (per la precisione, hai bisogno di una 'maggioranza' di >50% della potenza di calcolo totale della rete!).
Grazie alla blockchain, le informazioni storiche non possono essere modificate e il denaro può essere speso solo una volta, a causa della necessaria maggioranza nella potenza di calcolo. Intelligente, vero?