question-mark

Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Compatibility issue due to #738 - bad signature for announcement ... ChannelUpdates

See original GitHub issue

Issue Description

When an pre #738 node connects to a newer node and opens a channel the channel opens but when 1st channel update is sent from new-> old version all channels are closed due to invalid sig error. New versions sends this: 00:24:59.612 DEBUG fr.acinq.eclair.Diagnostics - OUT msg=ChannelUpdate(3045022100fa18a60f87a6e9553c66e902bb4ea7dffd345746c0cf982d49baea59d3a6a3b9022034c00ba7cd3a2d37e72dab8e5e38d84a6260617b0ebbff87e59d785b8750941101,6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000,86243000a5c0000,1541808455, 1,0,144,1,2,2,Some(1000000000))

Old version sees this: 00:24:59.613 WARN akka://eclair-node/user/$g/router fr.acinq.eclair.router.Router - bad signature for announcement shortChannelId=86243000a5c0000 ChannelUpdate(3045022100fa18a60f87a6e9553c66e902bb4ea7dffd345746c0cf982d49baea59d3a6a3b9022034c00ba7cd3a2d37e72dab8e5e38d84a6260617b0ebbff87e59d785b8750941101,6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000,86243000a5c0000,1541808455,0100, 144,1,2,2)

and fails this and all other channels.

I checked and the new version is correct in thinking there is a valid sig.

  test("channel update announcement check") {
    val ann = ChannelUpdate("3045022100fa18a60f87a6e9553c66e902bb4ea7dffd345746c0cf982d49baea59d3a6a3b9022034c00ba7cd3a2d37e72dab8e5e38d84a6260617b0ebbff87e59d785b8750941101",
        "6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000",ShortChannelId("86243000a5c0000"),1541808455,    1,0,144,1,2,2,Some(1000000000))
    
    assert(checkSig(ann, PublicKey("02d11c4c4f986ff547288d873f6a33758aab744927355b01272ee560a3ba44d01e")))
    //assert(checkSig(ann, PublicKey("03c436af41160a355fc1ed230a64f6a64bcbd2ae50f12171d1318f9782602be601")))
    assert(checkSig(ann, randomKey.publicKey) === false)
    import fr.acinq.eclair.wire.LightningMessageCodecs
    val encoded = LightningMessageCodecs.lightningMessageCodec.encode(ann).require
    
    println(encoded.toHex)
  }

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:9 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
pm47commented, Nov 15, 2018

The last assert below is failing. I think it should pass.

You are completely right: indeed we haven’t fixed the more general issue of signing the rest of the message, including unknown fields, which means that we may run into the same issue again. A (weak) reason for this is that we are going to switch to TLV in BOLT 1.1 anyway and all formats will change; there probably won’t be any new fields in this old format.

0reactions
t-bastcommented, Aug 23, 2019

Closing this issue as old nodes have probably upgraded since then.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Bug listing with status RESOLVED with resolution OBSOLETE ...
... Bug:54727 - "gentoo-stats --update fails with error message" ... fails due to i18n error(?)" status:RESOLVED resolution:OBSOLETE severity:normal ...
Read more >
National Defense Authorization Act for Fiscal Year 2020
Notification of issuance of military protective order to civilian law ... within two years of continued development and upgrades, electronic signature and ...
Read more >
node/CHANGELOG_V14.md at main · nodejs/node - GitHub
Using getHeapSnapshot() was causing a Node.js crash due a V8 issue, ... [ f2e1c2267e ] - build: update gcovr for gcc 8 compatibility...
Read more >
Text - H.R.2471 - 117th Congress (2021-2022): Consolidated ...
738. None of the funds made available by this or any other Act may be used to ... in their entirety without redactions...
Read more >
1006786 - Harassment and signal squelchening Description
For over 6 months I have made complaints about poor internet. ... point they do not seem to care about fixing my problem...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found