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?
  • 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 Oct 27 '17 at 15:33
  • He means consensus rules for rejecting invalid (already spent) transactions. – croraf Oct 27 '17 at 17:13
  • @abelenky Blockchain has inherent rule/algorithm for invalidating transactions if consensus is not reached. This is being referred in the question. – CᴴᴀZ Oct 30 '17 at 13:22
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?

  • 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 Oct 30 '17 at 10:50
  • Adding my opinions about 3. in the edit. – croraf Oct 30 '17 at 13:40
  • 1
    answer should also add a reference to bitcoin.stackexchange.com/questions/331/… for the 3rd item – renlord Oct 30 '17 at 13:52
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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.