From 3508e4e85d26240ae7492c3d2e02770cdc360fe9 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Wed, 18 Sep 2019 10:03:03 +0930 Subject: [PATCH] BOLT 2: `option_shutdown_anysegwit` In bitcoin 0.19.0, standardness rules are going to be relaxed to allow future witness versions. Once this is widely deployed, it will be safe to accept them, smoothing use of future segwit versions. See: https://github.com/bitcoin/bitcoin/pull/15846 Signed-off-by: Rusty Russell --- .aspell.en.pws | 1 + 02-peer-protocol.md | 5 ++++- 09-features.md | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.aspell.en.pws b/.aspell.en.pws index c9e3a0206..2c0d09fdf 100644 --- a/.aspell.en.pws +++ b/.aspell.en.pws @@ -386,3 +386,4 @@ csv CHECKSIGVERIFY IFDUP sats +anysegwit diff --git a/02-peer-protocol.md b/02-peer-protocol.md index 974e51e9a..ffea7bcb7 100644 --- a/02-peer-protocol.md +++ b/02-peer-protocol.md @@ -500,7 +500,10 @@ A sending node: (pay to pubkey hash), OR 2. `OP_HASH160` `20` 20-bytes `OP_EQUAL` (pay to script hash), OR 3. `OP_0` `20` 20-bytes (version 0 pay to witness pubkey hash), OR - 4. `OP_0` `32` 32-bytes (version 0 pay to witness script hash) + 4. `OP_0` `32` 32-bytes (version 0 pay to witness script hash), OR + 5. if (and only if) `option_shutdown_anysegwit` is negotiated: + * `OP_1` through `OP_16` inclusive, followed by a single push of 2 to 40 bytes + (witness program versions 1 through 16) A receiving node: - if it hasn't received a `funding_signed` (if it is a funder) or a `funding_created` (if it is a fundee): diff --git a/09-features.md b/09-features.md index ea37b8b5e..b508bac70 100644 --- a/09-features.md +++ b/09-features.md @@ -40,6 +40,7 @@ The Context column decodes as follows: | 18/19 | `option_support_large_channel` | Can create large channels | IN | | [BOLT #2](02-peer-protocol.md#the-open_channel-message) | | 20/21 | `option_anchor_outputs` | Anchor outputs | IN | `option_static_remotekey` | [BOLT #3](03-transactions.md) | | 22/23 | `option_anchors_zero_fee_htlc_tx` | Anchor commitment type with zero fee HTLC transactions | IN | | [BOLT #3][bolt03-htlc-tx], [lightning-dev][ml-sighash-single-harmful]| +| 26/27 | `option_shutdown_anysegwit` | Future segwit versions allowed in `shutdown` | IN | | [BOLT #2][bolt02-shutdown] | ## Requirements @@ -82,6 +83,7 @@ This work is licensed under a [Creative Commons Attribution 4.0 International Li [bolt02-retransmit]: 02-peer-protocol.md#message-retransmission [bolt02-open]: 02-peer-protocol.md#the-open_channel-message [bolt03-htlc-tx]: 03-transactions.md#htlc-timeout-and-htlc-success-transactions +[bolt02-shutdown]: 02-peer-protocol.md#closing-initiation-shutdown [bolt04]: 04-onion-routing.md [bolt07-sync]: 07-routing-gossip.md#initial-sync [bolt07-query]: 07-routing-gossip.md#query-messages