diff --git a/02-peer-protocol.md b/02-peer-protocol.md index 2e6d684f6..2b6f2d115 100644 --- a/02-peer-protocol.md +++ b/02-peer-protocol.md @@ -742,7 +742,7 @@ affect the channel operation). The currently defined basic types are: - `option_static_remotekey` (bit 12) - - `option_anchors_zero_fee_htlc_tx` and `option_static_remotekey` (bits 22 and 12) + - `option_anchors` and `option_static_remotekey` (bits 22 and 12) Each basic type has the following variations allowed: - `option_scid_alias` (bit 46) @@ -968,8 +968,8 @@ Both peers: - if `channel_type` was present in both `open_channel` and `accept_channel`: - This is the `channel_type` (they must be equal, required above) - otherwise: - - if `option_anchors_zero_fee_htlc_tx` was negotiated: - - the `channel_type` is `option_anchors_zero_fee_htlc_tx` and `option_static_remotekey` (bits 22 and 12) + - if `option_anchors` was negotiated: + - the `channel_type` is `option_anchors` and `option_static_remotekey` (bits 22 and 12) - otherwise: - the `channel_type` is `option_static_remotekey` (bit 12) - MUST use that `channel_type` for all commitment transactions. @@ -989,15 +989,15 @@ The recipient: #### Rationale We decide on -`option_anchors_zero_fee_htlc_tx` at this point when we first have to generate +`option_anchors` at this point when we first have to generate the commitment transaction. The feature bits that were communicated in the `init` message exchange for the current connection determine the channel commitment format for the total lifetime of the channel. Even if a later reconnection does not negotiate this parameter, this channel will continue to use `option_static_remotekey` or -`option_anchors_zero_fee_htlc_tx`; we don't support "downgrading". +`option_anchors`; we don't support "downgrading". -`option_anchors_zero_fee_htlc_tx` is considered superior to +`option_anchors` is considered superior to `option_static_remotekey`, and the superior one is favored if more than one is negotiated. diff --git a/03-transactions.md b/03-transactions.md index 7ac59485a..e7384bf46 100644 --- a/03-transactions.md +++ b/03-transactions.md @@ -427,13 +427,13 @@ Note the reference to the "base fee" for a commitment transaction in the require #### Requirements The fee for an HTLC-timeout transaction: - - If `option_anchors_zero_fee_htlc_tx` applies: + - If `option_anchors` applies: 1. MUST be 0. - Otherwise, MUST be calculated to match: 1. Multiply `feerate_per_kw` by 663 and divide by 1000 (rounding down). The fee for an HTLC-success transaction: - - If `option_anchors_zero_fee_htlc_tx` applies: + - If `option_anchors` applies: 1. MUST be 0. - Otherwise, MUST be calculated to match: 1. Multiply `feerate_per_kw` by 703 and divide by 1000 (rounding down). @@ -2172,7 +2172,7 @@ before subtraction of: ] ``` -# Appendix G: Commitment and HTLC Transaction Test Vectors (anchors_zero_fee_htlc_tx) +# Appendix G: Commitment and HTLC Transaction Test Vectors (anchors_zero) The anchor test vectors are based on the test cases as defined in appendix C. Note that in appendix C, `to_local_msat` and `to_remote_msat` are balances diff --git a/05-onchain.md b/05-onchain.md index 62e476ab3..1ba67a146 100644 --- a/05-onchain.md +++ b/05-onchain.md @@ -597,7 +597,7 @@ HTLC signatures received from the peer, as this allows HTLC transactions to be c other transactions. The local signature MUST use `SIGHASH_ALL`, otherwise anyone can attach additional inputs and outputs to the tx. -If `option_anchors_zero_fee_htlc_tx` applies, then the HTLC-timeout and +If `option_anchors` applies, then the HTLC-timeout and HTLC-success transactions are signed with the input and output having the same value. This means they have a zero fee and MUST be combined with other inputs to arrive at a reasonable fee. @@ -606,7 +606,7 @@ to arrive at a reasonable fee. A node which broadcasts an HTLC-success or HTLC-timeout transaction for a commitment transaction: - 1. if `option_anchors_zero_fee_htlc_tx` applies: + 1. if `option_anchors` applies: - MUST combine it with inputs contributing sufficient fee to ensure timely inclusion in a block. - MAY combine it with other transactions. diff --git a/09-features.md b/09-features.md index 528fa99e2..755fdf662 100644 --- a/09-features.md +++ b/09-features.md @@ -36,14 +36,14 @@ The Context column decodes as follows: | 3 | `initial_routing_sync` | Sending node needs a complete routing information dump | I | | [BOLT #7][bolt07-sync] | | 4/5 | `option_upfront_shutdown_script` | Commits to a shutdown scriptpubkey when opening channel | IN | | [BOLT #2][bolt02-open] | | 6/7 | `gossip_queries` | More sophisticated gossip control | IN | | [BOLT #7][bolt07-query] | -| 8/9 | `var_onion_optin` | Requires/supports variable-length routing onion payloads | IN9 | | [Routing Onion Specification][bolt04] | +| 8/9 | `var_onion_optin` | ASSUMED | | | | | 10/11 | `gossip_queries_ex` | Gossip queries can include additional information | IN | `gossip_queries` | [BOLT #7][bolt07-query] | | 12/13 | `option_static_remotekey` | ASSUMED | | | | -| 14/15 | `payment_secret` | Node supports `payment_secret` field | IN9 | `var_onion_optin` | [Routing Onion Specification][bolt04] | +| 14/15 | `payment_secret` | Node supports `payment_secret` field | IN9 | | [Routing Onion Specification][bolt04] | | 16/17 | `basic_mpp` | Node can receive basic multi-part payments | IN9 | `payment_secret` | [BOLT #4][bolt04-mpp] | | 18/19 | `option_support_large_channel` | Can create large channels | IN | | [BOLT #2](02-peer-protocol.md#the-open_channel-message) | | 22/23 | `option_anchors` | Anchor commitment type with zero fee HTLC transactions | IN | | [BOLT #3][bolt03-htlc-tx], [lightning-dev][ml-sighash-single-harmful] | -| 24/25 | `option_route_blinding` | Node supports blinded paths | IN9 | `var_onion_optin` | [BOLT #4](bolt04-route-blinding) | +| 24/25 | `option_route_blinding` | Node supports blinded paths | IN9 | | [BOLT #4](bolt04-route-blinding) | | 26/27 | `option_shutdown_anysegwit` | Future segwit versions allowed in `shutdown` | IN | | [BOLT #2][bolt02-shutdown] | | 28/29 | `option_dual_fund` | Use v2 of channel open, enables dual funding | IN | | [BOLT #2](02-peer-protocol.md) | | 38/39 | `option_onion_messages` | Can forward onion messages | IN | | [BOLT #7](04-onion-routing.md#onion-messages) |