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? Their NAT may have blocked that request or something.
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.
