If a miner misbehaves, can other miners “boycott” him/her by refusing to build on top of his/her blocks in the future? Will such a “boycott” keep the miners from behaving badly?
-
any hints will do fine!! – Prajit Verma Feb 15 '19 at 09:18
3 Answers
As other's have noted it is unlikely that boycotting is practical with bitcoin or any other automated trust-minimized network. There needs to be a defined mathematically provable function that prevents certain types of transactions, otherwise you cannot guarantee that it didn't occur. That being said the question of 51% attacks is something I have thought about a lot. There is a recent innovation in progress being developed on the Ergo blockchain called Succinct Non-Interactive Share Proofs (reference https://www.youtube.com/watch?v=x-9x_PveRog). As mentioned it is a work in progress however in theory a proof like this can determine the amount of hashpower a particular address is holding.
I can only imagine that in order to extend this into a feasible 51% attack resistant algorithm you would need share proofs to be committed on chain per block creating a chain of proofs for any particular miners address. You can then distribute rewards based on hashpower consistency and make it unprofitable/invalid to mine if you have X percentage of hashpower which theoretically is provable. The problem now is that miners don't disclose their public key until the UTXO is spent essentially, so tying down a miner identity becomes pretty much impossible as a necessary privacy preserving function of the network. So you would need miner address' to be revealed in this theoretical alternative algorithm, the reward structure should outright reject anyone attempting to solve proofs with a threatening amount of hashpower. Even this cannot solve all scenarios of 51% attack though because an individual can still damage decentralization through mining on different address' to spoof being different individual people. Not to mention that the blockchain has no current way to keep track of its own network hashrate (would need to be in consensus across 100% of clients). Essentially the only thing I can think of is prevent artificial forks created by a single address through a complex method of mining share proof credit reward structures. Such structures have never been developed and as far as I'm aware I am the only person who has ever even come up with such an idea. I personally cannot see the solution to the identity issue who overall removes the possibility to protect from some sort of anonymous mining attack. That being said the general protection against the attacks are the amount of power being used and the device cost and rarity used to mine. Bitcoin has all of this down to such a sweet-spot due to its calm gradual approach to adoption. It is likely not to be replicated by anything other than natural decentralization. I got thinking down this rabbit hole by the fact that miners usually mine to one address but I don't think that general assumption is quite enough to base an entire proof of work algorithm around. It needs a lot more work...
I'm not sure what you mean by 'misbehaves', but if a miner creates an invalid block, the rest of the network will ignore it.
And in any case, a specific miner cannot be banned from participating in the network. The network only cares about whether a new block is valid or not, the origin/creator of that block is not even necessarily known. There is no 'ID' or anything like that that links blocks to certain miners. Anyone that submits a valid block hash can create the next block on the network.

- 18,170
- 3
- 19
- 48
-
By 'misbehaves,' if somehow this miner controls 51% hash power of the network, and then he tries to attack blockchain network, adding invalid blocks or creating a fork in blockchain then trying to add the block on top of his block – Prajit Verma Feb 15 '19 at 10:32
-
A miner with 51% of the hashpower cannot add invalid blocks, but they can fork all other miner's block off the network, except for their own. In any case, the network's nodes will continue to follow the longest chain of valid blocks. There is no way of knowing who has submitted the blocks, so if they are valid, the nodes will accept them. – chytrik Feb 15 '19 at 10:34
-
What will happen to transactions present in the fork in which all other miner's block are present which he(mischievous miner) set off the network. Will those transactions become useless? – Prajit Verma Feb 15 '19 at 11:06
-
for eg. merchant who waited for 6 confirmation to verify payment, then ship the product bought. But if those transactions became useless or in some sense were thrown out of the public ledger, then merchants would have to bear loss! – Prajit Verma Feb 15 '19 at 11:10
-
@PrajitVerma Yes, if there is a fork (reorganization) then the transactions that were confirmed pre-fork, may no longer be confirmed post-fork. This is why it is often recommended to wait 6 confirmations: the chance of a long reorg is low, and it is very expensive to attempt such an attack. See: https://bitcoin.stackexchange.com/questions/658/what-can-an-attacker-with-51-of-hash-power-do also relevant: https://bitcoin.stackexchange.com/questions/3343/what-is-the-longest-blockchain-fork-that-has-been-orphaned-to-date – chytrik Feb 15 '19 at 12:47
Yes, other miners can boycott a misbehaving Bitcoin miner on an ongoing basis. This can be done by simply not including the blocks that are mined by the misbehaving miner in the blockchain. Miners are free to choose which blocks they include in their own version of the blockchain, and if they do not include the blocks mined by the misbehaving miner, those blocks will not be included in the final, consensus version of the blockchain.
However, it is important to note that this type of boycott may not be effective in all cases, as the misbehaving miner may have a significant amount of mining power and be able to create a longer chain of blocks than the rest of the network. In this case, their chain would be accepted as the valid chain and the boycott would not be effective.