Hvordan kommer hver transaktionsbekræftende node til at vide, om afsenderen har nok beløb i sin tegnebog til at overføre til modtageren eller ej? Hvordan valideres Blockchain-transaktioner?
Svar
Hver node gemmer hele transaktionshistorikken (blockchain). Når en node hører om en ny transaktion, udfører den en række kontroller for at sikre, at transaktionen er gyldig.
Så når nogen sender en tx, bruger deres software den private nøgle til et ubrugt output (en “bitcoin”) til kryptografisk at underskrive transaktionen. Denne signatur beviser ejerskab af det ubrugte output og godkender bevægelse af mønterne.
Så når en node hører om en ny transaktion, kontrollerer den for at sikre, at signaturen er gyldig. Hvis signaturen ikke er gyldig, ignorerer den transaktionen.
Hvis du forsøger at bruge flere mønter, end du ejer, er signaturen ikke gyldig i henhold til blockchain-registreringen, der holdes af noderne. Det er ikke muligt at smede ægthed, du ejer enten mønterne og kan oprette en gyldig transaktion eller ej.
Bemærk, at “transaktionsvalidering” i dette tilfælde bare sker på hver node, da tx videresendes gennem netværket. Dette er anderledes end “transaktionsbekræftelse”, hvilket sker, når minearbejdere inkluderer en transaktion i den næste blok. Efter “validering” gemmes txs i hver nodes hukommelsespulje (mempool), indtil de bekræftes i en blok.
Kommentarer
- " Hvis du forsøger at bruge flere mønter, end du ejer, vil underskriften ikke være gyldig i henhold til blockchain-registreringen, der holdes af noderne. " – Hvordan fungerer denne del nøjagtigt? Dette lyder måske naivt, men trækker det bare bitcoin-transaktionsbeløbet fra balancen og se om det er større end eller lig med 0? Hvad underskrives her?
- @Strawberry Bitcoin bruger et ' ubrugt transaktionsoutput ' (UTXO) -system, ikke et kontosystem. Så der er ingen ' der trækker et beløb fra en balance ' der sker under emhætten. Snarere vælger en tegnebog en UTXO, som den kontrollerer, og bruger den som input til en ny transaktion (og kryptografisk underskriver transaktionen for at bevise ejerskab af UTXO). Alle andre fulde noder registrerer alle aktuelle UTXOer, så de afviser din tx, hvis den bryder konsensusregler. Forsøg på at bruge 2BTC fra en 1BTC UTXO ville blive afvist, da en sådan transaktion i det væsentlige ville være at prikke nye bitcoins ud af luften
Svar
Her er en guide til, hvordan minearbejdere verificerer transaktion på blockchain. Enkel og let 5 min læsning, tager dig igennem processen i 7 trin.
Kommentarer
- Tilføj venligst nogle detaljer, svar på kun link modtages ikke godt her, eller slet svaret og tilføj det under spørgsmålet som en kommentar.