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 2022/08/29 #1019

Closed
5 of 25 tasks
t-bast opened this issue Aug 29, 2022 · 15 comments
Closed
5 of 25 tasks

Lightning Specification Meeting 2022/08/29 #1019

t-bast opened this issue Aug 29, 2022 · 15 comments

Comments

@t-bast
Copy link
Collaborator

t-bast commented Aug 29, 2022

The meeting will take place on Monday 2022/08/29 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

Pull Request Review

Waiting for interop

Long Term Updates

Backlog

The following are topics that we should discuss at some point, so if we have time to discuss them great, otherwise they slip to the next meeting.

@t-bast t-bast pinned this issue Aug 29, 2022
@ariard
Copy link

ariard commented Aug 29, 2022

If you can extend the "Upfront payments / DoS protection" entry with : https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-August/003673.html. Happy to collect more feedback on jamming research.

@vincenzopalazzo
Copy link
Contributor

Maybe if there is time, we should discuss if this still have meaning or not anymore #972

@t-bast
Copy link
Collaborator Author

t-bast commented Aug 29, 2022

#972 is actually just a clarification PR, isn't it? I ack-ed it so I'm ok with it as-is, not sure about what others feel.

@vincenzopalazzo
Copy link
Contributor

is actually just a clarification PR, isn't it? I ack-ed it so I'm ok with it as-is, not sure about what others feel.

Yeah it is after the rabase, the PR goal was the point to assert on the message that we must not receive, I do not know, maybe we should add a new entry?

Just point out this because in the next coming week I have some time and I can allocate it to make some PR to interop and merge this simple PR

@t-bast
Copy link
Collaborator Author

t-bast commented Aug 29, 2022

I don't understand what interop would be needed, this PR just clarifies in the ASCII diagram that after shutdown no new htlcs must be added, but that's already the behavior of all implementations, it doesn't require any implementation change so no interop tests are necessary?

@t-bast
Copy link
Collaborator Author

t-bast commented Aug 29, 2022

Also, there is already a requirement making it explicit:

- MUST NOT send an `update_add_htlc` after a `shutdown`.

So this PR doesn't bring much, except in the diagram, so we can either just merge it if others agree it's useful, or drop it, but no other work is needed?

@Roasbeef
Copy link
Collaborator

This old issue has received some new activity: #835

There's also a proposed bLIP (since some didn't agree that it was even a problem the way it was formulated?): lightning/blips#18

@vincenzopalazzo
Copy link
Contributor

I don't understand what interop would be needed, this PR just clarifies in the ASCII diagram that after shutdown no new htlcs must be added, but that's already the behavior of all implementations, it doesn't require any implementation change so no interop tests are necessary?

I just asked because I did understand eater because the PR is in the Waiting for interop list, for me we can close it there is no value that is added!

@t-bast
Copy link
Collaborator Author

t-bast commented Aug 29, 2022

Right, the part that is waiting for interop is only in the title: "handle update_fee during shutdown", because we realized that implementations don't handle it that well...it's probably worth closing the PR and opening an issue to investigate implementation behavior around update_fee during shutdown?

@vincenzopalazzo
Copy link
Contributor

.it's probably worth closing the PR and opening an issue to investigate implementation behavior around update_fee during shutdown?

Was discussed in some meetings that the update fee should be accepted during the resolution time of the htlc because this time can be long.

I think @TheBlueMatt pointed out this problem, and my original proposal was to ban only update_add_htlc and accept the others one.

This change can be done with an entry inside this PR that make more sense to me

@niftynei
Copy link
Collaborator

Super basic prototype of costs of anchors outputs/transactions (by weight) https://docs.google.com/spreadsheets/d/1mg2paz3iX97FiUwu1_CrmoJJnEZddIlfe2MHO9bjdiM/edit?usp=sharing

@ariard
Copy link

ariard commented Aug 29, 2022

Super basic prototype of costs of anchors outputs/transactions (by weight) https://docs.google.com/spreadsheets/d/1mg2paz3iX97FiUwu1_CrmoJJnEZddIlfe2MHO9bjdiM/edit?usp=sharing

What are you aiming to demonstrate ? The most-optimal efficient strategy of broadcast/HTLC aggregation, you might have to care about different HTLC timelocks, not equivalent safety-wise.

@t-bast
Copy link
Collaborator Author

t-bast commented Aug 29, 2022

Was discussed in some meetings that the update fee should be accepted during the resolution time of the htlc because this time can be long.

Right, I agree, but I think we all realized that our implementation probably didn't handle this properly...but let's close #972 since it's now unrelated, and we can deal with that elsewhere (it's been years and we're still fine 😄)

@Roasbeef
Copy link
Collaborator

Roasbeef commented Aug 29, 2022

Channel jamming research stuff:

  • Sort of SoK over the channel jamming research and solution space
  • Initial take aways:
    • Easy first step to implement HTLC bucketing (allocate N% for HTLCs of value X)
  • Future stuff:
    • Interaction between long CTLV value HTLCs and some of the channel jamming mitigations?
      • Prior ideas also related to the theta to scale the fees based on the CLTV values
  • Interaction with bi-di fees and the force close state?
    • If jamming a huge channel for a long period of item, then the damage the other peer takes is "larger" than your commitment?

Inbound fees:

  • Talked about in the past, people somewhat unclear on the problem statement
  • Social concerns re inbound fees (?):
    • Making a discount on inbound fees isn't actually your "right"?
    • Given that you control the outbound and not the inbound?
    • Example that this isn't all about zero fees: Ability to set inbound and outbound fees #835 (comment)
      • Goal to make it easier to accept channels, don't have to worry as much about imbalancing?
  • Joost has new version that's actually a discount:
    • Idea is that it can be backwards compatible (it's a discount, so you can pay more)
  • Newer idea re a peer level thing:
    • Gossip changes, but you as a node give a discount to your peer
    • You give a discount to the peer, then they're also able to lower the outbound fee themselves
    • Does this actually give sender's the incentive?
      • Seems to now be a second-order effect
    • This might be easier to deploy since it's a p2p thing and a channel_update addition is a larger thing?
    • Does this actually help senders?
      • It can be kinda lossy since the discount may be gone very quickly assuming greedy optimizing senders?
    • Meta discussion:
      • How can people experiment with something like this in the wild?

Dual funding:

  • Fully implemented in eclair now
  • Question on if it needs anchors or not:
    • Feel like doesn't need a dependnacy, but liquidity as does?
    • We're two versions: the OG, and the zero fee variant. CLN doesn't support the zero fee variant
  • Seems independent, dual funding on a different level
  • Call now for people to look at the dual funding PR, also related to the splicing side of things

Taproot:

  • Partial sigs are 32 bytes, we have a 64 byte field, options:
    • new field
    • use old field: pack in or zero bytes
    • commit_sig2
  • anchor script:
    • which key do we use?
    • the internal keys are only revealed when you force close
    • maybe it's ok, since the internal keys are revealed once a sweep happens
  • bip 86 for musig2?
  • do we want local+remote nonce to always have the same type?

@niftynei
Copy link
Collaborator

Super basic prototype of costs of anchors outputs/transactions (by weight) https://docs.google.com/spreadsheets/d/1mg2paz3iX97FiUwu1_CrmoJJnEZddIlfe2MHO9bjdiM/edit?usp=sharing

What are you aiming to demonstrate ? The most-optimal efficient strategy of broadcast/HTLC aggregation, you might have to care about different HTLC timelocks, not equivalent safety-wise.

On-chain weight differences in anchors vs non-anchors. It's an accounting of total bytes-on-chain cost of various strategies, which I was personally curious about. I get that there's different tradeoffs in terms of security properties, thought it'd be interesting to see the total on-chain cost of those.

@t-bast t-bast unpinned this issue Sep 8, 2022
@t-bast t-bast closed this as completed Sep 8, 2022
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

5 participants