In che modo ogni nodo di verifica della transazione viene a sapere se il mittente ha una quantità sufficiente nel suo portafoglio da trasferire o meno al destinatario? Come vengono convalidate le transazioni Blockchain?
Risposta
Ogni nodo memorizza lintera cronologia delle transazioni (la blockchain). Quando un nodo viene a conoscenza di una nuova transazione, esegue una serie di controlli per assicurarsi che la transazione sia valida.
Quindi, quando qualcuno invia una trasmissione, il suo software utilizzerà la chiave privata di un output non speso (un “bitcoin”) per firmare crittograficamente la transazione. Questa firma dimostra la proprietà delloutput non speso e autorizza il movimento delle monete.
Quindi, quando un nodo sente parlare di una nuova transazione, controlla per assicurarsi che la firma sia valida. Se la firma non è valida, ignorerà la transazione.
Se tenti di spendere più monete di quante ne possiedi, la firma non sarà valida in base al record blockchain mantenuto dai nodi. Non è possibile falsificare lautenticità, o possiedi le monete e puoi creare una transazione valida oppure no.
Nota che la “convalida della transazione” in questo caso avviene solo su ogni nodo, poiché il tx viene ritrasmesso attraverso la rete. Questo è diverso dalla “conferma della transazione”, che si verifica quando i miner includono una transazione nel blocco successivo. Dopo la “validazione”, i tx vengono memorizzati in ogni pool di memoria dei nodi (mempool), fino a quando non vengono confermati in un blocco.
Commenti
- " Se tenti di spendere più monete di quante ne possiedi, la firma non essere valido in base al record blockchain mantenuto dai nodi. " – Come funziona esattamente questa parte? Può sembrare ingenuo, ma sottrae semplicemente limporto della transazione bitcoin dal saldo e vede se è maggiore o uguale a 0? Cosa viene firmato qui?
- @Strawberry Bitcoin utilizza un ' output della transazione non speso ' (UTXO), non un sistema di account. Quindi non è possibile ' sottrarre un importo da un saldo ' sotto il cofano. Piuttosto, un portafoglio selezionerà un UTXO che controlla e lo utilizzerà come input per una nuova transazione (e firmerà crittograficamente la transazione per dimostrare la proprietà dellUTXO). Tutti gli altri nodi completi tengono un registro di tutti gli UTXO correnti, quindi rifiuteranno la tua trasmissione se infrange le regole di consenso. Cercare di spendere 2BTC da un UTXO da 1BTC verrebbe rifiutato, poiché una tale transazione significherebbe essenzialmente coniare nuovi bitcoin dal nulla
Risposta
Ecco una guida su come i miner verificano le transazioni sulla blockchain. Semplice e facile da leggere in 5 minuti, ti guida attraverso il processo in 7 passaggi.
Commenti
- Per favore aggiungi alcuni dettagli, le risposte solo link non sono ben accolte qui, oppure elimina la risposta e aggiungila sotto la domanda come commento.