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

nodes sending invalid channel announcements in gossip (sig check fails, as features field was zeroed out) #4322

Closed
SomberNight opened this issue May 26, 2020 · 4 comments · Fixed by #4342
Assignees
Labels
bug Unintended code behaviour discovery Peer and route discovery / whisper protocol related issues/PRs
Milestone

Comments

@SomberNight
Copy link

SomberNight commented May 26, 2020

Several nodes on testnet are sending invalid channel announcements in the gossip.
It's always the same channel announcement that is invalid, for short chan id 1723668x94x0.
The channel_announcement message is well formatted, except all four signatures in it are invalid.

There are at least 7 distinct nodes I have encountered that all have this malfunction.
I do not actually know what LN implementations all of them are running, but based on public explorers at least a few are running lnd.

pubkeys of misbehaving nodes
023a8dfe081c6bbd0504e599f33d39d17687de63023a8b20afcb59147d9d77c19d
0351e9868c7464df8009991c5441bec674efc61a0ae2bfdfe84439d1e2705073e1
02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379
034fe52e98a0e9d3c21b767e1b371881265d8c7578c21f5afd6d6438da10348b36
0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f
030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230
027a1cd64065dc39275b011ae7d89e04ff523bb21b84a50a1b160e84e3a715a838

The bad channel announcement they send for 1723668x94x0:

01000b70a802d9dc092357e103ab99864c28176bc3d415a406aca69bf76eb5f30e023ca0f9c748625b94223de866cec464088901ca76f741fb700f93f2527233f4745954df2724bdff83e6b30c3293452cbe301e5a75c82e2e6667025c9a6c8f03c4385c7982de14212bd80c0cceea6558b675720e8ea4ed1f62aaf3e7622bf0371f4831db4f6c8f7c310831bdf4512c699361e619d95b8a716c7cb8af81a2adcd742675c927f42e60dd01cf94eb8a50b202b138fb24c64ec888d98aeb7abe09ebcd7463471ab1c84bf89e550ac0155f5a6e606a6a8ee5650e30ec921cc3b86c00a13540a9663dbb835e28c32dc48c96ea3e9d2136b1f6810f361157837beea2fabe000043497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea3309000000001a4d1400005e0000020f34961d098bd9236bd2d292a1f5b9113fd9011ad4b7feac6b26d37aa1bc42020263983b2261d6ad9e2e134c1aa60d0c82d47c1c16b876a096a38d4f283fc236dc0289a547f81abd0a581a6dbdd5bb7a3a57dfd4fed38735fd817a891116341fabc30301ac35c7e0b5d3574f9cc15d712b899d8bfb4a9ec6cb804985198c93da1bda29
bad channel announcement hand-parsed
0100
0b70a802d9dc092357e103ab99864c28176bc3d415a406aca69bf76eb5f30e023ca0f9c748625b94223de866cec464088901ca76f741fb700f93f2527233f474
5954df2724bdff83e6b30c3293452cbe301e5a75c82e2e6667025c9a6c8f03c4385c7982de14212bd80c0cceea6558b675720e8ea4ed1f62aaf3e7622bf0371f
4831db4f6c8f7c310831bdf4512c699361e619d95b8a716c7cb8af81a2adcd742675c927f42e60dd01cf94eb8a50b202b138fb24c64ec888d98aeb7abe09ebcd
7463471ab1c84bf89e550ac0155f5a6e606a6a8ee5650e30ec921cc3b86c00a13540a9663dbb835e28c32dc48c96ea3e9d2136b1f6810f361157837beea2fabe
0000
43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000
1a4d1400005e0000
020f34961d098bd9236bd2d292a1f5b9113fd9011ad4b7feac6b26d37aa1bc4202
0263983b2261d6ad9e2e134c1aa60d0c82d47c1c16b876a096a38d4f283fc236dc
0289a547f81abd0a581a6dbdd5bb7a3a57dfd4fed38735fd817a891116341fabc3
0301ac35c7e0b5d3574f9cc15d712b899d8bfb4a9ec6cb804985198c93da1bda29

I have sent a query_short_channel_ids for this channel to many nodes in the network, and some are sending the above bad channel announce, while others are sending a valid one:

01000b70a802d9dc092357e103ab99864c28176bc3d415a406aca69bf76eb5f30e023ca0f9c748625b94223de866cec464088901ca76f741fb700f93f2527233f4745954df2724bdff83e6b30c3293452cbe301e5a75c82e2e6667025c9a6c8f03c4385c7982de14212bd80c0cceea6558b675720e8ea4ed1f62aaf3e7622bf0371f4831db4f6c8f7c310831bdf4512c699361e619d95b8a716c7cb8af81a2adcd742675c927f42e60dd01cf94eb8a50b202b138fb24c64ec888d98aeb7abe09ebcd7463471ab1c84bf89e550ac0155f5a6e606a6a8ee5650e30ec921cc3b86c00a13540a9663dbb835e28c32dc48c96ea3e9d2136b1f6810f361157837beea2fabe000308000043497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea3309000000001a4d1400005e0000020f34961d098bd9236bd2d292a1f5b9113fd9011ad4b7feac6b26d37aa1bc42020263983b2261d6ad9e2e134c1aa60d0c82d47c1c16b876a096a38d4f283fc236dc0289a547f81abd0a581a6dbdd5bb7a3a57dfd4fed38735fd817a891116341fabc30301ac35c7e0b5d3574f9cc15d712b899d8bfb4a9ec6cb804985198c93da1bda29
good channel announcement hand-parsed
0100
0b70a802d9dc092357e103ab99864c28176bc3d415a406aca69bf76eb5f30e023ca0f9c748625b94223de866cec464088901ca76f741fb700f93f2527233f474
5954df2724bdff83e6b30c3293452cbe301e5a75c82e2e6667025c9a6c8f03c4385c7982de14212bd80c0cceea6558b675720e8ea4ed1f62aaf3e7622bf0371f
4831db4f6c8f7c310831bdf4512c699361e619d95b8a716c7cb8af81a2adcd742675c927f42e60dd01cf94eb8a50b202b138fb24c64ec888d98aeb7abe09ebcd
7463471ab1c84bf89e550ac0155f5a6e606a6a8ee5650e30ec921cc3b86c00a13540a9663dbb835e28c32dc48c96ea3e9d2136b1f6810f361157837beea2fabe
0003
080000
43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000
1a4d1400005e0000
020f34961d098bd9236bd2d292a1f5b9113fd9011ad4b7feac6b26d37aa1bc4202
0263983b2261d6ad9e2e134c1aa60d0c82d47c1c16b876a096a38d4f283fc236dc
0289a547f81abd0a581a6dbdd5bb7a3a57dfd4fed38735fd817a891116341fabc3
0301ac35c7e0b5d3574f9cc15d712b899d8bfb4a9ec6cb804985198c93da1bda29

Note that the signatures validate for the the "good" channel announcement, and that the only difference between the good and the bad chan anns is the features field.
The bad chan ann has the features field zeroed out.

@SomberNight
Copy link
Author

I guess this might be related: lightning/bolts#773

@Roasbeef
Copy link
Member

Yeah I think that may be the case. lnd doesn't implement wumbo yet, so perhaps there's no action on our end yet?

@SomberNight
Copy link
Author

But these nodes seem to be lnd nodes and they are sending invalid channel announcements in their gossip. Is that not a bug?

@SomberNight
Copy link
Author

To put it another way, my node is disconnecting from all these nodes because the signatures fail to validate.

@Roasbeef Roasbeef added this to the 0.11.0 milestone Jun 1, 2020
@Roasbeef Roasbeef added bug Unintended code behaviour discovery Peer and route discovery / whisper protocol related issues/PRs labels Jun 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Unintended code behaviour discovery Peer and route discovery / whisper protocol related issues/PRs
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants