bolts icon indicating copy to clipboard operation
bolts copied to clipboard

Lightning Specification Meeting 2024/10/21

Open t-bast opened this issue 1 year ago • 2 comments

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

Be careful with DST changes that affect the meeting time!

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.

  • [ ] Simplified mutual close #1205
    • decide whether we require a clean shutdown exchange (for taproot nonces)
  • [ ] Liquidity ads #878 #1153
  • [ ] Taproot #995
  • [ ] Taproot gossip #1059
  • [ ] BIP 353 in invoice_request #1180
  • [ ] Bolt 12 contacts: https://github.com/lightning/blips/pull/42
  • [ ] Splicing #1160
  • [ ] Dynamic Commitments #1117 vs Upgrade on Reestablish #868
  • [ ] Channel jamming #1071
  • [ ] Peer storage backup #881 or #1110
  • [ ] gossip_status #1186
  • [ ] Async payments #1149
  • [ ] Clarify channel_reestablish requirements #1049 or #1051

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.

  • [ ] Inbound fees https://github.com/lightning/blips/pull/18 and https://github.com/lightning/blips/pull/22

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.

  • [ ] Trampoline routing #829 and #836
    • @t-bast hasn't had time yet to update the spec with the changes decided during the summit, will hopefully be ready for the next meeting
  • [ ] Zero reserve #1140 (follow-up on #1133 to include a feature bit)
  • [ ] Attributable errors #1044
  • [ ] Don't force close until error is received after channel_reestablish #934

Long Term Updates

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

  • [ ] Simplified commitment #867
  • [ ] lnprototest (https://github.com/rustyrussell/lnprototest)

t-bast avatar Oct 16 '24 03:10 t-bast

I won't be able to join this meeting, nor the next two: my current location is very incompatible with the meeting time (3am)... I'll prepare the meeting agenda and will respond to any comment made during the meeting based on the notes summary!

t-bast avatar Oct 16 '24 03:10 t-bast

I dont’ think I will be able to join this meeting either. Though 2 topics I would like to talk about in the future:

  • adding moderation rules like what has been done for bitcoin core, see #1202
  • add a feature bit flag for lightnings nodes that wish to signal they’re opt-in to experimenting with specs fixes (see ML)

ariard avatar Oct 17 '24 23:10 ariard

rbf coop close:

  • lnd + eclair had some interop during tokyo
    • need to fix bug to ensure that both sides can pay from their own fees
    • other fix to require both sides to send shutdown first
  • laolu to check out latest commits, and do final interop push

liquidity ads:

  • t-bast wondering if the old PR can be closed in favor of the new stuff?
  • phoenix now using this version in prod

taproot chans:

  • eclair working more w/ interop
    • also figured out the simple close addition
  • figured out the addition w/ splicing
    • https://github.com/ACINQ/eclair/commit/f556839c92e77304fecf08dccc2d6a6e76034819
      • add nonces to SpliceAck and SpliceInit
    • final thing needed is to make it work w/ rbf
    • need to exchange another round of nonces to be able to spend the current splice
  • potential merge ordering?
    • simple close -> taproot -> splicing
  • mini script compat:
    • able to have bitcoin core watch it
    • but can't spend it, as the keys change each time, using the shachain, etc

taproot gossip:

  • elle made a delving post summarizing the latest greatest:
    • https://delvingbitcoin.org/t/updates-to-the-gossip-1-75-proposal-post-ln-summit-meeting/1202
    • 3 feature bit rollout strategy

BIP 353 names in invoice_request:

  • some encoding questions, but should be good to merge
  • links the domain name with the person that's fetching the invoice

BOLT 12 contacts:

  • was discussed at the summit
  • t-bast updated the bLIP based on discussion during the summit
    • few additional rounds of feedback prob expected

splicing:

  • working on interop with eclair and CLN:
    • t-bast knows the latest and greatest
    • some missing stuff around gossip, need to propagate the new scid over the network so ppl will recognize it

dyn commits:

  • not much on the spec side
  • just working on impl
  • looks like https://github.com/lightning/bolts/pull/868 can be closed

channel jamming:

  • informational update:
    • receiver setting some signal to endorse or not
    • sending uses that to decide how to endorse
    • then in the middle nodes look at both incoming and outgoing rep (needed to fix some other issues)
    • potentially can only look at outgoing reputation
      • running some simulations to see that it holds up in all the attacks, etc
  • ultimately only the malicious recipient can hold things up in the case we care about
    • what about blinded paths? seems like there isn't much you can do about that

peer storage:

  • lnd has PR, but needs to be revived
  • CLN working on revising
    • rn just a static back up thing
    • but tweaking it to be able to get to mutual close, or even be able bluff and then keep going
    • could be a lot of bandwidth if done on every commit, but line may be quiet most of the time

gossip states:

  • CLN has it implemented in an experimental branch
  • seemed a bit nicer than asking for all the gossip
  • might end up dropping it though

async payments:

  • t-bast preso on making it work with trampoline: https://github.com/t-bast/trampoline-blinded-paths/blob/master/Trampoline%20with%20blinded%20paths.pdf
  • restarting getting things working+merged now, stuff needs to be rebased, etc, etc
  • LDK also working on arik's trampoline integration

Roasbeef avatar Oct 21 '24 19:10 Roasbeef

bolt 12 payer proofs:

  • rusty starting to work on this
  • provide a key when requesting an invoice, so then they commit to that in the invoice
  • can provide a preimage to show paid, but then also a sig, etc
  • so will be a set format for that:
    • bolt12 encoding is a merkle tree, so can elide stuff that you don't want to reveal
  • will be an lnp bech32 string, will give you all the info needed to be able to validate the signature
  • spec looking ok, doing the spec and impl together

Roasbeef avatar Oct 21 '24 19:10 Roasbeef

Thanks for the summary!

t-bast avatar Oct 22 '24 01:10 t-bast

https://github.com/lightning/bolts/pull/1207

I can attend next lightning meetings in the coming weeks, if needed to clarify my intent on what I consider satisfying moderation rules concerning the public communication channels of the development of the Lightning protocol.

ariard avatar Nov 02 '24 02:11 ariard