Here's a quick list of some of the issues with the current Lightning Network:
- Not widely used standard for static codes (BOLT12 or AMP are not yet deployed, LNURL needs server with registered domain)
- Privacy of hosted channels is not great (chaumian e-cash not yet released)
- LN wallets on iPhone have hard time receiving when app is not open (Watchtowers not yet)
- Many advanced features are commandline only (not in phone wallets)
- QR codes UX is still annoying (LN not yet widely using NFC)
- Onchain LN transactions take too much space (Taproot not yet used, Eltoo not yet released)
- Punishment transactions are too strict (Eltoo not yet)
- No way to "stabilize" lightning BTC balance to fiat rate (people have to use Tether :/)
- Maintaining LN node & channels still requires manual work (no "single button" solution)
- The lnd nodes are memory&disk heavy with more transactions (Eltoo not yet)
- Payments are sometimes slow - especially for large amounts (mincut and graph flow algos from Pickhard et al have not kicked in yet, Tor is slow)
- No good solution for inheritence is implemented (Onchain is also not good)
- Not possible to use without internet (onchain is possible in person / over phone in crazy situations)
- There's no easy way to do your own "accounting" across wallets (no standard protocol)
- Web Apps don't have a simple way to integrate non-custodial wallets (possible, but complex UX)
The baseline Lightning Network works really well and most basic issues have been "resolved 18 months ago" 😉
That said I believe it's important to talk about the current problems and opportunities, so here's a start. Anything missing?
Very good recap.
I could add some aspects more:
https://i.postimg.cc/4NngH6BS/lnd-restart.jpg
Very good points too! I don't have that deep of understanding of the current routing implementations, but it feels like there's definitely opportunity for improvement.
yes, exactly, we need improvements and I hope some LN devs will see your post and take notes.
I’ll add two .
Power management on end devices is not related to LN.
Watchtowers address absolutely different problem.
Not related to LN. And btw
standardsats.github.io
I'm not sure how do you mean "Not related to LN"?
I agree that there are solutions in works (standardsats, Taro, RGB, Synonym, Liquid swaps), but it doesn't look like there's any usable version yet - or is there?
At least because there very few ways to "stabilize" BTC balance onchain and none of them absolutely trustless due to oracle problem.
https://standardsats.github.io/ has "download APK" on its page. This is custodial tech, do not use it for savings. Currently only EUR asset available.
I did not specify that one well. Indeed watchtowers are targeted for a different problem.
The fact that mobile wallet has to actively communicate with another node when receiving transaction is very much related to LN architecture and there could be either solutions on LN/application side or on the iOS power mgmt side...
Also wrong.
There is IMMORTAN library written for SBW wallet around which makes everything possible for LN light client to work efficiently on mobile including augmented graph with Public Hosted Channels and trampoline routing.
The first BLW wallet actually had even Bitcoin SPV.
All very good points but I wouldn’t say not having a way to “stabilize” a BTC balance is a shortcoming. Bitcoin is stable, it’s fiat that’s unstable. People need to stop thinking in fiat terms.
Yeah, this is nuanced and for example people in US don't really have reasons to want it/need it. Also when everyone is on Bitcoin, then this won't be needed at all.
The main two cases I have in mind:
I don’t think it’s worthwhile to pretend that BTC has a stable value.
The way I think about it is - fiat currencies like the dollar have optimized fulfilling as much of the total accessible market, as possible, making sacrifices on the soundness and hardness of the money.
Bitcoin on the other hand does the opposite (and it’s obviously much newer), where it maintains its hardness/soundness at the cost of a slower adoption (relative to fiat).
The instability of bitcoin come from the fact is that it’s significantly lower on the adoption curve, but it maintains excellent fundamentals. Fiat again, the opposite.
I guess the point I’m making is that it’s impossible to measure “stability” given both variables have different unstable properties. Let’s just be honest about it.
For me i the delay between making a transaction and waiting for it to pop up in the wallet is always scary
Great summary!
Most of the issues seem to be related to the UI/UX land and I agree LN is still far from usable for the average user. We can make a comparison with 80s PC which where mostly for professionals and hobbyist. That being said if you want to help you have to choice 1) contribute to projects if you can 2) help them financially which is what I prefer to do for time/skill constraints. Sponsor projects on Github with some spare sats
Solid summary of where work and focus can build material results and progress
Also:
Payment routing still needs improved reliability (MPP coming) Recovery from node failure (LND) poorly defined and error prone (explore other impls)
Lightning today feels like what I suspect Bitcoin felt like in 2013-14 It's core function works just fine but it's not easy and has rough edges
The sad truth is that regarding privacy in a Chaumian mint, L1 is more private than Lightning…
By the way, you should group these into buckets: Solution(s) Known, Solution unknown
Do you say that because the federation of the mint can see all the transactions? My understanding was that you can join the mint anonymously, no? In that case the mint federation is strictly smaller group than "everyone who has access to blockchain", so from the perspective of how many people can see what you do, this would be improvement.
That said I agree that it's not a clear cut and it really depends on what is your risk profile and who are you trying to be private or anonymous against.
I say that because when you’re using the chaumian mint to handle L1 transactions for you, it is using it’s own very private mechanism. When you are using it to handle Lightning for you, it is beholden to Lightning’s systems and quirks.
I suggest asking more to the developers behind Minimint. I can’t explain it super well, sorry.