This is a scenario that I've done some years ago, as testing purposes, but I didn't post it publicly until now.
But today I saw the article of Shinobi on Bitcoin Magazine and reminds me of my old experiment. So I went back to my old draft notes and bring them here in form of a new quick guide.
I think this scenario can be used also in isolated communities, with high latency of internet (@BTCLNAT I am talking about you, on your island) or those that want MORE privacy than LN is already providing on public channels.
This scenario can be applied also for this guide I wrote about Private banks over LN
YES, YOU DO NOT NEED TO USE THE WHOLE PUBLIC LN !
Let's get started.
Requirements:
- a LN node, best option is to have a desktop node, with a LND for the convenience. Let's say this will be a LN bank, to get started.
- various LN wallets ready. Must be some of Zeus, Blixt, Electrum, Breez or any other wallet app that can open customized channels.
- move some funds in node onchain wallets. Do not use your holding cold wallets for this, just move some sats into your onchain wallet of your LN nodes. Think about how much you want to spend in this experiment of circular economy.
- network ready, you still need internet to be able to broadcast the opening channels tx. After that it can even be used a mesh network between all those private LN nodes. Important is that is to be reachable between them. The private LN network you are going to build only needs to reach all the peer participants in this private ring. So when you configure your LN nodes, apart from the public IP, announce also the private IP you will going to use in your private LN. You will find that setting in your lnd.conf.
First steps:
- start opening private (unannounced) channels between private ring peers.
- open channels with all possible peers so you will be well connected to each others and can send/receive sats to anybody in the ring. Keep in mind that private channels DO NOT DO ROUTING.
- you can do the experiment with public (announced) channels, but again, your LN nodes must operate on public and private network. If you just want to use the regular public internet is also OK. These public channels can act as routing LSPs for all other nodes that choose to open private channels.
Example:
Let's build a private / public ring.
- Alice (private LN node) open a private channel with Bob (public LSP). Let's say 100k sats
- Carol (private LN node) also open a private channel with Bob, this time 200k, for variation.
- John (a local merchant with a public node) open a public channel with Bob (LSP). In this moment Alice and Carol are connected not only with Bob but also to John and can pay him for the groceries.
This simple scenario can be extended even further and Alice and Carol can open direct private channels with John, without using the Bob's routing node. But in that case they have to refill those channels all the time they get emptied.
How?
- closing the drained channel and opening new ones
- using a swap from onchain. Swaps services can be provided by the same peers (so called ghetto swaps) or another ones, but they must have channels between their nodes or at least with their peers to be able to route the swap.
Another aspect to take in consideration is that if you want to pay a peer that is 3 hops from your node and between you and them are only private channels, you will need to build the route with hints and you need at least one peer that can build the path as a bridge.
Conclusion
As you can see there are ways to do payments over LN in a more private way, without using ANY of the public nodes, LSPs, compromised nodes, NSA nodes or whatever you consider a spy.
Build your own private LN using only channels between trusted peers and you can still transact with Bitcoin. Using public known routing nodes is useful ONLY if you want to use BTC payments to other unknown destinations. But if you run your own LN in your closed community, you do not need them or even go onto all the rest of the public internet.
LN channels are just some pipes between 2 peers, as long as their nodes are reachable, you can still transact on any closed network, but keep in mind... ONLY between those participants in your closed network, not outside.
This scenario can be applied also with SN.