Skip to content
This repository has been archived by the owner on Dec 13, 2019. It is now read-only.

[node] Unobtrusive onchain operations #2463

Open
LayneHaber opened this issue Sep 23, 2019 · 2 comments · May be fixed by #2464
Open

[node] Unobtrusive onchain operations #2463

LayneHaber opened this issue Sep 23, 2019 · 2 comments · May be fixed by #2464

Comments

@LayneHaber
Copy link
Collaborator

All apps have to be collateralized, which means waiting for on-chain updates (i.e deposit/withdrawal) means bad UX.

Example: Streaming payments. End users could be waiting to receive more payments, but have them blocked by a pending deposit transaction.

Example: De-collateralizing. Intermediaries could be de-collateralizing a channel and users would not be able to make a payment until that transaction is mined.

@LayneHaber LayneHaber linked a pull request Sep 23, 2019 that will close this issue
@LayneHaber
Copy link
Collaborator Author

User story:

  • User receives a payment that is not fully collateralized
  • User also has $5 in their channel to spend
  • Hub begins a deposit to collateralize users channel. This may be done in a way or for a reason that is nonobvious to the end user
  • User cannot spend pre-existing $5 until the collateralizing deposit from the hub is cleared.

Ideally, this "pending deposit" would not affect the user's ability to spend their existing channel balance.

@ArjunBhuptani
Copy link
Collaborator

This is particularly an issue right now while gas prices are spiking and so transactions are sometimes taking 20 minutes to mine. Would suck to lose access to your channel for 20 minutes.

You could implement a timeout but then that introduces potential channel-breaking conditions where a deposit goes through AFTER timeout. Even if you enforce timeout onchain (somehow), this would mean poor UX because none of your deposits would work. (We're going through this exact problem in v1 right now)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants