I know, little bit "clickbait" title but I want to get some attention.
To be honest, I've been pissed off by the behaviour and further development of LND by Lightning Labs. Why? They don't care about specification and compatibility with other implementations and prefer solutions that will benefit only them. As a result, the Lightning Network will not be as successful as it could have been if they had worked together with other teams. I will explain...
There are 4 main players today in Lightning Network:
- LND by Lightning Labs
- Core Lightning by Blockstream
- eclair by ACINQ
- LDK by Spiral
LND has 90+ % of the market share, which probably gives them the right to decide on the future development of LN even if other teams and most of the community are against it.
There is a tweet from Alex Bosworth, where he is suggesting inbound routing fees. Quite a change, isn't it? You say to yourself that surely there is a specification for this and it has been discussed with others. Reality? Quite the opposite.
Matt Corallo (from LDK team) is against it, the same applies to Rene Pickhardt and Rusty Russel. But "fuck the collaboration and specs", we have 90+ % of market share and there are some big nodes using LND...
And it's not just about this one thing. There are a ton of improvements, that could improve the Lightning Network as a whole. The other teams (Blockstream, ACINQ, Spiral) are working on them, rolling out the specs and testing them together. Whereas Lightning Labs is going along its own that benefits them and not the network as a whole. Some examples:
We're big, we can do whatever we want
Here's part of an email from Alex Bosworth where he claims that if other implementations don't have the market share they do, they have no say in the specification. You can also find there what others think about it... Moreover, a lot of nodes run on mobile phones and are not in these statistics.
New features come before stability and security
You are probably aware of the critical vulnerabilities in LND recently (specifically in the btcd library) that led to nodes not being synchronized with the blockchain and potentially losing resources (which fortunately did not happen). What would you expect? For example, that they would apologize and do their best to make sure it doesn't happen again? Instead, Lightning Labs CEO Elizabeth Stark accused Blockstream for sponsoring the attack. Sure, she then deleted the tweets and apologized, but... Wouldn't it be better to admit a mistake than kick around? Not to mention that a similar bug was repeated again a few days later.
Watchtowers
There is a open specification for watchtowers (BOLT-13). Wouldn't it be great if there was a uniform standard? And what did the LND do? Their watchtower is a proprietary solution where the watchtower itself is another instance of LND. A great solution if there is a bug in LND (see paragraph above) and then even watchtower can't save you...
Liquidity
CoreLightning has introduced liquidity-ads. A clever and fully decentralised solution where bids to open channels are propagated through the gossip protocol itself. No need for any trust, service or centralized server. LND's solution? We will not support liquidity-ads (although ZeroFeeRouting has offered money to whoever implements it in LND) as it competes with our centralized solution called Pool, which we profit from.
BOLT-12
Everyone is expecting BOLT-12 and other implementations already have it deployed and testing it. LND approach? We're not going to implement it, for now.
Other things
There are a lot of other great improvements here - route blinding (privacy improvement), trampoline routing (simplifying routing for mobiles), async payments (ability to receive payments even when I'm offline), PTLC, a solution to the channel jamming attack, eltoo (although we're waiting for the Bitcoin modification here), etc. Most other implementations work on these in some way. And how does Lightning Labs approach this? What is their roadmap? Completely different, unfortunately...
Summary
I understand that their priorities are different because they are VC-funded and and therefore has to make some money. Preferring proprietary and centralized solutions that they can somehow profit from, coupled with the fact that they'll skip writing specs and communicating with other teams because they have a large market share, so they'll decide everything, is not the way to go in my opinion.
This is not meant to be some attack on Lightning Labs, and I believe there are a lot of great people working there. I just wanted to make my point that I don't like where their development is going. Either they will force others in this way or after a while we will have two separate networks - free and open-source running CLN, eclair and LDK and then proprietary with LND...
The only thing I can (and will) do is ignore the pretentious nonsense from Alex Bosworth and replace my LND node with Core Lightning.
option_scid_alias
andoption_zeroconf
are now supported in all big LN node implementations. A success story.