1
0
mirror of https://github.com/lightning/bolts.git synced 2024-11-19 10:00:04 +01:00

BOLT 2: specify that you can't send funding_locked until you've checked the tx.

We might argue this does not apply if you set `minimum_depth` to 0, since
you're assuming trust (TurboChannels-style), but it needs to be specified.

See: CVE-2019-12998 / CVE-2019-12999 / CVE-2019-13000
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2019-09-29 11:53:38 +09:30
parent 3154157459
commit 78bc516f96

View File

@ -401,6 +401,8 @@ This message indicates that the funding transaction has reached the `minimum_dep
#### Requirements #### Requirements
The sender MUST: The sender MUST:
- NOT send `funding_locked` unless outpoint of given by `funding_txid` and
`funding_output_index` in the `funding_created` message pays exactly `funding_satoshis` to the scriptpubkey specified in [BOLT #3](03-transactions.md#funding-transaction-output).
- wait until the funding transaction has reached - wait until the funding transaction has reached
`minimum_depth` before sending this message. `minimum_depth` before sending this message.
- set `next_per_commitment_point` to the - set `next_per_commitment_point` to the
@ -409,7 +411,7 @@ transaction, derived as specified in
[BOLT #3](03-transactions.md#per-commitment-secret-requirements). [BOLT #3](03-transactions.md#per-commitment-secret-requirements).
A non-funding node (fundee): A non-funding node (fundee):
- SHOULD forget the channel if it does not see the - SHOULD forget the channel if it does not see the correct
funding transaction after a reasonable timeout. funding transaction after a reasonable timeout.
From the point of waiting for `funding_locked` onward, either node MAY From the point of waiting for `funding_locked` onward, either node MAY