0

Is it possible for a malicious attacker to download a bitcoin software code, modify that code and use that software for his own benefit? I know that any changes implemented in the bitcoin software must be accepted by the majority nodes in the bitcoin network. But, here, consider that the malicious attacker doesn't need to use that modified version of bitcoin software by other users.

Here is an example, Suppose B is a malicious miner. He wants to modify the verification conditions(20 rules) of transactions. Then, he edits the code of bitcoin software to set his own verification rules for transactions so that he can bypass all the invalid transactions from his accomplices to mempool. Is it possible?

2

[The miner] edits code of bitcoin software to set his own verification rules for transactions so that he can bypass all the invalid transactions from his accomplices to mempool. Is it possible?

Yes and no.

Yes, it is entirely possible to modify the code to include whatever sort of transaction validation rules you want.

No, you cannot use this to trick the rest of the network into accepting your invalid transactions. Your node would be banned by other nodes in the network, since it is not following the rules of the network. The network is formed by the connections of thousands of individual nodes, that all follow the same rules. If a node breaks those rules, then the rest of the network will simply ignore them.

By changing the validation/consensus rules, you would effectively be creating a new altcoin network.

  • I would like to add that there's not a single mempool, but as many different mempools as miners – Osias Jota Mar 8 '18 at 0:21
  • 2
    @OsiasJota that is indeed a point worth noting, however there are many more individual mempools than there are miners. The majority of full nodes likely keep their own local mempools as well. – chytrik Mar 8 '18 at 1:17
2

While the attacker can modify their software any way they like, the attacker would only hurt themselves. Full nodes are named such for their feature to "fully enforce all consensus rules of Bitcoin independently". Every full node maintains their own mempool. Since the "fake transaction" you've suggested obviously does not adhere to the consensus rules, every other node would simply reject the transaction as invalid and then ban the node that relayed it to them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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