lightninglabs / lightninglabs/chantools

ChannelAuthProof for own channels is missing after running dropchannelgraph

Open
#48 11 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
239
Forks
46
Avg merge
1d 6h
Merged PRs (30d)
6

Description

I used `dropchannelgraph` with the intention to fix missing channel information that was introduced due to running with `routing.assumechanvalid=true` when I started using my node for the first time.

The command was successful and my node started synching the graph to a state that had all channel information like I wanted to. So that's awesome.

I did however notice that all my channels were missing when I ran `lncli getnodeinfo --include_channels`. The channels were present when I ran `lncli listchannels` or when I ran `getnodeinfo` with my peer's pubkey however.

At this point I asked for help on the LND slack and [guggero](https://github.com/guggero) responded. The issue has to do with the ChannelAuthProof not existing for my own channels. Causing LND to interpret my channels as unannounced and not listing them.

Normally, the ChannelAuthProof is created before the channel is publicly announced and without it the channel cannot be announced because the "proof" is needed by other nodes to verify that the channel is legitimate.

Luckily for me the proof is remembered by my peers that I share the channel with so they can do the broadcasting of the channel. But the situation is not ideal for sure.

So in part this github issue is to document the behavior of `dropchannelgraph` and also write a bit about ChannelAuthProof since google did not provide any information about it.

The other reason is to make a feature request to `dropchannelgraph` that will create the proof after adding the nodes edges. Like you (guggero) already said on slack it is a bit tricky since you need to pass the seed to sign the proofs.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the behavior with dropchannelgraph, then compare lncli getnodeinfo --include_channels with lncli listchannels and getnodeinfo for a peer. Read the ChannelAuthProof and channel announcement flow in the chantools and lnd code referenced by the issue. Done means documenting the behavior and implementing the requested proof creation after adding node edges, if feasible.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.