Wednesday, 14 November 2018

Guide for miners: How to deal with a malicious majority hashrate entity.

The problem BCH is apparently facing is that a malicious entity has decided to throw money out the window to disrupt the BCH network. This will not be the last time this happens, so here is what to do if that entity tries to disrupt the network with their majority hashrate.

  • Creates empty blocks despite plenty of transaction in the mempool -> orphan the block
  • Creates insufficiently filled blocks despite plenty of transactions in the mempool -> orphan the block
  • Creates blocks filled with transactions that where not broadcast -> orphan the block
  • Creates blocks filled with difficult to validate transactions -> orphan the block
  • Creates blocks using opcodes/rules not conforming to consensus -> orphan the block
  • Repeatedly refuses to include some transactions that have been broadcast to that entity -> orphan the block
  • Repeatedly refuses to include functionality/opcodes in blocks that have plenty of transactions in the mempool using it -> orphan the block
  • Attempts to reorg the chain by picking a block to build opon unusually far back -> orphan the block
  • Attempts to reorg the chain by publishing a whole new chain of blocks that previously haven't been broadcast -> orphan the block

Honest miners are being attacked here, and they have every right to defend themselves. Hashrate isn't the only way they can do so, they can introduce a set of rules looking out for these outlined attacks against the network and thwart attempts at disrupting it.

The longest/most PoW chain is only relevant for a chain of blocks created in good faith. If it is a maliciously created chain/block that can clearly be identified to disrupt the network, it should be orphaned. If it can't be identified to be disrupting the network, then there's functionally no difference to an honest chain/block.

You don't need to catch all possible attacks. You just need a set of rules that ensure the networks obvious health and proper functioning. If obviously malicious blocks get orphaned most of the time, it's sufficient to deter behaving maliciously. Some or other malicious block might get trough, but the rules ensure the impact will be minimal and ineffective.

Honest miners can make an attack costly for the attacker and ineffective at achieving its goals. The attacker wants to perform his attack at a minimum of cost with the greatest effect. If he can't achieve that, he'll either stop and go away, or start to behave and make honest blocks.

submitted by /u/pyalot
[link] [comments]

source https://www.reddit.com/r/btc/comments/9wz9xv/guide_for_miners_how_to_deal_with_a_malicious/

No comments:

Post a Comment