Skip to content
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

Bad signature on commitment after update_fee? #3253

Closed
rustyrussell opened this issue Nov 11, 2019 · 2 comments
Closed

Bad signature on commitment after update_fee? #3253

rustyrussell opened this issue Nov 11, 2019 · 2 comments

Comments

@rustyrussell
Copy link
Contributor

Issue and Steps to Reproduce

This particular LND instance seems to still use the old feerate for calculating the tx, even though we send UPDATE_FEE and then COMMITMENT_SIGNED. It's as if the peer has ignored the UPDATE_FEE: they've incremented the locktime correctly, but are using the old feerate?

Initial commitment tx (sent from us):
020000000153c163041bf8c6024b9a410b89dd1064e905a3f4f32f10170ab1c1f0d46cd2770000000000dc1013800170410f0000000000160014f67d879eaca8be644ab416adfaa47f169ecfcbf1aa0f1320

Commit tx after fee incr:
020000000153c163041bf8c6024b9a410b89dd1064e905a3f4f32f10170ab1c1f0d46cd2770000000000dc10138001242c0f0000000000160014f67d879eaca8be644ab416adfaa47f169ecfcbf1ab0f1320

The commit tx they checked signature against:
020000000153c163041bf8c6024b9a410b89dd1064e905a3f4f32f10170ab1c1f0d46cd2770000000000dc1013800170410f0000000000160014f67d879eaca8be644ab416adfaa47f169ecfcbf1ab0f1320

DEBUG lightning_connectd(21): Connected out for 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3
DEBUG lightning_connectd(21): Connect OUT to 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3
DEBUG lightningd(7): lightning_openingd-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: pid 25214, msgfd 41
DEBUG lightningd(7): lightning_openingd-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Handed peer, entering loop
DEBUG lightningd(7): lightning_openingd-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_out WIRE_GOSSIP_TIMESTAMP_FILTER
DEBUG lightningd(7): lightning_openingd-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_out WIRE_GOSSIP_TIMESTAMP_FILTER
DEBUG lightningd(7): lightning_openingd-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_out WIRE_GOSSIP_TIMESTAMP_FILTER
DEBUG lightningd(7): lightning_openingd-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_out WIRE_OPEN_CHANNEL
DEBUG lightningd(7): lightning_openingd-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_in WIRE_ACCEPT_CHANNEL
DEBUG lightningd(7): lightning_openingd-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: signature 3044022028a50ca6317dbc68442b8cb005c2c9af2baf9649796842e481e26ab30514aadb02201796fe6de1d6551d38dc3764bb3f9e6f15ff8816feed7f7b396bc0427955b0a401 on tx 020000000153c163041bf8c6024b9a410b89dd1064e905a3f4f32f10170ab1c1f0d46cd2770000000000dc1013800170410f0000000000160014f67d879eaca8be644ab416adfaa47f169ecfcbf1aa0f1320 using key 025046af88849c9e754b5256bfa010c1135dc1203f6b03c0d67e061e98847b0d4b
DEBUG lightningd(7): lightning_openingd-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_out WIRE_FUNDING_CREATED
DEBUG lightningd(7): lightning_openingd-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_in WIRE_FUNDING_SIGNED
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: pid 26854, msgfd 46
DEBUG lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Waiting for funding confirmations
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: init LOCAL: remote_per_commit = 02ba6271617b18859d793845d55af5da72694b6eda869a5a707db187983888445b, old_remote_per_commit = 02ba6271617b18859d793845d55af5da72694b6eda869a5a707db187983888445b next_idx_local = 1 next_idx_remote = 1 revocations_received = 0 feerates 288/288 (range 253-78260)
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: option_static_remotekey = 1
DEBUG lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Got depth change 0->1 for 77d26cd4f0c1b10a17102ff3f4a305e96410dd890b419a4b02c6f81b0463c153
DEBUG lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Funding tx 77d26cd4f0c1b10a17102ff3f4a305e96410dd890b419a4b02c6f81b0463c153 depth 1 of 3
DEBUG lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Got depth change 1->2 for 77d26cd4f0c1b10a17102ff3f4a305e96410dd890b419a4b02c6f81b0463c153
DEBUG lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Funding tx 77d26cd4f0c1b10a17102ff3f4a305e96410dd890b419a4b02c6f81b0463c153 depth 2 of 3
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_in WIRE_FUNDING_LOCKED
DEBUG lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Got funding_locked
DEBUG lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Got depth change 2->3 for 77d26cd4f0c1b10a17102ff3f4a305e96410dd890b419a4b02c6f81b0463c153
DEBUG lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Funding tx 77d26cd4f0c1b10a17102ff3f4a305e96410dd890b419a4b02c6f81b0463c153 depth 3 of 3
INFO lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: State changed from CHANNELD_AWAITING_LOCKIN to CHANNELD_NORMAL
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: funding_locked: sending commit index 1: 02fc5bb89d2a73356a972dfb5ea618280205c6b0593a5bfe09bf0e7d387cc698a0
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_out WIRE_FUNDING_LOCKED
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: We need 15660sat at feerate 7819 for 0 untrimmed htlcs: we have 1000000000msat/1000000000msat
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Setting REMOTE feerate to 7819
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_out WIRE_UPDATE_FEE
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Trying commit
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Creating commit_sig signature 1 304502210087d1a310b10b20acbaa8bf686dd4b920271cbe1d2852a71435bef2f315d1e1ca022024a0b674085ed4957c20e49484786e1b9cfe03381e0484280ee10459a604355901 for tx 020000000153c163041bf8c6024b9a410b89dd1064e905a3f4f32f10170ab1c1f0d46cd2770000000000dc10138001242c0f0000000000160014f67d879eaca8be644ab416adfaa47f169ecfcbf1ab0f1320 wscript 5221025046af88849c9e754b5256bfa010c1135dc1203f6b03c0d67e061e98847b0d4b2103493da3508fab1a0de9f83a3180d60adaeb315c8af39bea9a6c15f7dc7bd9c0ce52ae key 025046af88849c9e754b5256bfa010c1135dc1203f6b03c0d67e061e98847b0d4b
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Telling master we're about to commit...
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Sending master 1020
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: ... , awaiting 1120
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Got it!
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Sending commit_sig with 0 htlc sigs
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_out WIRE_COMMITMENT_SIGNED
DEBUG lightningd(7): lightning_channeld-0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: peer_in WIRE_ERROR
UNUSUAL lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: Peer permanent failure in CHANNELD_NORMAL: lightning_channeld: received ERROR channel 53c163041bf8c6024b9a410b89dd1064e905a3f4f32f10170ab1c1f0d46cd277: rejected commitment: commit_height=1, invalid_commit_sig=304502210087d1a310b10b20acbaa8bf686dd4b920271cbe1d2852a71435bef2f315d1e1ca022024a0b674085ed4957c20e49484786e1b9cfe03381e0484280ee10459a6043559, commit_tx=020000000153c163041bf8c6024b9a410b89dd1064e905a3f4f32f10170ab1c1f0d46cd2770000000000dc1013800170410f0000000000160014f67d879eaca8be644ab416adfaa47f169ecfcbf1ab0f1320, sig_hash=6bdb20c70f2de2c0e142bcefe285f952cd8faedbce39724aeee62275d67cbf44
INFO lightningd(7): 0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3 chan #15462: State changed from CHANNELD_NORMAL to AWAITING_UNILATERAL

getinfo output

lightningd v0.7.3

@darosior
Copy link
Collaborator

darosior commented Nov 11, 2019

Similar (if remote is LND): #2661 (comment) (title misleading).

@rustyrussell
Copy link
Contributor Author

This was fixed in #3329 . Zooming out in the logs revealed that multiple reconnects and two update_fee in flight caused the issue: lnd is sending the right thing here, c-lightning was wrong.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants