Comment by olalonde

1 day ago

> Bitcoin is a partial solution under multiple constraints, even 1/3 of malicious nodes can undermine it. Internet backbone (BGP) should be trusted. Governments should allow it. etc.

This is wrong on multiple counts. Bitcoin's security model does not assume BGP is trustworthy, nor does it rely on government permission. And the claim that 1/3 malicious nodes can undermine it misapplies BFT theory. Bitcoin doesn't use a quorum-based consensus like PBFT, so thresholds like 1/3 aren't the relevant failure mode. Instead, the attack vector is hashrate-based, and even a 51% attack doesn't let you rewrite history arbitrarily, just temporarily reorder recent blocks.

> The on-chain Bitcoin transactions are never final.

This is misleading. Bitcoin finality is probabilistic, like nearly everything in cryptography. It's final in the same sense that cryptographic signatures are unforgeable: with extremely high probability. The six-confirmation rule of thumb reflects the difficulty of deep chain reorgs which have never exceeded two blocks in practice on Bitcoin mainnet.

> There were many more than 2-3 [hard forks]... even 2-3 are enough to show it's bad design.

This conflates implementation bugs with protocol design flaws. The forks were caused by programming errors, not bad design.

> Bitcoin is a lottery.

You could argue that Bitcoin mining is because it's is probabilistic and there's a reward. But unlike a lottery, it serves an important role: securing the Bitcoin network.

Honestly, your critique reads more like cope than a technical argument.

> Bitcoin finality is probabilistic, like nearly everything in cryptography.

Yes, Bitcoin finality is probabilistic, and practically good enough after half a day or so (though 20 blocks were rolled back on at least 2 occasions).

However, many things in cryptography are not probabilistic. And in BFT-type consensus, every block is immediately final; the question of finality doesn't even arise (which is why the concept only gained prominence with Nakamoto consensus).

Regarding forks, there was BCH, BSV, etc. - those were not programming errors.

  • > though 20 blocks were rolled back on at least 2 occasions

    Do you mean because of the bugs mentioned earlier or during the normal course of operations? Curious to read more about that.

    > Regarding forks, there was BCH, BSV, etc. - those were not programming errors.

    That's a different kind of "fork" though and those are arguably not Bitcoin. They're basically just competing cryptocurrencies that happened to use an existing blockchain to get started.

1. 1/3 malicious nodes under some conditions and BGP

This is backed by academic papers. Ask google or GhatGPT. You may argue that these papers are wrong or outdated, but then you need to tell this to the researchers who wrote them, not to me.

2. finality is binary, probabilistic finality is an oxymoron

3. > This conflates implementation bugs with protocol design flaws.

there is no formal spec for Bitcoin, there is a short informal whitepaper and a reference C++ implementation. Anyway the paper named "Bitcoin: A Peer-to-Peer Electronic Cash System", and for this specific purpose design is flawed, without regards to bugs.

4. > Bitcoin is a lottery.

Now you're hallucinating quotes I never wrote.

> Honestly, your critique reads more like cope than a technical argument.*

can you show a specific example of the "cope"?

  • > can you show a specific example of the "cope"?

    Pretty much all your comments here amount to twisting definitions, misapplying technical concepts, and nitpicking in search of "gotchas." Not to mention all the "LARPing" comments. It screams how to cope with having missed out, which, to your credit, you more or less admitted.

    • Saying everything is X is like saying nothing is X

      So, you think that if I had BTC, it would’ve magically changed my views on how Bitcoin consensus works?

      BTW: I think Scrum/Agile is also LARPing, do you think if I’ll get a Scrum Master certification it will change my views on Scrum?