Hvordan blir hver transaksjonsbekreftende node kjent om avsenderen har nok beløp i lommeboken til å overføre til mottakeren eller ikke? Hvordan valideres Blockchain-transaksjoner?
Svar
Hver node lagrer hele transaksjonshistorikken (blockchain). Når en node hører om en ny transaksjon, utfører den en rekke kontroller for å sikre at transaksjonen er gyldig.
Så når noen sender en tx, vil programvaren deres bruke den private nøkkelen til en ubrukt utgang (en «bitcoin») for å kryptografisk signere transaksjonen. Denne signaturen viser at du eier den ubrukte produksjonen, og autoriserer bevegelse av myntene.
Så når en node hører om en ny transaksjon, kontrollerer den for å sikre at signaturen er gyldig. Hvis signaturen ikke er gyldig, vil den ignorere transaksjonen.
Hvis du prøver å bruke flere mynter enn du eier, vil ikke signaturen være gyldig i henhold til blockchain-posten som holdes av nodene. Det er ikke mulig å smi ektheten, du eier myntene og kan opprette en gyldig transaksjon, eller ikke.
Merk at «transaksjonsvalidering» i dette tilfellet bare skjer på hver node, ettersom tx blir videreformidlet gjennom nettverket. Dette er annerledes enn «transaksjonsbekreftelse», som skjer når gruvearbeidere inkluderer en transaksjon i neste blokk. Etter «validering» blir txs lagret i hver nodes minnehage (mempool), til de blir bekreftet i en blokk.
Kommentarer
- " Hvis du prøver å bruke flere mynter enn du eier, vil signaturen ikke være gyldig i henhold til blockchain-posten som holdes av nodene. " – Hvordan fungerer denne delen nøyaktig? Dette høres kanskje naivt ut, men trekker det bare bitcoin-transaksjonsbeløpet fra balansen og ser om det er større enn eller lik 0? Hva signeres her?
- @Strawberry Bitcoin bruker et ' ubrukt transaksjonsoutput ' (UTXO) -system, ikke et kontosystem. Så det er ingen ' som trekker et beløp fra en balanse ' som skjer under panseret. Snarere vil en lommebok velge en UTXO den kontrollerer, og bruke den som en inngang for en ny transaksjon (og kryptografisk signere transaksjonen for å bevise eierskap til UTXO). Alle andre fulle noder holder oversikt over alle nåværende UTXO-er, så de vil avvise tx-en din hvis den bryter konsensusreglene. Å prøve å bruke 2BTC fra en 1BTC UTXO ville bli avvist, siden en slik transaksjon i det vesentlige ville være å trekke nye bitcoins ut av det fjerne
Svar
Her er en guide om hvordan gruvearbeidere verifiserer transaksjoner på blockchain. Enkel og enkel 5 min lesing, tar deg gjennom prosessen i 7 trinn.
Kommentarer
- Vennligst legg til noen detaljer, svar på bare koblinger mottas ikke godt her, eller slett svaret og legg det til under spørsmålet som en kommentar.