For example, if someone was running a full node and somehow re-wrote the software so that blocks and transactions which did not abide by Bitcoin's consensus rules would be able to be relayed, what would stop these blocks from joining the Blockchain?

Is it the fact that these blocks are broadcasted to other nodes that stops the invalid block from joining. For instance, if the invalid block is relayed to a non-corrupt full node and this full node rejects it, then it won't be added <-- is this true?

2 Answers 2


Other nodes would not relay or accept invalid blocks that were produced by the modified node.

Each node creates their own copy of the blockchain. Each node checks (verifies/validates) all the data it receives to the fullest extent possible. No node trusts any other node. It is because each node applies the same set of rules that they all end up with the same data in their copy of the blockchain. Nodes that apply different rules end up forming a separate "forked" network with a different "forked" blockchain.


You are correct, when the new block is broadcasted, all the other nodes would reject it if it doesn't follow the consensus rules, would not add it to the blockchain nor will they transmit it.

In fact, the "software" itself is not important (there are multiple Bitcoin node clients), just like many software pieces can create JPEG photos (ranging from your phone, computer, camera, etc.), the protocol itself depends on what the nodes agree on.

You would be essentially creating a hard fork, and if for any reason all the nodes and miners use your "re-written software", and is accepted by everyone, then at that point that new Bitcoin probably becomes... Bitcoin.

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.