This is the kind of discussion I like to see. Not the tweet you link to but bitcoiners thinking about possible problems with the status quo. There are some good comments in this post (@027c352e45, @elvismercury, @DarthCoin & @Scoresby).
  1. We do need more clients than just bitcoin core
  2. A written spec does make sense to me for a project this important
  3. We have other clients but usage is limited
  4. We are still very early. Things can and will change but you make a strong point.
Something I'm confused about re a written spec:
Presumably this spec would evolve over time. Who would be the "keeper of the spec" or the people who change it?
I'm sure industries have solved this problem, but I can't imagine it looks a whole lot different than a lighter version of bitcoin core.
How does a spec get us out of the single client dominance (unless it is ossified and set in stone)?
reply
A spec doesn't solve the problem. It would just make it easier to write new clients.
In order to not have single client dominance you need
  • A number of good alternative clients
  • People willing to try something different
  • People that see the benefit/need for diversity in clients.
There are some natural reasons for new clients to arise. I think the alt clients pretty much come out of these reasons.
  • Mobile OS limitations (neutrino bitcoin)
  • Bandwidth limitations
  • Performance improvements
  • Ease of use
Basically different use cases or priorities drive the desire for different clients. I just think we are still early but now is the time to ask these questions.
reply
Here's the deal. I am just now diving into actual bitcoin development myself so I could be off base in some way. I'm sure a stacker will correct me if I'm wrong :)
I've written many specs over the years but never anything open source, but you are right. I imagine it would like a lot like the current bitcoin-core dev process. In my mind it would make it easier for developers to write new clients if there were a clear spec. It would not only help with new clients but also core dev work.
reply
No we don’t! There should be one spec as implementation, and all things should use Bitcoin Core.
I’ve run into many compat issues with LND and CLN, so I’m not so keen on that either, but it is what it is. Btcsuite/btcd was always an altcoiner project and some of that evolved elsewhere.
Alt clients are a menace. More clients does not decentralize it, it makes it more brittle. This is an important distinction!
reply