Author

Topic: Miners Behaving Badly? (Read 637 times)

full member
Activity: 182
Merit: 107
March 11, 2016, 07:59:28 PM
#6
Bitcoin's miners are incentivized to produce blocks without fully validating all the transactions they contain.

Can someone elaborate on this problem?


Yes, SPV mining allows to mine with just the previous block header. Transactions on the previous block aren't really checked.

But how is it possible to mine a block without fully validating all the transactions in the first place? Are those transactions still processed?



Bad transactions may be rare enough that it is cheaper for them to take that risk than to validate.
What's a bad transaction?

A transaction that isn't balanced, uses inputs that have already been spent, or is otherwise malformed and doesn't meet the rules.

You include one of those in your block and your block will not be accepted by clients, and any blocks after it will not be accepted by clients.

Maybe accepted by light clients, but not by full clients. Run a full validating client to prevent such blocks from being accepted by your client and you are safe.

Don't run a full validating client and yes, this is one of many GIGO attacks you are vulnerable to.
legendary
Activity: 1260
Merit: 1115
March 11, 2016, 07:27:44 PM
#5
Bitcoin's miners are incentivized to produce blocks without fully validating all the transactions they contain.

Can someone elaborate on this problem?


Yes, SPV mining allows to mine with just the previous block header. Transactions on the previous block aren't really checked.

But how is it possible to mine a block without fully validating all the transactions in the first place? Are those transactions still processed?



Bad transactions may be rare enough that it is cheaper for them to take that risk than to validate.
What's a bad transaction?
legendary
Activity: 3388
Merit: 4615
March 11, 2016, 05:50:51 PM
#4
But this attack is useless, because the attacker also mines invalid block, so both attacker and target have same loss.

That depends on:

  • How certain the attacker can be that the victim will mine on the invalid block
  • How much time the victim is likely to take to realize that they are on an invalid block
  • What percent of the global hash power the attacker and victims have

Imagine that an attacker with 26% of the global hashpower can mine an invalid block and trick 50% of the global hashpower to mine on that block until they see a new block.

The attacker can then mine with 52% of the remaining global hash power.  This allows them to mine multiple blocks (and not send them out) until someone in the remaining 48% of the global hash power finally mine a block.  As long as the attacker has secretly mined at least 2 blocks by the time a valid block is solved by someone else, they can release their chain of blocks and get multiple blocks of reward in exchange for the one bad block that they created.

If this happens more than a couple of times, the miners that are not SPV mining will have an incentive to contact the attacker and offer to exchange blocks with them outside the normal network (so that the SPV miners can't see the blocks).  This will allow the tow (or more) of them to mine even more blocks before the SPV miner realizes what has happened.
sr. member
Activity: 682
Merit: 268
March 11, 2016, 05:36:17 PM
#3
Bitcoin's miners are incentivized to produce blocks without fully validating all the transactions they contain.

Can someone elaborate on this problem?


Yes, SPV mining allows to mine with just the previous block header. Transactions on the previous block aren't really checked.

Someone could create invalid block and the next miner would shoot self to the foot.

But this attack is useless, because the attacker also mines invalid block, so both attacker and target have same loss.

full member
Activity: 182
Merit: 107
March 11, 2016, 05:11:41 PM
#2
I’ve been reading the RSCoin white paper, Centrally Banked Cryptocurrencies. Beyond its scalability problems, of which I’m grimly aware, the authors mention that recent research suggests that Bitcoin's miners are incentivized to produce blocks without fully validating all the transactions they contain.

Can someone elaborate on this problem?


Well there is no risk to the network because the block will be rejected - the risk is to the miners who lose the block reward if their block is not valid. Bad transactions may be rare enough that it is cheaper for them to take that risk than to validate.
legendary
Activity: 1260
Merit: 1115
March 11, 2016, 04:31:08 PM
#1
I’ve been reading the RSCoin white paper, Centrally Banked Cryptocurrencies. Beyond its scalability problems, of which I’m grimly aware, the authors mention that recent research suggests that Bitcoin's miners are incentivized to produce blocks without fully validating all the transactions they contain.

Can someone elaborate on this problem?
Jump to: