Hacker News new | ask | show | jobs
by phailhaus 3231 days ago
Ooh, he was doing so well but his explanation for why users use the main chain instead of a forked chain betrays a fundamental misunderstanding of the blockchain.

There is no "blue chain" or "red chain", there are just blocks that point to other blocks. Branches happen all the time, and sometimes those branches become the main chain. So actually, if the red chain was grown faster than the blue chain, it would become "the main chain". But then the miner's transaction in the blue chain would be ignored!

The main chain is chain with the greatest computational value, it's the chain that takes the greatest amount of CPU power to compromise (and therefore it's the most trustable). It has nothing to do with Schelling point or bounded rationality, because that suggests you can tell that a block is a "forked block" the moment it's created, but you can't.

2 comments

"It has nothing to do with Schelling point or bounded rationality, because that suggests you can tell that a block is a "forked block" the moment it's created, but you can't." - if you mine an invalid block you can tell that it will not be part of the main chain. In this sense mining a valid block is a Schelling point - because it is what you expect others expect.
yes but if you mine a valid block around the same time someone else mines a random block you can't know until another block is mined (and even then, you might not know)
'yes but'? What you are saying is true - but it does not contradict my point in any way. The choice is between making an valid or invalid block - and the Schelling point is making a valid block. Another case is if you see a fork with a shorter and longer branch - then adding to the longer branch is also a Schelling point.
Not really...you're not avoiding the invalid block because it's "familiar" to use valid blocks. You're avoiding the invalid block because anything built on it is also invalid so all of those transactions are ignored.
Those transactions are ignored because nobody will attach to that branch - and they don't attach to it because it is a Schelling point to attach to a valid branch.
It's not a Schelling point to attach to a valid branch if the software itself rejects invalid blocks.
Then it is a Schelling point to use the standard software.
No, they don't just use the software because it "feels familiar". Everyone is acting in their best interests, nobody is going to sit in a sub-optimal position just because they can't be bothered. If you use non-standard software, then everyone else will reject your proposed blocks.

The only way you can use the concept of Schelling point is to explain why so many people use Bitcoin rather than Litecoin or another slightly-tweaked variant. Much like the example in the article, if you ask anyone to pick a cryptocurrency to pay with, they are likely to say Bitcoin because it is familiar.

> because that suggests you can tell that a block is a "forked block" the moment it's created, but you can't.

Invalid blocks are invalid, that's one way to tell. Run the bitcoin protocol rules and you'll get the same results as everyone else.

You often get two valid blocks at the same time, and whichever one gets the most blocks built on top of it wins.
He's not talking about a hard fork, where blocks from the new fork are invalid on the old fork. He's just talking about two miners finding a new block at approximately the same time. They're both valid, but only one can become part of the 'main' chain, the other will eventually be lost as nobody continues to mine on top of it.
True, but I'm referring to valid blocks.