pull down to refresh

Hello,

Would love to hear a more knowledgeable person than me confirm this understanding: A private lightning channel where the channel is opened using P2TR transaction can't be ID'd via block chain info as a lightning channel open, correct ? So, if you were to only open a private channel or two with P2TR...even if people see your public node ID when you receive sats to it, they can't easily associate the on-chain btc with your lightning node ?

Also - are there benefits to using P2TR to open public channels (more just curious about this one...not important for my use case)?

Thanks!

388 sats \ 10 replies \ @Kruw 10 Jul
A private lightning channel where the channel is opened using P2TR transaction can't be ID'd via block chain info as a lightning channel open, correct ?

If the private channel is cooperatively closed using the Taproot key path, it won't be known as a channel open. But if the channel is force closed using the Taproot script path, it will reveal the 2 of 2 multisig.

So, if you were to only open a private channel or two with P2TR...even if people see your public node ID when you receive sats to it, they can't easily associate the on-chain btc with your lightning node ?

Receiver privacy is dependent on Blinded Paths/BOLT12. If you use a nonblinded BOLT11 invoice, your channel's UTXO is revealed to the sender, even if it is a private channel.

@DarthCoin correct me if I'm wrong on either point.

reply

On point 1 you are right, force closed channels are a pain.
Second point: are you afraid of who is sending you money or somebody in the middle? in 99.9*9% cases is supposed to know who is sending you money. Let's not be so paranoical.

As a general rule for a merchant that want to have more privacy for his node, I wrote this guide: https://darth-coin.github.io/merchants/operating-ln-as-merchant-en.html

Using decoy (disposable) public nodes is a simple and easy way. Also if you are good with managing the liquidity, you can take some advantage and earn some fees.

reply
52 sats \ 4 replies \ @Kruw 11 Jul
Second point: are you afraid of who is sending you money or somebody in the middle? in 99.9*9% cases is supposed to know who is sending you money. Let's not be so paranoical.

I disagree, your transaction counterparty is more of a threat to you than third parties. I don't want my neighbor to be able to search my on chain history just because I sold him some eggs or mowed his lawn.

reply

Please do that on your own payments.
Pay yourself and then try to trace it back as if you were a random payer, starting from a meaningless LN invoice.
Let me know if you find your "stash".

As I said many times here: use the damn 3 levels stash - vaults, cache, spending. Compartmentalize everything and use decoys.

reply
102 sats \ 2 replies \ @Kruw 12h
Pay yourself and then try to trace it back as if you were a random payer, starting from a meaningless LN invoice.
Let me know if you find your "stash".

?... There's literally no ambiguity whatsoever with regular BOLT11 privacy. Your UTXO is shared with the sender, it's completely transparent:

If you use a nonblinded BOLT11 invoice, your channel's UTXO is revealed to the sender, even if it is a private channel.
reply

Yeah so? Don't tell me that your node have only one channel and your entire stash sits on a single UTXO.

Through that single UTXO you are passing by infinite amount of sats. That UTXO will reveal the final amount only when the channel is closed. And that is also valid if the payer have a direct channel with you, otherwise is almost impossible to find out.

Good luck finding my other stash from a meaningless UTXO that is from a channel in continuous movement.

Please do the test on yourself: send from your public node to another private node, using 2-3 hops. Then just by paying that invoice, find the real balance on the receiver UTXO, with the channel still open.

reply
2 sats \ 0 replies \ @Kruw 11h

I never used the word "stash"?... Not sure why you are attacking a strawman.

reply
If the private channel is cooperatively closed using the Taproot key path, it won't be known as a channel open.

It's not obvious at least. But transactions for taproot channels have distinct characteristics compared to transactions made by lnd's wallet (and probably other LN implementations). So an adversary may still be able to detect that by heuristics.

reply
2 sats \ 1 reply \ @Kruw 10 Jul

Thanks. Can you be more specific about these distinct characteristics? Fingerprints like locktime, version, & RBF flag should be able to be fixed, right?

reply

Yeah, locktime is one of them. Taproot channels set nLockTime=0, which a bunch of stuff doesn't do.

reply

thanks for this reply. I was not aware you can determine the on chain utxo just based on the invoice ( knew the node public id was exposed). is that just the channel receiving the SATs or all utxos on your lightning node?

reply

If your LN node have only private channels, will not be anymore a "public" node, will not be visible into the public graph, only by your peers.

Keep in mind: a public node is named public because is visible anyways in all LN explorers, having at least one public channel. And are mostly used for routing others payments.

If you are not interested into public routing your should NOT use a public node, but only private.

For the moment simple taproot channels are available only for private channels. Nevertheless, you can have public channels and in the same time taproot channels.
The STC are also implying less fees when are open/closed.

reply
Nevertheless, you can have public channels and in the same time taproot channels.

Note that if you have both public and private channels on LND, payments from others that are routed through your node will also use the private channels. This works because Lightning routing is based on nodes, not channels. So the routing information doesn't specify what channel to actually use.

I don't know if other LN implementations do this to. They might. I just haven't tested it myself.

This is a usefu privacy feature as it makes it harder to figure out where payments are actually going.

reply

Will use the private channels only if there's a direct and feasible path to the destination. Usually on private channels you are not setting fees, but you can. so if you do not want to be used those ones for others routing, you adjust fees and min/max HTLC and you close the gates/valves.

But yeah, using the combination public/private channels have its advantages.

reply
Will use the private channels only if there's a direct and feasible path to the destination.

I don't think you understood what I was saying. I'm talking about third party payments routed through your own.

reply

You are talking about trampoline channels ?

reply

Ahh. So, there is just a difference in fees between a segwit transaction open and taproot transaction open for a private lightning channel?

reply

Yes, I notice that are slightly cheaper. Not too much nowadays, but in a fees spike season is noticeable.

reply

deleted by author