Author

Topic: Questions about bitcoin (Read 1297 times)

legendary
Activity: 1988
Merit: 1007
July 01, 2015, 03:35:55 AM
#16
Signatures are used to verify transactions. This page explains transactions: https://en.bitcoin.it/wiki/Transaction

Basically, someone that wants to spend bitcoins sent to an address creates a transaction providing the public key of the address and signs the transaction using the private key. The address, public key, and signature are validated.

I want to add on to this as well. Being able to verify your address ownership like this is ONLY POSSIBLE IF YOU HOLD THE COINS IN A WALLET WHERE YOU CONTROL THE PRIVATE KEY. Far too many people are getting themselves in trouble by latching on to systems that don't give this access. I needed to verify one of my addresses before and it was one I had through Coinbase. Completely screwed me as I couldn't verify it since I didn't have the private key.

If you're ever in doubt as to whether or not you'll need to sign a transaction, make sure you have private key access. Coinbase and similar services are awesome when you don't need this, but keep safe.
legendary
Activity: 2254
Merit: 1140
June 30, 2015, 10:27:54 PM
#15
BTW, for anyone looking to verify signed messages, the brain wallet site seems to not be working.  I created a mirror at brainmirror.me using an old github fork where the verifier is working. 
hero member
Activity: 490
Merit: 500
Captain
June 29, 2015, 03:22:05 PM
#14
first question is how does digital signature system work ? when sending bitcoin you are first taking the hash of transaction message after sign it with your private key and miners verifying it with your public key(comparing the result with the hash of message)and when person that you sent your bitcoins signing transaction message with he/her private key and miners verifying it with his/her signature,public key,transaction message(comparing the result with the public key).is system working like this ? second question is are only verifiers miners ? third is in system first verifying happening after proof of work happening and block is added to blockchain right ?

You can also used the private key associated with your bitcoin address to sign other messages.
This can used to prove that you are in control of the bitcoin addreess. This is very good if you need to prove your "idendity" or prove that you in fact is the person who have send a certain transaction, can also be prove to retrive you bitcointalk account in case you loose it (it gets stolen). Be sure to stake you address here: https://bitcointalksearch.org/topic/stake-your-bitcoin-address-here-996318
legendary
Activity: 4466
Merit: 3391
June 29, 2015, 01:04:18 PM
#13
this is how the miners verify

1 =? v(message, public key, signature)

why message is needed here can't miners verify signature with only public key ?

The public key is PUBLIC information. Once it appears in a transaction, everyone knows it. The private key can be used to certify a transaction (by signing) without being revealed.

Basically, a secret is not sufficient because anyone that sees the secret (the public key, in this case) before it is added to a block can spoof transactions.
hero member
Activity: 560
Merit: 509
I prefer Zakir over Muhammed when mentioning me!
June 29, 2015, 08:04:58 AM
#12
this is how the miners verify

1 =? v(message, public key, signature)

why message is needed here can't miners verify signature with only public key ?

It is verification of a digitally signed message. If you need to verify a digitally signed message, you obviously need a message, a signature and a public key.

http://en.wikipedia.org/wiki/Digital_signature
full member
Activity: 140
Merit: 100
June 29, 2015, 06:13:02 AM
#11
this is how the miners verify

1 =? v(message, public key, signature)

why message is needed here can't miners verify signature with only public key ?
legendary
Activity: 4466
Merit: 3391
June 26, 2015, 11:45:08 AM
#10
i looked at link but still i have questions why miners are verifying whether the signature and public key matches why this matching ?

Only someone knowing the private key for an address may spend the bitcoins at that address. The public key and a valid signature prove knowledge of the private key.
full member
Activity: 140
Merit: 100
June 26, 2015, 06:43:13 AM
#9
To spend Bitcoin, you need private key associated with the unspent transaction outputs you are using as inputs. You create a transaction and then sign it with private key. To verify whether the transacion is signed by the owner, miners verify whether the signature and public key matches.

Miners follow rules when adding a transaction to a block and if a transaction breaks any of the rules, miners will reject it. However, miners can include such transactions if they want to but the block which includes such transaction will be rejected by nodes following the rules. You can read the rules here -- https://en.bitcoin.it/wiki/Protocol_rules#.22tx.22_messages.

I suggest you to read https://en.bitcoin.it/wiki/Transaction. It explains in simple language.

* Edited.

i looked at link but still i have questions why miners are verifying whether the signature and public key matches why this matching ?
hero member
Activity: 560
Merit: 509
I prefer Zakir over Muhammed when mentioning me!
June 26, 2015, 05:20:09 AM
#8
To spend Bitcoin, you need private key associated with the unspent transaction outputs you are using as inputs. You create a transaction and then sign it with private key. To verify whether the transacion is signed by the owner, miners verify whether the signature and public key matches.

Miners follow rules when adding a transaction to a block and if a transaction breaks any of the rules, miners will reject it. However, miners can include such transactions if they want to but the block which includes such transaction will be rejected by nodes following the rules. You can read the rules here -- https://en.bitcoin.it/wiki/Protocol_rules#.22tx.22_messages.

I suggest you to read https://en.bitcoin.it/wiki/Transaction. It explains in simple language.

* Edited.
full member
Activity: 140
Merit: 100
June 26, 2015, 04:14:40 AM
#7
Signatures are used to verify transactions. This page explains transactions: https://en.bitcoin.it/wiki/Transaction

Basically, someone that wants to spend bitcoins sent to an address creates a transaction providing the public key of the address and signs the transaction using the private key. The address, public key, and signature are validated.

My english is not so good so can you explain it more basicly or with different words ? when creating transaction you need only adress not public key i've seen this at everywhere about bitcoin.is it work like that when writing adress public key is automatically added to transaction ? thanks for your help.
sr. member
Activity: 322
Merit: 250
June 17, 2015, 10:38:25 PM
#6
I think you should read this article, it is good for explaining all of the basic things with bitcoins.  Some of it you don't need to know but I think it will help you a lot.
legendary
Activity: 4466
Merit: 3391
June 17, 2015, 11:15:45 AM
#5
Miners are the only people that can confirm transactions? Aren't you confirming transactions as well by simply having your Bitcoin Core (or XT) loaded and fully synced? I thought this was the case, and it was the miners that were the ones that do both confirmations + new generation of coins.

A transaction is "confirmed" when it is added to the block chain. Only miners can do that. Full nodes also validate transactions, but it is not the same. A full node may accept a transaction that will never be added to the block chain.
legendary
Activity: 868
Merit: 1006
June 17, 2015, 10:58:24 AM
#4
Miners are the only people that can confirm transactions? Aren't you confirming transactions as well by simply having your Bitcoin Core (or XT) loaded and fully synced? I thought this was the case, and it was the miners that were the ones that do both confirmations + new generation of coins.
hero member
Activity: 630
Merit: 502
June 17, 2015, 08:47:55 AM
#3
I'll answer your second question.
No, Bitcoin miners have to follow the rules to determine which transaction can be added. They can break the rules but the other nodes following the rule will not accept the block as a valid block. The other thing that is verifying the transaction is the Bitcoin nodes. Each nodes will individually verify the transactions to make sure that you have valid signature for each output, UXTO that the nodes can find that is from your address, etc.
legendary
Activity: 4466
Merit: 3391
June 17, 2015, 02:18:18 AM
#2
Signatures are used to verify transactions. This page explains transactions: https://en.bitcoin.it/wiki/Transaction

Basically, someone that wants to spend bitcoins sent to an address creates a transaction providing the public key of the address and signs the transaction using the private key. The address, public key, and signature are validated.
full member
Activity: 126
Merit: 100
June 17, 2015, 01:07:04 AM
#1
first question is how does digital signature system work ? when sending bitcoin you are first taking the hash of transaction message after sign it with your private key and miners verifying it with your public key(comparing the result with the hash of message)and when person that you sent your bitcoins signing transaction message with he/her private key and miners verifying it with his/her signature,public key,transaction message(comparing the result with the public key).is system working like this ? second question is are only verifiers miners ? third is in system first verifying happening after proof of work happening and block is added to blockchain right ?
Jump to: