Comments (5)
Not too enthusiastic so far. As far as I understand this is an extension of lnurl-login
which would allow to do certain actions from user phone instead of, say, service webpage where user logs in to, I see little point in that and better hand this to service developers (i.e. let user do those things on site/app once logged in).
Plus, https://github.com/btcontract/hosted-channels-rfc seems to be at least partially covering outlined custodial use cases, but with better privacy and accountability.
from luds.
It seems that calling this "custodial account" even with quotes was confusing. I somehow couldn't come up with a better name.
The goals of my suggestion are basically automation of invoicing (employee/barista with tips use case) and automation of decision (turbo/LN) - improved LN UX. I present them together because I believe both can be solved with this protocol extension.
- ATM being unable to return fiat is a real world use case. Further, I don't think it's a very good UX for the user to have to pick between Turbo and existing LN channel. Automating this is much better.
- You can withdraw manually with a website, but why not automate it? Especially if the end user is expected to withdraw anyway. If the sender is capable of providing Turbo channels, the ability to easily resolve routing failure by opening such channel is very handy.
More detailed description of use cases:
ATM use case
- A user approaches an ATM, selects "Buy Bitcoin over Lightning" button.
- The ATM instructs the user to scan a QR code.
- If the ATM server receives correct request, it knows that the wallet is compatible. I witnessed first-person quite serious issues with people messing up buying. I believe the possibility of user error should be minimized as much as possible.
- The user inserts as many bills as he wishes.
- The user hits "Buy" button
- The wallet is notified of changed balance
- The wallet determines if there's enough incoming capacity for withdraw - if not, it requests a turbo channel.
- The wallet can withdraw partially using more than one channel - this is a great UX!
- If the routing fails, the wallet requests Turbo.
Employee use case
- When the employee signs the contract, he's shown a QR code
- The employee scans it to establish link
- Whenever the employer calculates the paycheck of employee, he just enters it into the system (can be fully automated)
- The wallet of the employee receives push notification (using the callback feature)
- The wallet withdraws automatically
This completely removes the requirement for the employer to manually generate invoices and sending them to the employee.
Regarding hosted channels. I think it looks nice too. What I'm missing there is again some way to turn the hosted channel into Turbo. This could be done by the wallet automatically paying some channel-opening service and then "rebalancing".
What I'm missing is a way to credit the hosted channel without interaction and notifying the wallet about the change. Even if it's implemented, there needs to be a protocol for establishing those channels - so LNURL should be extended to cover this.
Do you plan to implement hosted channels into BLW/Eclair?
from luds.
I don't see the reason for all this unnecessary automation. The ATM case can all be done manually with more QR scans. The employee can also get his salary manually and it's not a big deal. At least I don't think it is worth implementing an automation protocol that would be complex to support so many different cases -- and also the wallet having to keep a background service to be able to receive notifications when it would be just as easy for the employer to send Telegram message with an lnurl to the employee for the salary.
Also I personally don't like my wallet doing things on my back without I understanding it.
But I also think it's too early to think about these protocols as there's no expectative of people paying salaries with lightning and still small adoption by other wallets of lnurl things. Maybe that will change in the future then this idea can be revisited.
from luds.
@fiatjaf why would automation ever be unnecessary? There's nobody pointing gun at your head - don't use it if you don't want to, but let others do it, if they want. You don't have to implement it either. The background service already exists for push notifications. I don't see any problem with efficient use.
Here's the deal: I want to implement this feature and I'm now attempting to cooperate in such way for the feature to be useful for more people and well documented. If nobody else wants it, I will just fork whatever is necessary and do it myself.
LN is currently extremely complex to any newbie. They have to deal with multiple balances, channels... Now add the fact that there are possible failures, Turbo channels, submarine swaps... I deal with explaining this almost every day and it's hell.
You may think salaries with LN aren't a thing, but in fact they are. I witness this first hand. Currently salaries and tips are done using on-chain and address reuse. Sometimes they are in shitcoins. I want to get rid of this nonsense and provide smooth experience.
from luds.
The way this was described was grossly confusing. Please forget that I wrote this. I rewrote it from scratch at #14.
from luds.
Related Issues (20)
- Use lightning address to initiate a lnurl-auth login? HOT 4
- Support of tags in LUD-16 static identifiers HOT 3
- PIN support for withdrawRequest
- Proposal for LUD-03 spec addition: wallet must nod send an invoice with tag `h` in callback HOT 9
- Misleading "supported" table for LUD-01 in README (fallback support) HOT 2
- Unspecified response status codes HOT 1
- about README.md
- HODL invoice support HOT 3
- LUDS-06 what is the definition of number? HOT 2
- LUD-04 Spec Addition: k1 value should be optional and trigger a negotiation step like LUD-06.
- LUD-03: Provide recommendation for zero balance withdrawal response HOT 1
- Cite LNURL
- Jızık HOT 1
- Volkan ural HOT 1
- Right now it gets a new api token each time it's launched. Would be better to persist / cache it somewhere .
- How to protect user from fake site login with lnurl-auth HOT 9
- "image/png;base64" not marked as mandatory nor optional HOT 2
- LUD-01: Recommendation to add CORS headers for all server responses HOT 1
- LUD-04 seems incomplete
- LUD-06 - What is "pr" HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from luds.