-
Notifications
You must be signed in to change notification settings - Fork 484
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
interactive-tx: Add dual-funding flow, using the interactive tx protocol (feature 28/29) #851
Commits on Nov 2, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 998b789 - Browse repository at this point
Copy the full SHA 998b789View commit details -
interactive-tx: Add dual-funding flow, using the interactive tx protocol
This commit adds the interactive transaction construction protcol, as well as the first practical example of using it, v2 of channel establishment. Note that for v2 we also update the channel_id, which now uses the hash of the revocation_basepoints. We move away from using the funding transaction id, as the introduction of RBF* makes it such that a single channel may have many funding transaction id's over the course of its lifetime. *Later, also splicing
Configuration menu - View commit details
-
Copy full SHA for 7f57338 - Browse repository at this point
Copy the full SHA 7f57338View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ce7491 - Browse repository at this point
Copy the full SHA 6ce7491View commit details -
Configuration menu - View commit details
-
Copy full SHA for 11b8451 - Browse repository at this point
Copy the full SHA 11b8451View commit details -
Use signed amounts in RBF messages
While dual funding only needs unsigned funding amounts, other protocols that leverage interactive-tx may use signed funding amounts, for example to take funds out of an existing channel (splice-out). It is thus more future-proof to use signed amounts in `tx_init_rbf` and `tx_ack_rbf`.
Configuration menu - View commit details
-
Copy full SHA for a810c67 - Browse repository at this point
Copy the full SHA a810c67View commit details -
peer-protocol: send first+second commit point in openchanv2 + accept
Repeat the second commit point in the initial openchannel2 + acceptchannel2 messages. Suggested-By: @pm47
Configuration menu - View commit details
-
Copy full SHA for 0749591 - Browse repository at this point
Copy the full SHA 0749591View commit details -
v2 opens: proposal to get rid of the minimum estimated fee
Prior versions of the v2 dual-funding protocol assumed a 'minimum fee' payment for any witness stack of any input, as a way to simplify fee checks. The suggested min feerate didn't make sense for taproot spend paths etc; instead we remove this check entirely.
Configuration menu - View commit details
-
Copy full SHA for 4caa100 - Browse repository at this point
Copy the full SHA 4caa100View commit details -
Add
require_confirmed_inputs
TLVThis lets any side of the protocol require the other side to use confirmed inputs, to avoid paying the fees of a low feerate unconfirmed ancestor.
Configuration menu - View commit details
-
Copy full SHA for c2ac8a7 - Browse repository at this point
Copy the full SHA c2ac8a7View commit details -
Add section about liquidity griefing
This issue is non-trivial and worth mentioning, otherwise implementations may forget to handle this which would result in an easy way of attacking node's on-chain liquidity, creating a large opportunity cost.
Configuration menu - View commit details
-
Copy full SHA for c5f3c75 - Browse repository at this point
Copy the full SHA c5f3c75View commit details -
Store state when sending
commitment_signed
If we only store state when sending `tx_signatures`, there are cases where we cannot reconcile states if a disconnection occurs during the signing steps: one side will have sent `tx_signatures` and thus must wait for the transaction to be spent or double-spent, while the other side has already forgotten that channel because they haven't sent `tx_signatures`. This is fixed by storing state when sending `commitment_signed`, and adding a `next_funding_txid` field to `channel_reestablish` to ask our peer to retransmit signatures that we haven't received.
Configuration menu - View commit details
-
Copy full SHA for 36c04c8 - Browse repository at this point
Copy the full SHA 36c04c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for c33cdc8 - Browse repository at this point
Copy the full SHA c33cdc8View commit details
Commits on Nov 10, 2023
-
interactive-tx: highlight MUST of serial_id sorting
Suggested-By: @dunxen
Configuration menu - View commit details
-
Copy full SHA for 9f85945 - Browse repository at this point
Copy the full SHA 9f85945View commit details -
Bolt 2: Make interactive-tx explicitly use SIGHASH_ALL
This was previously assumed but adding it to the spec makes it explicit, should we ever want to change it in the future. Suggested-By: @morehouse
Configuration menu - View commit details
-
Copy full SHA for d705522 - Browse repository at this point
Copy the full SHA d705522View commit details
Commits on Nov 20, 2023
-
tx-abort: port over meaning of the
data
field fromwarning
`tx_abort`'s structure comes from the `warning`/`error` messages, but we failed to port over the rationale/rules for the `data` field. Suggested-By: @morehouse
Configuration menu - View commit details
-
Copy full SHA for e5b2677 - Browse repository at this point
Copy the full SHA e5b2677View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5edaaa6 - Browse repository at this point
Copy the full SHA 5edaaa6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 820852e - Browse repository at this point
Copy the full SHA 820852eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e73ce64 - Browse repository at this point
Copy the full SHA e73ce64View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5185bd0 - Browse repository at this point
Copy the full SHA 5185bd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for afc4c72 - Browse repository at this point
Copy the full SHA afc4c72View commit details -
dual-fund, verbiage: clarify situation for closing a underfunded channel
Moved up some rationale from the Rationale section and added a bit of clarification to when you'd want to close/cancel an open. Reported-By: @morehouse
Configuration menu - View commit details
-
Copy full SHA for 024df99 - Browse repository at this point
Copy the full SHA 024df99View commit details
Commits on Dec 13, 2023
-
dual-fund: add
require_confirmed_inputs
to RBF messagesMake `require_confirmed_inputs` explicit for RBF regnegotiation. Requested-By: @t-bast
Configuration menu - View commit details
-
Copy full SHA for 27ffef4 - Browse repository at this point
Copy the full SHA 27ffef4View commit details