This is in no way me trying to spread FUD. I just want to hear a few smart opinions and ideas from you guys about Bitcoins technical weaknesses. By that I mean things like zero-days and unforseen bugs, etc. Vulnerabilities are very common with software. Especially open-source software because of how many eyes are on them. For example take a look at curl or ssh - they are used by everyone on the planet and they still have vulnerabilities that surface every now and then. I know there are people who run fuzzers on Bitcoin to find bugs and vulnerabilities but what if there is a zero-day someone has stashed and might use one day (even though there might not be a lot of incentive to do so)

Thank you for this question! I am glad you ask.

I do not want to spread FUD but we will all be dead by then ;(

Sidenote because of these lines of code i started coding:

int64_t nSubsidy = 50 * COIN; // Subsidy is cut in half every 210,000 blocks // which will occur approximately every 4 years. nSubsidy >>= (nHeight / 210000);

  • just beautiful

Thank this guy!


On-chain fungibility by default -- at least for now, though there are many ways this can be solved with protocol improvements 🙏


I really don't see that as a problem. Having transperancy of the money supply is one of the most important things that make Bitcoin special. Think about it - you can never really know how much gold or dollars there actually are in the world. You can have an estimate, but not an exact value like in bitcoin. CoinJoin solves the issue of fungibility. You can't claim for sure who owns the coin joined bitcoin. And if enough people used wallets that have coinjoin then bitcoin becomes even more fungible. This is a good way of doing it as it's an "optional" feature keeping the base layer as pure, generic and effective as possible allowing things to be built on top of it. And, perhaps one might argue the lightning already improves the fungibility of bitcoin by a large factor.


I think fungibility and transparency of money supply are two separate things. No reason you can't have both.

That said, thank you for making the point about fungibility being better off as a wallet-level concern by way of widespread CoinJoin implementation.

I hadn't considered this before (that is, the optimality of making it an "optional" feature keeping the base layer as pure, generic and effective as possible allowing things to be built on top of it.).

Not sold completely -- but you broke my previous conviction and have me thinking about it now 😄.


I don't understand. How is this a weakness?


If an exchange or merchant won't accept a UTXO with a mixer in its history. Since every UTXO can be traced back to its coinbase, it could cause problems in the future if regulation got too heavy. Unlike physical cash, you don't really know where the person you're receiving the cash from got it from.