Skip to content

Add strict ordering of commitment_signed and tx_signatures#9

Open
ddustin wants to merge 11 commits intorustyrussell:guilt/splicefrom
ddustin:patch-5
Open

Add strict ordering of commitment_signed and tx_signatures#9
ddustin wants to merge 11 commits intorustyrussell:guilt/splicefrom
ddustin:patch-5

Conversation

@ddustin
Copy link
Copy Markdown
Collaborator

@ddustin ddustin commented Aug 16, 2022

This is important for preventing fund griefing along long chains of combined splices as well as creating clean tx_abort logic.

In line w/convo with @niftynei

See comment here: https://github.com/lightning/bolts/pull/863/files#r897441047

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This is especially useful for protocols such as splicing; for
simplified commitment transactions, there is already an implied
initiator at each point, so having the negotiation at splicing
time would be redundant.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
… channel.

The initiator (in the case of simultaneity, the higher feepayer) pays
for the input and output, and sets the feerate.

We freeze the channel while this construction is going on: it should
be quick.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>


Header from folded patch 'fixup3.patch':

fixup! splicing: use the generic negotiation mechanism to splice in/out of a channel.

- Remove 1 per minute restriction: 25% growth limits us a lot (@niftynei)
- Nomenclature: initiator, splice transaction, channel funding output.
- Weaken reserve check to only cover iff they extract funds.
This is much simpler.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>


Header from folded patch 'fixup2.patch':

fixup! splice_locked: terminate this splice once one reaches agreed depths.

Use 6; we need to start announcing then anyway, so keep it simple.
This was Matt Corallo's idea; a simple flag means you should keep
using the channel as it's being replaced.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>


Header from folded patch 'fixup.patch':

fixup! gossip: make sure to send new announcement_signatures post-splice.

It's called `splice_locked` and it's always sent 6 blocks.
…etting fees.

Any changes must be valid for all possible commitment transactions.  A minor
change, but for implementations which quote the spec and check those quotes
this will highlight the changes needed.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This is important for preventing fund griefing along long chains of combined splices as well as creating clean `tx_abort` logic.

In line w/convo with @niftynei

See comment here: https://github.com/lightning/bolts/pull/863/files#r897441047
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

Successfully merging this pull request may close these issues.

2 participants