This article has been translated from English to Italian.
Come funzionano le transazioni Bitcoin?
Una transazione Bitcoin è il trasferimento di una certa quantità di bitcoin da un indirizzo a un altro indirizzo registrato sulla blockchain.
Ma come funziona effettivamente questo processo di "trasferimento"?
In questa lezione ti mostrerò come funziona una transazione Bitcoin dall'inizio alla fine.
Per prima cosa, vedremo come funziona una transazione Bitcoin dal punto di vista di un utente. E poi, vedremo come funziona una transazione Bitcoin da una prospettiva a volo d'uccello.
Questo ti aiuterà a ricordare tutti i nuovi concetti che hai imparato nelle lezioni precedenti.
Sei pronto?!

Supponiamo che Ironman abbia 1 bitcoin che vuole inviare a Batman.

Dalla prospettiva di Ironman
La prima cosa che Ironman farebbe è aprire il suo portafoglio Bitcoin.
Potrebbe essere qualsiasi tipo di portafoglio, ma in questo esempio sta usando un portafoglio software che ha installato sul suo portatile.

La prossima cosa che fa è chiedere a Batman il suo indirizzo Bitcoin.
È qui che Batman vuole ricevere i suoi bitcoin. Batman gli invia un indirizzo Bitcoin via e-mail e Ironman lo copia e incolla.

Ironman inserisce quindi la quantità di bitcoin che vuole inviare a Batman.

Dato che le sue enormi dita in lega di titanio e oro sono inclini a errori di battitura, controlla due volte di aver inserito il numero corretto.
E preme Invia.

Il software del portafoglio chiede quindi la password per confermare la transazione.
Per inviare bitcoin, Ironman deve dimostrare alla rete Bitcoin che è effettivamente lui a inviare il denaro e che è il proprietario del bitcoin.
È qui che entra in gioco la sua chiave privata (che è memorizzata nel portafoglio).
Dopo che Ironman ha inserito la password corretta, il software del portafoglio"firma" la transazione utilizzando la chiave privata di Batman, creando un dato separato noto come"firma digitale". (Tutto questo avviene dietro le quinte).

Transazione Bitcoin dietro le quinte
Da qui in poi, il coinvolgimento di Batman è terminato.
Il software del portafoglio si collega a un nodo Bitcoin e invia il messaggio di transazione, insiemealla "firma digitale"e alla chiave pubblica.
Il nodo verifica se la transazione è valida:
- Il mittente ha abbastanza BTC legati al suo indirizzo per effettuare la transazione?
- Il mittente è autorizzato a inviare il BTC?
Ad esempio, controlla che Batman abbia effettivamente 1 BTC da inviare. Se la transazione supera tutti i controlli, il nodo la inoltra ad altri nodi.
Per impostazione predefinita, i nodi non si fidano l'uno dell'altro, quindi convalideranno nuovamente la transazione per conto proprio.
E solo se ritengono valida la transazione, la condivideranno con i nodi a cui sono collegati.

Se una transazione è ritenuta valida, viene quindi memorizzata in un'area di memoria temporanea nota come "memory pool" o"mempool".
A questo punto, una transazione è considerata "non confermata" o"in sospeso".

Dei nodi speciali, detti"minatori", raggrupperanno questa transazione insieme ad altre transazioni valide provenienti dal loro mempool inun "blocco".

I miner poi gareggeranno per essere i primi a "minare" il loro blocco. Questo comporta il tentativo di trovare un numero che inizi con un numero specifico di zeri.
L'unico modo per trovare questo numero è tentare e sbagliare. In altre parole, fare più tentativi possibili.

Il primo miner che indovina un numero corretto è il primo a "estrarre" il suo blocco.
Nel momento in cui il minatore indovina correttamente, condivide il suo blocco insieme al "numero vincente" con altri nodi della rete Bitcoin.

I nodi della rete Bitcoin verificano che il miner abbia indovinato il numero corretto e, se è corretto, aggiungono il blocco del miner vincente alla loro copia della blockchain. E inviano questo blocco anche ad altri nodi.
Poiché il blocco (che contiene la transazione) è stato aggiunto alla versione "ufficiale" della blockchain, la transazione è ora considerata"confermata".
Una volta creato il blocco e verificata e inclusa la nuova transazione in tale blocco, si dice che la transazione abbia"una conferma".

Dal punto di vista di Batman
Batman vede che la transazione è stata confermata e controlla il suo portafoglio Bitcoin per vedere se il bitcoin è stato trasferito.

Più blocchi sono stati aggiunti al blocco con la transazione di Ironman, più la transazione è "confermata" sulla blockchain.
In pratica, ogni blocco aggiunto è consideratouna "conferma aggiuntiva". Attendere sei conferme è lo standard attuale per considerare sicure la maggior parte delle transazioni.
E tre e hai fatto!
Un bitcoin è stato trasferito da un indirizzo di proprietà di Ironman a un nuovo indirizzo di proprietà di Batman.
E a meno che Ironman o Batman non condividano pubblicamente il loro indirizzo di portafoglio Bitcoin, nessuno saprà che due famosi supereroi sono stati coinvolti in una transazione Bitcoin.
Tutto ciò che si vedrebbe è 1 BTC inviato da un indirizzo a un altro, ma non si saprebbe chi c'è dietro gli indirizzi.
Come puoi vedere, molti passaggi di una transazione Bitcoin vengono eseguiti dietro le quinte.
Una volta che Batman ha condiviso il suo indirizzo con Ironman e Ironman ha avviato la transazione utilizzando il suo portafoglio Bitcoin, il resto è stato gestito da computer e codice software.
Panoramica di una transazione Bitcoin
Ora diamo un'occhiata a come funziona una transazione Bitcoin.
Supponiamo che Ironman abbia già inserito l'indirizzo di Batman e l'importo di bitcoin da inviare.

Il portafoglio di Ironman si connette a un nodo che trasmette un messaggio a tutti i computer (la "rete Bitcoin") che eseguono una copia del database aggiornato (la "blockchain di Bitcoin") che dice, in sostanza:"Voglio inviare 1 bitcoin a Batman".
Ironman ha una stringa unica di lettere e numeri chiamata"chiave privata". Con questa chiave privata, il software del portafoglio di Batman generauna "firma digitale" che garantisce che il messaggio provenga da lui e da nessun altro.
I computer("full node") nella rete Bitcoin possono facilmente confermare se Ironman è effettivamente colui che ha inviato il messaggio utilizzando una diversa stringa di lettere e numeri fornita da Ironman, chiamata"chiave pubblica" per verificare questa "firma digitale".
Possono anche facilmente confermare che Ironman ha 1 bitcoin da inviare perché tutti hanno una copia del database corrente.
Tutti i nodi si aggiornano costantemente a vicenda con le ultime informazioni("transazioni") che vengono aggiunte alla rete Bitcoin.
Una transazione esiste come registrazione del trasferimento di bitcoin da un indirizzo a un altro. Le transazioni non vengono registrate singolarmente sulla blockchain, ma vengono prima raggruppate in blocchi.
È importante sottolineare che a questo punto la transazione è stata solo proposta. Nessun computer ha ancora aggiornato la propria copia del libro mastro("blockchain").
Le transazioni vengono inizialmente collocate in quella che equivale a una sala d'attesa("mempool"), dove rimangono in attesa di conferma.
Il mempool (pool di memoria) è un database più piccolo di transazioni non confermate (in sospeso) che ogni nodo conserva. Tutte le transazioni nel mempool sono in sospeso e non devono essere considerate attendibili finché non vengono incluse in un blocco.
Poiché la transazione è solo proposta e non ancora conclusa, il sistema può inoltrare rapidamente il messaggio per assicurarsi che ogni partecipante ne sia a conoscenza.
Nel diagramma sottostante, Ironman e Batman sono rappresentati come portafogli viola.
I cerchi grigi rappresentano i computer ("full node") che fanno parte della rete peer-to-peer (P2P) Bitcoin.
I quadrati neri rappresentano la "blockchain", copie aggiornate in sequenza del libro mastro, nel momento in cui Ironman propone la sua transazione alla rete.
Come puoi vedere, copie identiche della blockchain sono memorizzate su computer in tutto il mondo("full node")che eseguono il software Bitcoin. Questo design assicura che nessuna singola entità abbia il controllo del registro e rende Bitcoin resistente al controllo (o alla chiusura) da parte di qualsiasi governo o autorità centrale.
Tutti i nodi che mantengono una copia completa della blockchain, noti come"full node", dovrebbero essere distrutti per cancellare il registro. Finché l'intero registro esiste su almeno un full node, ci sarà una registrazione di tutte le transazioni Bitcoin nel corso della storia.

Naturalmente, Ironman non è l'unico a creare una transazione. Ci sono altri membri dei Vendicatori che inviano i loro bitcoin ad altri destinatari. Ad esempio, Capitan America potrebbe inviare alcuni bitcoin al Soldato d'Inverno.
È qui che entra in gioco un partecipante speciale della rete:i "minatori".
I miner sono computer sparsi in tutto il mondo e costituiscono una parte fondamentale della rete Bitcoin. Il loro compito è quello di raggruppare nuove transazioni valide, come quella di Ironman, e proporle per il regolamento.
Questi gruppi di transazioni sono chiamati"blocchi", da cui deriva il termine "blockchain".
Un blocco è un insieme di transazioni. I blocchi sono collegati tra loro in ordine cronologico per formare una "catena di blocchi" o blockchain.
In qualsiasi momento, migliaia di questi computer sono in competizione tra loro per il diritto di creare il blocco successivo. La competizione consiste nel risolvere un "enigma" e i miner possono proporre un nuovo blocco solo se risolvono l'enigma corrente.
Questo "puzzle" si riduce fondamentalmente al tentativo di indovinare un numero corretto. Le probabilità di indovinare un numero corretto sono di circa 1 su 6 trilioni.
Quindi il trucco per essere il primo a trovare un numero "vincente" è indovinare il maggior numero possibile di numeri. Ciò richiede molta potenza di calcolo che utilizza enormi quantità di energia.
Chi trova per primo la soluzione ha diritto a una ricompensa, nota come"block reward".
Il premio per blocco è stato ideato per incentivare i nodi a partecipare al mining. Altrimenti non ci sarebbero minatori, poiché non sarebbero in grado di recuperare l'elevato costo dei computer e il costo dell'elettricità per farli funzionare.
Il premio per blocco è composto da DUE componenti:
- Bitcoin appena coniati
- Commissioni di transazione (che vengono pagate dalla persona che avvia la transazione, come Ironman)
I bitcoin appena coniati "vinti" dal minatore sono noti come"sussidio di blocco" e rappresentano la maggior parte della ricompensa. Attualmente, ogni nuovo blocco viene ricompensato con 6,25 bitcoin appena coniati.
Ogni blocco contiene più transazioni e tutte le transazioni includono una commissione, che i miner raccolgono.
In sintesi:
Ricompensa del blocco = sussidio del blocco + commissioni di transazione
Il premio per blocco è ciò che incentiva i miner a svolgere il lavoro necessario per verificare le transazioni e mantenere il database.
Ogni 210.000 blocchi, o all'incirca ogni quattro anni, il sussidio per blocco viene dimezzato in un evento noto come"halving". Questo processo continuerà fino a quando il sussidio per blocco sarà pari a zero. A quel punto, i minatori raccoglieranno solo le commissioni di transazione.
I nuovi blocchi vengono regolati sulla rete Bitcoin all'incirca ogni 10 minuti, anche se il tempo esatto dipende dalla rapidità con cui viene risolto il "puzzle".
Oggi, la maggior parte del mining viene effettuato da "mining pool", gruppi di miner che uniscono la loro potenza di elaborazione e si dividono la ricompensa del blocco.
Questo processo è illustrato nel diagramma sottostante.

I minatori sono ora rappresentati come cerchi arancioni.
Il quadrato blu mostra il registro aggiornato che include una serie di nuove transazioni, tra cui quella di Ironman.
Per ora, solo un partecipante alla rete (il minatore che ha proposto il nuovo blocco di transazioni ) può vedere il registro completamente aggiornato.
Tutti gli altri partecipanti vedono ancora solo i blocchi più vecchi, che sono rappresentati in nero.
Poiché la ricompensa è significativa, molti miner competono per risolvere ogni blocco di transazioni.
Per sua stessa natura, risolvere il "puzzle" è un'impresa costosa, poiché richiede una notevole potenza di calcolo e molta elettricità. E sapere quale dei migliaia di miner risolverà per primo il "puzzle" è impossibile.
Una volta che un miner ha risolto il "puzzle" (indovinato un numero corretto), può pubblicare la soluzione e proporre il suo blocco di transazioni alla rete.
La cosa bella di questo approccio è che, sebbene risolvere il puzzle sia difficile e costoso, controllare il risultato è molto facile. E quando un miner pubblica una soluzione e il suo blocco di transazioni, gli altri membri della rete controllano il lavoro.
Se le transazioni sono valide e la soluzione al "puzzle" è corretta, i partecipanti alla rete aggiornano la loro copia del database per riflettere le nuove transazioni.
A quel punto, la transazione di Ironman è considerata risolta o "confermata". Il bitcoin è passato dall'indirizzo di Ironman a quello di Batman ed è stato ufficialmente registrato sulla blockchain.
Questo"meccanismo di consenso" per determinare quali transazioni vengono registrate in modo permanente e "confermate" è il cuore del design della blockchain di Bitcoin.
Questo processo è mostrato di seguito.

Tutti i partecipanti alla rete hanno ora accettato il nuovo blocco di transazioni proposto (quadratoblu ). Di conseguenza, i loro registri vengono aggiornati e sincronizzati.
È importante sottolineare che la concorrenza per risolvere il blocco successivo di transazioni dipende dall'inclusione delle informazioni del blocco precedente, il che fa sì che i miner aggiornino rapidamente la loro copia del database e garantisce che sia molto difficile manomettere un blocco risolto.
Questo "concatenamento di blocchi" è il motivo per cui questa architettura di database è chiamata"blockchain".
La blockchain di Bitcoin contiene ogni blocco dalla sua creazione, risalendo fino al primo blocco noto come"Blocco Genesi".
E se il minatore Bitcoin sconosciuto che invia un blocco fosse un malintenzionato e proponesse un blocco di transazioni non valido che in qualche modo lo avvantaggia?
Oppure, che succede se Ironman è malintenzionato e sta cercando di inviare lo stesso bitcoin sia a Spider-Man che a Wonder Woman contemporaneamente senza che nessuno se ne accorga?
I partecipanti alla rete esaminano ogni transazione in ogni blocco proposto e rifiutano i blocchi con transazioni non valide. Oggi, più di 100.000 nodi verificano in modo indipendente ogni singola transazione Bitcoin!
Poiché il lavoro di convalida delle transazioni e di garanzia che solo le transazioni valide vengano regolate è banalmente facile per i partecipanti alla rete, ma il tentativo di regolare le transazioni è costoso, l'incentivo a tentare di frodare il sistema è minimo.
Riassunto
Riassumiamo tutte le interazioni sulla rete Bitcoin:
- Se vuoi inviare bitcoin a un'altra persona, fornisci l'indirizzo bitcoin del destinatario e il tuo portafoglio si collegherà a un nodo per avviare una transazione.
- Il nodo verificherà la transazione, la convaliderà e poi la trasmetterà e inoltrerà agli altri nodi e ai miner. Se una transazione viola una delle regole di Bitcoin, i nodi la rifiuteranno automaticamente.
- I minatori raggruppano queste transazioni in un "blocco candidato" (blocco temporaneo) e competono per essere quelli che pubblicano il loro blocco sulla blockchain essendo i primi a indovinare correttamente la soluzione di un "enigma" matematico.
- Il miner "vincitore" può pubblicare questo blocco temporaneo come blocco permanente sulla blockchain, confermando la transazione (e altre transazioni nel lotto).
- I nodi ricevono questo blocco e verificano che il minatore stia seguendo le regole della rete. (Se il blocco viola una delle regole di Bitcoin, i nodi lo rifiuteranno automaticamente).
- Ogni volta che un nodo riceve un nuovo blocco e lo ritiene valido, lo inoltra ad altri nodi, in modo che tutti i nodi (compresi i miner) possano rimanere sincronizzati e mantenere blockchain identiche.
- Tutti gli altri miner cancellano il blocco temporaneo su cui stavano lavorando e iniziano un nuovo "blocco candidato" con un nuovo "puzzle" matematico.
- Una volta che il nodo a cui si connette il portafoglio del destinatario ha ricevuto il nuovo blocco, il portafoglio del destinatario mostrerà un saldo aggiornato con i bitcoin appena ricevuti.