Why Bitcoin Mining requires "Hash Guessing" problems, even though Consensus algorithm exists to tackle BFTP?

0

This post on CoinText explains Purpose of Hashing in Bitcoin Mining:

The purpose of all the extra work is to prevent the traitors from sending false messages but serves no other purpose.

The idea seems to make the false/rogue attempts of Byzantinian nodes more difficult.

Since I am researching on this, would like the community's view(s) on:

  1. We have Consensus algorithm in place to deal with false/rogue messages, then why is there a need to make the process more difficult by adding hash guessing work?
  2. If we skip hash guessing work, how will it impact the resiliency or reliability of Blockchain?
  3. Since hash guessing tries to make further rogue attempts costly and there is no value-add from the computation, can we route some other difficult problems to Miners to keep the message attempt difficult and still utilize resources to compute something of value?

CᴴᴀZ

Posted 2017-10-27T14:06:05.760

Reputation: 3

1"we have consensus algorithm"... what algorithm? I know of no algorithm without a central trust, with the kind of resilience against bad actors that Blockchain has.abelenky 2017-10-27T15:33:20.460

He means consensus rules for rejecting invalid (already spent) transactions.croraf 2017-10-27T17:13:18.223

@abelenky Blockchain has inherent rule/algorithm for invalidating transactions if consensus is not reached. This is being referred in the question.CᴴᴀZ 2017-10-30T13:22:29.883

Answers

0

For 1. And 2. check How proof of work prevents double spend. Removing the solving of difficult problems would allow double spending attacks as per cited thread.

  1. I don't know but seems like an interesting idea.

    EDIT: I thought of the same idea before. But the problem miners solve must have some specific properties.

    In my opinion it must:

    • be randomly chosen (unpredictable) so that miners don't know the problem until previous one is solved (otherwise they would mine some block in advance and get a coin ahead of others). This is solved by including hash of previous block in the problem.

    • Be linked somehow to transactions it confirms so that transactions cannot be altered afterwards. This is solved by including hash of transactions (Merkle root) in the problem.

    I think it is hard (or impossible) for the problem with these properties to be useful somewhere else.

    Check also: Is there a way to set up proof-of-work systems so they would be even more useful?

croraf

Posted 2017-10-27T14:06:05.760

Reputation: 1 112

Thanks croraf, PoW essentially makes it difficult to do double-spends and/or rogue attacks, but is not immune to it. I see a lot of opportunity to utilize miners compute power for solving real compute problems, and not just limited to adding a difficulty step for miners.

CᴴᴀZ 2017-10-30T10:50:29.923

Adding my opinions about 3. in the edit.croraf 2017-10-30T13:40:26.090

1

  1. The "consensus algorithm" you are referring to is predicated on the "hash guessing" you are trying to eliminate.

  2. If we skipped "hash guessing," the resiliency and reliability of the blockchain would be completely destroyed.

  3. This question assumes at least 2 false premises and cannot be meaningfully answered.

Luke Mlsna

Posted 2017-10-27T14:06:05.760

Reputation: 359