user105498: Hi all I was wondering if I am doin a wrong assumption here: Let's assume a dezentralized peer to peer network and the bitcoin protocol. If a full node changes a transaction within a block and then start looking for a suited nonce to fulfill the requirements and than win the competition: All other nodes would verify the block, due to the correct hash requirements. This would result in the fact that nodes can change transactions within a block after receiving them and than start their proof of work. All the other nodes would accept that block if the node is the fastest. Is this correct?
To conclude the question more precisely: after the fastest node has found a nonce for its false transaction block, will the other nodes verify only the hash value (which fulfills the requirements) or do they also verify the transactions in the block again? 

user85: If a block is in any sense invalid, no honest node will ever accept it, period. So producing a block that is invalid is pointless, a waste of effort.
Now say a block is just produced right now. Someone could, if they got lucky, quickly produce another block with the same block number as that block that has different transactions in it. This can even happen without anyone being malicious.
At this point, the network wouldn't know which of those two blocks to treat as valid. This is why exchanges wait for several more blocks to be produced before crediting anyone for deposited bitcoins.
Pretty quickly, it will be clear which of those two blocks wins. Nobody wants to mine on an alternate chain because they will never get to keep any of the rewards or fees. So every honest miner quickly cooperates to pick one of those chains and lengthen it sufficiently to ensure that their mining rewards do stick.

user208: 
after the fastest node has found a nonce for its false transaction block, will the other nodes verify only the hash value (which fulfills the requirements) or do they also verify the transactions in the block again?

Every full node fully verifies every transaction in every block independently. This is even true for non-mining nodes. If a block contains an invalid signature, it will be ignored by the entire network.
Miners do this too (including blocks produced by other miners), but not only because the protocol prescribes it. Miners serve the network, and if they mine blocks the network does not like, their efforts are wasted. Thus they are incentized to validate everything, and not risk building (or building on top of) invalid blocks.

user5406: Bitcoin funds are locked to a specific private key. In order to spend them in a transaction, the transaction needs to be signed with the private keys corresponding to each input. The signature commits to the exact content of the transaction. If another user changes the transaction, the signature is no longer valid. Other users cannot produce another signature as they're not privy to the private key.
Therefore your scenario fails in one of two ways: One, the attacker creates a fake transaction with an invalid signature. Every other node that verifies the block's content notices the invalid signature and rejects the block. Two, the attacker attempts to create a valid transaction with a different outcome than the original. He cannot, because he doesn't have the correct private key to produce the signature.
Remember that every node checks all details of each transaction and each block independently. Editing your node's database locally or changing the code that your node is running does not impact the behavior of other nodes.

105498: <p>Hi all I was wondering if I am doin a wrong assumption here: Let's assume a dezentralized peer to peer network and the bitcoin protocol. If a full node changes a transaction within a block and then start looking for a suited nonce to fulfill the requirements and than win the competition: All other nodes would verify the block, due to the correct hash requirements. This would result in the fact that nodes can change transactions within a block after receiving them and than start their proof of work. All the other nodes would accept that block if the node is the fastest. Is this correct?</p>

<p>To conclude the question more precisely: after the fastest node has found a nonce for its false transaction block, will the other nodes verify only the hash value (which fulfills the requirements) or do they also verify the transactions in the block again? </p>
 85: <p>If a block is in any sense invalid, no honest node will ever accept it, period. So producing a block that is invalid is pointless, a waste of effort.</p>

<p>Now say a block is just produced right now. Someone could, if they got lucky, quickly produce another block with the same block number as that block that has different transactions in it. This can even happen without anyone being malicious.</p>

<p>At this point, the network wouldn't know which of those two blocks to treat as valid. This is why exchanges wait for several more blocks to be produced before crediting anyone for deposited bitcoins.</p>

<p>Pretty quickly, it will be clear which of those two blocks wins. Nobody wants to mine on an alternate chain because they will never get to keep any of the rewards or fees. So every honest miner quickly cooperates to pick one of those chains and lengthen it sufficiently to ensure that their mining rewards do stick.</p>
 208: <blockquote>
  <p>after the fastest node has found a nonce for its false transaction block, will the other nodes verify only the hash value (which fulfills the requirements) or do they also verify the transactions in the block again?</p>
</blockquote>

<p><em>Every</em> full node fully verifies <em>every</em> transaction in <em>every</em> block independently. This is even true for non-mining nodes. If a block contains an invalid signature, it will be ignored by the entire network.</p>

<p>Miners do this too (including blocks produced by other miners), but not only because the protocol prescribes it. Miners serve the network, and if they mine blocks the network does not like, their efforts are wasted. Thus they are incentized to validate everything, and not risk building (or building on top of) invalid blocks.</p>
 5406: <p>Bitcoin funds are locked to a specific private key. In order to spend them in a transaction, the transaction needs to be signed with the private keys corresponding to each input. The signature commits to the exact content of the transaction. If another user changes the transaction, the signature is no longer valid. Other users cannot produce another signature as they're not privy to the private key.</p>

<p>Therefore your scenario fails in one of two ways: One, the attacker creates a fake transaction with an invalid signature. Every other node that verifies the block's content notices the invalid signature and rejects the block. Two, the attacker attempts to create a valid transaction with a different outcome than the original. He cannot, because he doesn't have the correct private key to produce the signature.</p>

<p>Remember that every node checks all details of each transaction and each block <em>independently</em>. Editing your node's database locally or changing the code that your node is running does not impact the behavior of other nodes.</p>
