6
I've been reading around: https://en.bitcoin.it/wiki/How_bitcoin_works
What prevents a miner's block from being accepted across the network if the hash checks out when miner forges transactions in the block?
For example, lets say I'm mining and I want to steal money from address A and put it into my address B. So I build a block with the A->B transaction along with some requested transactions. Now if I can compute a hash for the block before anyone else, and send off to peers in the network, how could they reject it? How would they know that's not a real transaction? If bitcoin clients record requests to verify, maybe this request was blocked by some NAT issue.
I can't think of a good way of fixing this and I didn't find anything about in documentation. Any insight would be appreciated. Thanks.
Yes I understand that, but that public key verification is done by the miner who submits the transaction into the block and eventually to the block chain. So what if the miner makes something up to put in the body of the block (a false transaction) who verifies the miner? Your answer only ensures the non miners cannot easily steal. – Patrick Lorio – 2013-02-06T03:17:49.243
1@PatrickLorio, everybody who downloads the blockchain verifies the signatures. There wouldn't be much point in including the signatures in the blockchain if nobody checked them, now would there? – Nick ODell – 2013-02-06T03:20:29.913
1For some reason I thought the transactions placed in the block were decrypted plain-text. It makes a lot more sense that they're not. Thanks, that was really bugging me. – Patrick Lorio – 2013-02-06T03:34:55.277
1@PatrickLorio, Signing != Encrypting – Stephen Gornick – 2013-02-06T11:36:54.593