Hacker News new | ask | show | jobs
by romaniv 2828 days ago
>The usefulness of a consensus protocol is that no one party can be trusted to have the most up-to-date AND valid blockchain.

Consensus protocols do not require mining. You can simply poll X random nodes and compare what they tell you. I don't understand what mining adds to the equation. Okay, instead of "I need to control 50% of all nodes" it becomes "I need to control 50% of all mining capacity". Is that the point of mining? To make inserting hordes of cheap lying nodes impossible?

2 comments

I didn't say that consensus protocols needed mining, only PoW which is a consensus protocol uses it.

You can poll multiple nodes and each one will give you a different answer because of message propagation times.

Mining fulfils two roles:

- identity management: To identify who is a trustworthy block producer in an anonymous and trustless network, mining introduces a cost to the block generation process and we use a game theory assumption that it serves as a barrier for attackers. This doesn't mean there aren't validation checks performed by other nodes in the network and the consensus forming rules themselves of course.

- consensus formation: In a distributed network, nodes are bound to disagree on which is the canonical chain out of two or more competing forks. The most common algorithm calculates the accumulated computational effort of each chain of blocks and picks the "heaviest" one, ie the one with the most work done on it. This has the nice side effect of ensuring economic finality for the transactions in those blocks.

>Is that the point of mining? To make inserting hordes of cheap lying nodes impossible?

That's called a Sybil attack, and yes that's one of the reasons.

Mining also makes creating blocks have a real world energy cost. So rewriting history quickly becomes almost impossible as blocks are added. An attacker would have to have more than 50% of all mining power for a sustained period of time.

I suggest reading the Bitcoin whitepaper, it's short and sweet.

https://bitcoin.org/bitcoin.pdf