-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Smart custodial account" extension #7
Comments
Not too enthusiastic so far. As far as I understand this is an extension of 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. |
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.
More detailed description of use cases: ATM use case
Employee use case
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? |
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. |
@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. |
The way this was described was grossly confusing. Please forget that I wrote this. I rewrote it from scratch at #14. |
I was thinking that it'd be useful to extend this specification for cases when the customer has a business relationship with other party and the other party might owe him some satoshis. This is different from the mere withdraw case, when it's only possible to withdraw over LN and actively scanning the QR code - in this case opening a (turbo) channel should be possible too. Further, I'd like to see a way to enable the users to withdraw without scanning anything.
Cases when this might be useful:
Rough idea of extension:
A new fields "accountBalance" and "accountCapabilities" are added to login response object. Here's an example:
Websocket sends same messages as poll response: JSON object with MANDATORY "accountBalance" field and OPTIONAL "accountCapabilities", which is same as above. If it's missing, the wallet assumes it didn't change since the last poll.
This is just the protocol, the wallet is responsible for all automation (if any). In the future, it should be extended with splicing in, if there's an open channel between the parties. The provider MAY use trusted third-party service for opening the channels.
Additional ideas: on-chain withdraw for larger amounts, topup (off and on-chain)
What do you think?
The text was updated successfully, but these errors were encountered: