lnd: [bug]: Unable to construct funding tx/derived public key does not match bip32 derivation info public key

Background

We are using two lnd instances (remote signer feature) and trying to open a channel:

lncli openchannel --node_key 02015cb10a74914fe6c126e591b1a4bda66662ca807e97a94cf973ffe408259f74 --local_amt 3000000 --sat_per_vbyte 1
[lncli] rpc error: code = Unknown desc = unable to construct funding tx: error signing with remoteinstance: remote signer returned invalid key spend signature: signature too short with 0 bytes

The relevant logs on the watch only instance are:

2022-10-11 20:43:02.050 [INF] SWPR: Manual fee rate input of 250 sat/kw is too low, using 253 sat/kw instead
2022-10-11 20:43:02.050 [INF] FNDG: Initiating fundingRequest(local_amt=0.03 BTC (subtract_fees=false), push_amt=0 mSAT, chain_hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f, peer=02015cb10a74914fe6c126e591b1a4bda66662ca807e97a94cf973ffe408259f74, min_confs=1)
2022-10-11 20:43:02.050 [WRN] LNWL: Web API does not have a fee rate for target=3, using the fee rate for target=2 instead
2022-10-11 20:43:02.050 [INF] CHFD: Performing funding tx coin selection using 253 sat/kw as fee rate
2022-10-11 20:43:02.065 [WRN] CHFD: Unable to find funding output for shim intent: unable to create witness script, no funding keys
2022-10-11 20:43:02.082 [INF] FNDG: Target commit tx sat/kw for pendingID(c2c839c49b0cc1ea2f1c8aa67c7e979c29f4cc3c219af6c48e50f9cf828f9699): 1275
2022-10-11 20:43:02.082 [INF] FNDG: Dust limit for pendingID(c2c839c49b0cc1ea2f1c8aa67c7e979c29f4cc3c219af6c48e50f9cf828f9699): 0.00000354 BTC
2022-10-11 20:43:02.082 [INF] FNDG: Starting funding workflow with lrttbpewpyf4w4ecprhgfih4ymhhssbnqmrcyjzbksjmwhxhc5ra63yd.onion:9736 for pending_id(c2c839c49b0cc1ea2f1c8aa67c7e979c29f4cc3c219af6c48e50f9cf828f9699), committype=tweakless
2022-10-11 20:43:03.311 [INF] FNDG: Recv'd fundingResponse for pending_id(c2c839c49b0cc1ea2f1c8aa67c7e979c29f4cc3c219af6c48e50f9cf828f9699)
2022-10-11 20:43:03.313 [ERR] FNDG: Unable to process contribution from &{{[2465652 16775426 43306903 33684062 40264394 6893417 40786203 20945668 17462417 22316]} {[59556220 3875047 1227694 23039521 940911 37078236 64646312 30028152 54437282 974180]}}: unable to construct funding tx: error signing with remoteinstance: remote signer returned invalid key spend signature: signature too short with 0 bytes
2022-10-11 20:43:03.313 [INF] FNDG: Cancelling funding reservation for node_key=02015cb10a74914fe6c126e591b1a4bda66662ca807e97a94cf973ffe408259f74, chan_id=c2c839c49b0cc1ea2f1c8aa67c7e979c29f4cc3c219af6c48e50f9cf828f9699
2022-10-11 20:43:03.313 [ERR] RPCS: unable to open channel to NodeKey(02015cb10a74914fe6c126e591b1a4bda66662ca807e97a94cf973ffe408259f74): unable to construct funding tx: error signing with remoteinstance: remote signer returned invalid key spend signature: signature too short with 0 bytes
2022-10-11 20:43:03.313 [ERR] RPCS: [/lnrpc.Lightning/OpenChannel]: unable to construct funding tx: error signing with remoteinstance: remote signer returned invalid key spend signature: signature too short with 0 bytes

If we look at the remote signer logs, the only relevant line is:

[WRN] BTWL: SignPsbt: Skipping input 0, derived public key 02464e51e1eede9721d0c97bc15cbfea5c38a6f6b820c69ac14623c971932464d3 does not match bip32 derivation info public key 02cd0efa576d888e03623a311e3192de0f2df06a88a0493ee64463c91954b3a075

The node is “identity_pubkey”: “030e7d77f4012c809e4bcd0701e7d50b3a0869679f328e325e222ae56acabc74b2” which has dozens of channels. The only recent change was the update from 0.15.1 to 0.15.2 and some channels that are being force-closed.

Environment

Both instances are using 0.15.2-beta Backend is a full bitcoin core 22 in neutrino mode (-txindex=1 -blockfilterindex=1 -peerblockfilters=1)

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 17

Most upvoted comments

Could it be that you got the err=Synchronizing blockchain from the remote peer? Or did you try both times with the same remote peer?

Both times the err=Synchronizing blockchain come while trying to open a channel to 1ML. Looking at the comments on https://github.com/lightningnetwork/lnd/blob/b0e9442ba5e5c145c9725907a18b887d16247e24/lnwire/error.go#L18 it seems that yes, it could have come from the remote peer.