I've just learned signatures and why they're used in blockchain.
As I understand there is a key pair that consist of one public key and one private key:
Private keys are used to sign a message(transactions), so you can prove that the one who made that transaction is really you.
Public keys indicate your accounts and also are used to verify the signature that has been issued.
So lets say there are two functions:
sign(message, privateKey) = signature
verify(message, publicKey, signature) = True/False
What I don't understand in this context is, if everyone can access the signature, public key and the message(transcations), can't someone who don't have the private key use the same signature, message and publicKey to make same request as many times as he wants.
Let me give an example so the question can be understood better.
My question is, can't I use this same signature to send $15 as many times as I want from 04d4... to 0451...? If yes, then yeah I can't create a different transaction since I don't know the private key however I can still exploit this flaw and empty someone else's account.
By the way, I'm not planning to do such a thing, I'm just a cyber security student who is interested in security of blockchain technologies. :)