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.

0

2 Answers 2

8

Transactions are signed with ECDSA. Incidentally, bitcoin addresses are hashes of the ECDSA public key that can spend them. You can't spend somebody else's coins unless you 1) do a bruteforce search to find their private key or 2) find a public key that hashes out to the same thing. Both are much, much harder than doing a double spend attack.

4
  • 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. Commented Feb 6, 2013 at 3:17
  • 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
    Commented Feb 6, 2013 at 3:20
  • 1
    For 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. Commented Feb 6, 2013 at 3:34
  • 3
    @PatrickLorio, Signing != Encrypting Commented Feb 6, 2013 at 11:36
2

An attack of this nature would be equivalent to resolving an NP-Complete problem. If the hacker has resolved the P=NP conjecture or is Peter Shor working on a secret quantum computer, then perhaps, but honestly this isn't a concern. ECDSA is secure and used in the NSA's suite B protocols.

That said, there is the notion of a 51% attack, which could become real if BTCGuild continues to grow, yet I believe the guys at the open source Bitcoin project have hard coded certain solutions in the blockchain to mitigate some of these issues.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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