0

I am a Bitcoin noob.

As per my knowledge, a Bitcoin is a digital signature. Owner of a bitcoin knows the private key of it.

If I spend my bitcoin, I still know the private key of it, using which I can spend it later despite not owning it.

Surely there must be something in the system which prevents this. One idea which comes to my mind is modifying the Bitcoin's Digital signature in a way so that the only new owner has the new private key.

I might be stupid and my above query may be just BS. Please guide me in the right direction.

2

If I spend my bitcoin, I still know the private key of it, using which I can spend it later despite not owning it.

Your are not really "the owner of the bitcoin". It's decentralized. You are the owner of a private key and of an adress.

And you can use the private key to send money away from your adress. Let's assume, you have only 1 BTC on your adress and send it all to your friend. After that, you can't send BTC from your adress anymore because there is nothing on the adress anymore. Only if someone sends BTC to your adress again, you can spend them again. You can't spend the 1 BTC again because it's on your friend's adress. You don't have the private key for his adress, but he has. So he can spend the BTC.

  • thanks Alpha!..so can I put it like this - that u always a key pair for an address which has the bitcoin. Its the private key of the address using which u can spend the BTC inside that address. Thats why a new address key pair is generated for every transaction.. makes sense? if the above is right.. then the BTC is just a token..then why is it reqd to be a digital signature? – Lakshay Jan 4 '18 at 11:35
  • 1
    "That's why a new address key pair is generated for every transaction". Yes, wallets do it like this. But you could theoretically use an adress multiple times (receive 1 BTC, send 0.5 BTC, send 0.25 BTC, receive 2 BTC, receive 0.1 BTC, send 1 BTC -> you can do all that with just 1 adress and 1 private key). – ndsvw Jan 4 '18 at 12:25
0

Once you broadcast the transaction and it is written on the block chain, even if you send the transaction again it won't be added to the block because you have already spent your previous input.

It is the double spending problem .

If your transaction is still in the mempool and not added to the blockchain , you can send the transaction again with a higher fee. It will get accepted to the chain and your intial transaction will be invalid.

The transaction can be marked as completed only if it is added to the chain.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.