Ok quindi una volta che la trx ha raggiunto tutti i nodi non è possibile fare doublespend corretto?
No, e' sempre possibile fare doublespend. Sempre!!!!! anche dopo che la transazione e' stata inclusa in un blocco. Ci sono innumerevoli modi per fare doublespend, modi a cui io non riesco nemmeno a pensare. L'esempio che ti ho fatto prima e' solo il modo piu' semplice e il primo che mi viene in mente, in un ambiente dove tutto e' perfetto e dove tutti i nodi sono onesti e collegati tra loro.
Nei bitcoin l'unica certeza che hai e' che la catena di blocchi con piu' hashpower vince. Ma in realtà non puoi nemmeno sapere qual'e' la catena di blocchi con piu' hashpower, sai solo quello che vedi, ma non e' detto che vedi tutto. Ci sono varie situazioni in cui la rete si potrebbe splittare o in cui i nodi sono disonesti. Tieni conto che non e' che hai un nodo=un utente. Un utente puo creare centinaia, migliaia, milioni di nodi. da un momento all'altro, e non puoi aspettarti che sia onesto.
Vai a leggere cosa si intende per Sybil Attack, forse hai difficoltà a capire perche' non sai cos'e' un'attacco sybil.
Se un nodo ha una transazione nella sua mempool e un'altro nodo ha una transazione diversa che spende lo stesso utxo ma con output differenti, chi ha ragione? Entrambi. Non se ne esce. I nodi sono tutti uguali(decentralizzazione), quindi in caso di conflitto ci vuole un sistema in cui sia possibile decidere chi ha ragione. Quel sistema sono i blocchi. La transazione inclusa in un blocco e' quella buona.
Ora facciamo finta che io trovo un blocco con dentro la mia transazione, e tu trovi un blocco con dentro la tua transazione, chi di noi ha ragione? Bisogna aspettare e vedere chi trova il blocco successivo se lo trova sulla mia catena ho ragione io e il tuo blocco diventa orfano, se lo trova sulla tua catena hai ragione tu e il mio blocco diventa orfano.
Un miner, o una pool, o un consorzio di piu' miner/pool con il 51% di hashpower, pero', potrebbe minare una terza catena, piu' lunga di quelle che conosciamo noi, e, per vari motivi(ad esempio uno split di rete, o selfish mining) noi potremmo non saperlo.
Nel momento in cui ci viene trasmessa la sua catena, questa e' piu' lunga(con piu' hashpower), di quelle che conosciamo noi, quindi i nostri nodi considereranno la sua catena come valida e scarteranno la catena che stavano seguendo fino a quel momento e le nostre tx finirebbero nel cestino.
Il risultato appena riportato rimarrà valido e quindi c'è una possibilità di double spending finche la transazione non si sarà propagata su tutti i nodi o finche la transazione non è inclusa in un blocco?
Sapere come funzionano i bitcoin, e' molto molto diverso dal saperlo spiegare in modo che gli altri capiscano.