How to Avoid Cheating

Published by Mario Oettler on

Let’s say miner M1 has bad intentions. He adds a fake transaction that grants him 100 coins unrightfully from Alice. And let’s assume miner M1 was successful in the race and is allowed to add his block. What would happen?

Well, other miners are on the watch. They check every new block if it is correct. They check whether all transactions are correct and that the puzzle solution is correct. Checking the puzzle solution is actually very simple. The verifier just needs to take the provided block data, hash them and compare the hash with the puzzle target.

And checking for wrong transactions means that the signature is valid and that it is no double-spend attempt. That way, they would notice that the signature of the questionable transaction in the block from the malicious miner M1 is incorrect.

If a miner finds that the block was not correct, he ignores this block and continues his puzzle on the latest correct block.

The rules are called protocol, and every miner is well advised to follow that protocol. The reason is the incentive scheme which we will talk about later. In Bitcoin, the protocol is not written down in a whitepaper. It is written down in the code of the reference client.

You might wonder who wrote the protocol. In Bitcoin, this was Satoshi Nakamoto, an unknown person or group. By now, the community develops the reference client and takes care of the maintenance. A miner can simply download the software from their Github page and join the network.