This article has been translated from English to Italian.
Bitcoin risponde alla domanda:"Quale transazione conservare?"
Il modo in cui Bitcoin risponde a questa domanda è geniale.
Ecco come…
Ogni nodo della rete Bitcoin condivide informazioni sulle nuove transazioni.
Le transazioni effettuate sulla rete Bitcoin NON vengono aggiunte direttamente alla blockchain. Vengono prima raccolte e memorizzate in quello che viene chiamato"memory pool".
OGNI computer che esegue il programma Bitcoin crea un'area di archiviazione temporanea per le transazioni chiamata"memory pool". Conosciuta anche come"mempool" in forma abbreviata.
Ogni nodo Bitcoin ha il suo mempool, dove memorizza la coda delle transazioni che ha controllato e considerato valide.
In generale, un mempool è una coda organizzata in cui le transazioni vengono memorizzate e ordinate prima di essere aggiunte a un blocco appena creato.
- Il pool di memoria contiene transazioni"fresche" o non confermate (memorizzate come transazioni individuali).
- La blockchain contiene transazioni"archiviate" o confermate (impacchettate in "blocchi").
Tutte le transazioni bitcoin sono semplicemente transazioni "non confermate" e esistono solo nel mempool prima di essere "confermate" e aggiunte alla blockchain.
Nella rete Bitcoin, tutti i nodi completi hanno un pool di memoria.
Supponiamo che tu avvii una transazione da questo lato della rete (transazioneviola ).
E poi vai qui, e usa lo stesso bitcoin e inserisci la transazione rossa in questo computer.
Se noti, queste due transazioni NON vengono scritte direttamente nel file. Entrambe le transazioni vengono semplicemente memorizzate prima nel pool di memoria di ciascun computer.
Quindi entrambe le transazioni si propagheranno attraverso la rete.
Questo computer RIFIUTERÀ la transazione rossa perché ha già ricevuto quella viola.
Quindi ora ENTRAMBE le transazioni sono sulla rete.
Ma NON sono ancora state scritte nel file, quindi il file non è ancora stato aggiornato.
Quello che succederà è che tutti questi computer lavoreranno e cercheranno di trasferire le loro transazioni dal pool di memoria al file.
Gareggeranno per essere i primi a far aggiungere le transazioni del loro pool di memoria all'inizio del file.
Supponiamo che questo computer (in giallo) sia il primo a riuscirci.
Aggiunge la sua transazione dal pool di memoria al file:
E quando ha finito...
Trasmetterà la copia aggiornata del file a tutti gli altri computer a cui è connesso...
E loro aggiorneranno le loro copie.
Nell'illustrazione qui sotto, questo nodo riceve il file aggiornato che contiene la transazione viola che spende lo stesso bitcoin.
Cosa succede alla transazione rossa in conflitto nel suo pool di memoria?
Poiché lo stesso bitcoin è già stato speso nella transazione viola, espellerà la transazione rossa dal suo pool di memoria!
Questo nodo passerà quindi il file aggiornato.
E l'altro nodo (o gli altri nodi) farà la stessa cosa... eliminerà tutte le transazioni in conflitto nel suo pool di memoria.
Tutti i computer ora hanno il file aggiornato.
Ecco come risolvere il problema di avere due transazioni in conflitto sulla rete.
Hai letteralmente solo una "area di attesa" (mempool) per le transazioni in sospeso e i nodi competono e cercano di aggiungere le loro transazioni al file.
In questo esempio, il tipo viola riceverebbe il bitcoin...
Ma quando tu, il losco figuro, cercherai di spendere lo stesso bitcoin con il tizio rosso, non funzionerà.
Questo processo di nodi in competizione per cercare di trasferire le loro transazioni dal pool di memoria al file ("la blockchain") è chiamato MINING.









