Skip to content
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

Lightning Specification Meeting 2023/05/22 #1082

Closed
14 of 28 tasks
t-bast opened this issue May 17, 2023 · 3 comments
Closed
14 of 28 tasks

Lightning Specification Meeting 2023/05/22 #1082

t-bast opened this issue May 17, 2023 · 3 comments

Comments

@t-bast
Copy link
Collaborator

t-bast commented May 17, 2023

The meeting will take place on Monday 2023/05/22 at 8pm UTC (5:30am Adelaide time) on Libera Chat IRC #lightning-dev. It is open to the public.

A video link is available for higher bandwidth communication: https://meet.jit.si/Lightning-Spec-Meeting

Recently Updated Proposals / Seeking Review

This section contains changes that have been opened or updated recently and need feedback from the meeting participants.

Stale Proposals

This section contains pending changes that may not need feedback from the meeting participants, unless someone explicitly asks for it during the meeting. These changes are usually waiting for implementation work to happen to drive more feedback.

Waiting for interop

This section contains changes that have been conceptually ACKed and are waiting for at least two implementations to fully interoperate.
They most likely don't need to be covered during the meeting, unless someone asks for updates.

Long Term Updates

This section contains long-term changes that need review, but require a substantial implementation effort.

@t-bast t-bast pinned this issue May 17, 2023
@valentinewallace
Copy link
Contributor

Would appreciate some discussion on lightning/blips#25 🙏

@Roasbeef
Copy link
Collaborator

offers + onion messaging:

  • mainly tightening up test vectors
  • questions around structured errors in onion message replies?
    • can also have error fields to also say what you didn't like, or other information
    • general now, have the fields there can make more strict in the future
  • interop question re onion message offers path finding:
    • what do ppl do rn to test?
    • do you path find, or do a direct connect?
    • eclair wanted to re-use the path finding code (for onion messaging)
      • can't just use the old stuff verbatim, eg: disabled edges don't matter, etc

smarter go to chain w.r.t dust HTLCs:

  • lnd prototyping: don't go to chain for dust HTLCs, just cancel back and keep the outgoing
    • eg: 100 sat HTLC, chain fees are 5k sats, just cancel back and keep the 100 sat HTLC
      • if they cancel back fine, if they settle fine, you just eat that 100 sat HTLC, better than 5k sats on chain
      • over time need to have a risk model, re the number of HTLCs you'll hold onto, before just closing
  • other scenario: in certain situations, should you just cancel back earlier before you confirm outgoing?
    • say that maybe it'll confirm in a few blocks, so that's fine
    • cln+lnd will cancel back the dust HTLCs or the ones that are on a pending commitment asap
    • eclair will cancel back all the HTLCs as soon as they make the decision (doesn't wait for a conf on the outgoing link)
      • has always done it, but not if there's multiple inflight commitments (unrevoked commitment)
    • deadline awareness
      • eclair RBFs aggressively when things get close to timeout
      • lnd has the deadline ramp up code, should be in 0.17
      • cln w/ the latest release is now deadline aware, they cap it, then beyond that point they give up
    • potentially relevant PR: https://fc23.ifca.ai/preproceedings/94.pdf

taproot chans + gossip:

  • LDK: fixed something brought up in the last meeting, getting ready to put up PRs to merge in for interop
  • laolu still to make post around

splicing + quiescence:

  • eclair finished, has been testing on mainnet to see how it works w/ the high fees, etc
  • they hadn't implemented quiescence though, only had a happy path where did it only w/ HTLCs
  • t-bast wanting to revive the PRs, and make sure it's up to date, as needed for normal splicing
  • PR adds an stfu message, doesn't do anything by itself, needs something else to use it
  • rusty has the base impl, also looking back into the simplified state machine, need to make sure it works with reconnect, etc

htlc channel reserve edge case:

  • t-bast ran into it during splicing
  • old thing: can get get stuck if you add an HTLC while all the funds are on the non-initiator side
    • can't also add the HTLC and also maintain the channel reserve
  • ask for cut out: allow that to go below the reserve, if needed to add that HTLC
  • splicing relation: responder swaps in some funds, so then the reserve value goes up, can also cause the channel to be stuck
  • what do other impls do?
    • scenario: as the initiator, you recv an HTLC, it dips below the reserve, what do you do?
    • lnd: will error out

LSP wanting to take fee from first payment user wants

  • so they skim off the to to pay for the service
  • LDK has a config option, related TLV change
    • MPP issue: if recv 3 HTLCs, have chan to mobile wallet, then forward to the user
    • if there's another HTLC, no more balance so can't forward it
    • Phoenix has MPP awareness at the LSP layer, so then only send it all back at once
  • phoenix does something diff:
    • if we recv an HTLC w/o that, send a new message w/ the onion in that
    • client can then aggregate, then send a message to plz open the channel
    • and they negotiate the channel at that point
    • new UI updates in Phoenix where user can control how much they're willing to pay

@carlaKC
Copy link
Contributor

carlaKC commented Jun 22, 2023

Transcript: bitcointranscripts/bitcointranscripts#258

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

No branches or pull requests

4 participants