Pages:
Author

Topic: The Lightning Network FAQ - page 43. (Read 33287 times)

legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
May 22, 2021, 07:13:49 AM
...
c-lightning uses minimal RAM and CPU, because it's written in C, where the programmer must directly control almost everything the app does (with golang, a bunch of Google-written magic does the job for you)
...

Having used C since I was in high-school in the mid 80s I can say that it has it's own set of debugging issues when it comes to CPU / RAM problems.

It's becoming more clear this will be necessary as Lightning gets more actual use; I'm running c-lightning on an rPi 3, and when the network is quiet, all is well with system resources (I've got 2GB swap space on an SSD to ameliorate the low RAM). But when there are big storms of transactions, the gossip updates push the CPUs to ~ 50%. There will be even more bigger surges in future, I expect
I like RPis, I use them everywhere. BUT $100 machines like this are all over: https://www.ebay.com/itm/144041689234 just swap the spinning drive for a SSD if you want and you are way ahead of running a RPi3
A programmer I use in India has been getting the above machine with a 128GB SSD (yes I know you can't run a node on it) for under 5000 Rupees at a local shop so it's not just a US thing.
IMO you should be on a RPi4 with more ram anyway when running a node and anything else on it.

Would there anyone here be interested in testing out dual-funding once the transaction fees have gone down?

wait till version 0.10.1, or compile/run master branch, the spec for dual fund has slightly changed. I'm hoping that the clboss plugin will seek out nodes to dual fund with automatically once the spec is finalized.

Agree with Carlton but if you want to test anyway, let me know and I'll spin up one of nodes running c-lightning and get it updated. Might take a day or 2 since I have not been using them for a while.

-Dave
legendary
Activity: 3430
Merit: 3080
May 22, 2021, 06:21:02 AM
I have recently decided to switch from a Raspberry Pi to a normal server. Since LND does not recommend reusing the channel database between different architectures, I had to close all of my channels. I was thinking about using a different implementation this time. You sold me on c-lightning.

with a fully-fledged server, you can run multiple lightning instances anyway. Maybe running 1 or 2 LND's will prove useful for different reasons, I'm not currently in your position where I have a decent enough machine to try.

Maybe keep the Pi as a local watchtower, powered (also the internet router) with a UPS? Or at some other location, of course.

Try the clboss plugin for Lightning, you can dial down/switch off some of the features if you want to: https://github.com/ZmnSCPxj/clboss

Would there anyone here be interested in testing out dual-funding once the transaction fees have gone down?

wait till version 0.10.1, or compile/run master branch, the spec for dual fund has slightly changed. I'm hoping that the clboss plugin will seek out nodes to dual fund with automatically once the spec is finalized.
legendary
Activity: 1876
Merit: 3132
May 21, 2021, 04:40:38 PM
-snip

Thanks Carlton for your write-up! I have recently decided to switch from a Raspberry Pi to a normal server. Since LND does not recommend reusing the channel database between different architectures, I had to close all of my channels. I was thinking about using a different implementation this time. You sold me on c-lightning. I am going to miss Zap Wallet, though. Spark Wallet isn't nearly as good.

Would there anyone here be interested in testing out dual-funding once the transaction fees have gone down?
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
May 21, 2021, 11:23:44 AM
Lightning Network for use with bitcoin only right?
Can Lightning Network use with other alt coin?

Litecoin and (I think) Vertcoin also have Lightning implementations, but in terms of usage, I get the impression they're pretty limited.  There's not nearly as much liquidity on those chains.  In essence, you'll find it easier to make payments with LN using Bitcoin, compared to altcoins.
You forgot Groestlcoin Wink (seriously, I even think to remember they were the first coin who implemented it).

It is even possible to exchange coins via Lightning, but then both participants need a channel for each coin obviously. So it's not a really "easy" way to swap coins, at least if you want to do it without a centralized intermediary.

OmniBOLT also allows tokens to be used on Lightning (on Bitcoin), but I guess you need a separate channel for each token (can someone confirm this?).
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
May 21, 2021, 04:44:19 AM
Lightning Network for use with bitcoin only right?
Can Lightning Network use with other alt coin?

Litecoin and (I think) Vertcoin also have Lightning implementations, but in terms of usage, I get the impression they're pretty limited.  There's not nearly as much liquidity on those chains.  In essence, you'll find it easier to make payments with LN using Bitcoin, compared to altcoins.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
May 21, 2021, 04:31:23 AM
Lightning Network for use with bitcoin only right?
Well, at the moment I believe that it's only available for Bitcoin. There is a serious problem with small micro-transactions in contrast with its forks. Litecoin for example doesn't necessarily need LN since a transaction costs up to 4 cents.  (~0.00000051 LTC)

Can Lightning Network use with other alt coin?
Are you asking if it has been implemented or if it's possible to implement it? If we're talking about the second, it surely is. At least, for the forks of Bitcoin you probably won't have to make big changes in the variables.

Can Lightning Network create as new alter coin and fast same?
The Lightning Network is a protocol, not a token.
legendary
Activity: 3430
Merit: 3080
May 21, 2021, 04:21:18 AM
how many used one of the "lightning in a box" implementations.

Not that it matters that much, but all the pre-done ones that I know of are running LND so over time C-lightning could wind up being a much smaller player.
I like the C-lightning plugins idea, but LND seems to be more widely used.

seems like a mistake

because LND's written using golang, the devs are having to deal with golang's problems

1. Difficult to find bugs where the CPU usage has frequent 100% spikes
2. High memory usage, again where spikes are sometimes difficult to explain

using golang makes it hard(er) to control that sort of thing, and it's by design, because the idea is that the programmer can focus on writing the app, not on the subtle job of also making the app talk to the operating system

c-lightning uses minimal RAM and CPU, because it's written in C, where the programmer must directly control almost everything the app does (with golang, a bunch of Google-written magic does the job for you)


So really, these small rPi nodes (and bigger servers with more than one LN node per machine) are better off ditching LND.

It's becoming more clear this will be necessary as Lightning gets more actual use; I'm running c-lightning on an rPi 3, and when the network is quiet, all is well with system resources (I've got 2GB swap space on an SSD to ameliorate the low RAM). But when there are big storms of transactions, the gossip updates push the CPUs to ~ 50%. There will be even more bigger surges in future, I expect


If LND don't fix their problems before Lightning use gets more regular (and heavier), these little rPi nodes won't be able to handle it.

Besides, LND seems to exist to sell a bunch of services to you anyway (swaps and watchtowers), c-lightning is focusing on supporting a more peer-to-peer dynamic (dual-funded channels). LND is coming to represent what critics say about Lightning: resource heavy and centralized
member
Activity: 406
Merit: 47
May 21, 2021, 04:19:40 AM
Lightning Network for use with bitcoin only right?
Can Lightning Network use with other alt coin?

Can Lightning Network create as new alter coin and fast same?

legendary
Activity: 2898
Merit: 1823
May 20, 2021, 06:20:09 AM
https://bitcoinmagazine.com/technical/first-dual-funded-lightning-channel-opens

Quote

The world’s first dual-funded mainnet Lightning Network channel was opened last week in block 681,753 on the Bitcoin mainnet. Blockstream used its c-lightning implementation of the Lightning Network protocol to open the channel and announced it via a blog post.

A dual-funded Lightning channel allows both participant nodes to contribute to the channel’s opening transaction. It is unique because, up to this point, only the Lightning node that initiated the channel opening was able to add funds to the funding transaction.


Dual-funded Lightning channels are now possible. Obviously once implemented by all the other Lightning implenentations, it makes Lightning usage more practical on both user side and merchants/services side. It might be this upgrade merchants/services need to actually start offering Lightning as a payment option.
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
May 16, 2021, 06:21:10 PM
...reaching the destination when being able of opening a TCP socket with the last peer?

And the entire communications chain has to remain active end to end until the lightning transaction has been accepted.
Each node only talks to the next one and then back. But, yes until it's all done each node needs to know the status of the next.

-Dave
legendary
Activity: 3766
Merit: 1742
Join the world-leading crypto sportsbook NOW!
May 15, 2021, 10:39:36 AM
So basically, per protocol, a node behind nat, even if it's connected to a public node, doesn't become able to receive routed payments. It just stay private, correct?

Yes, that is with just about anything behind NAT without port forwarding.

You have a public IP, behind the router that is in front your can have just about any number of devices. When a packet of data hits the public IP, if the firewall / router does not know what to do with it, they drop / discard it. If there is port forwarding running, it knows that data coming in on port X goes to a certain device on the private side.

There are some automated ways of doing this, and some other trickery to work around it but none of them are 100% reliable.

-Dave



To have a better understandment of this, I try to make this analogy: is LN like an OSPF (link state) network topology, where each node, at least when it send a tx, needs to know the entire route, reaching the destination when being able of opening a TCP socket with the last peer?

Is not like a distance vector network topology, where a node just need to know the state of the nearest peer and not the entire path, correct?
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
May 15, 2021, 08:22:20 AM
So basically, per protocol, a node behind nat, even if it's connected to a public node, doesn't become able to receive routed payments. It just stay private, correct?

Yes, that is with just about anything behind NAT without port forwarding.

You have a public IP, behind the router that is in front your can have just about any number of devices. When a packet of data hits the public IP, if the firewall / router does not know what to do with it, they drop / discard it. If there is port forwarding running, it knows that data coming in on port X goes to a certain device on the private side.

There are some automated ways of doing this, and some other trickery to work around it but none of them are 100% reliable.

-Dave
legendary
Activity: 3766
Merit: 1742
Join the world-leading crypto sportsbook NOW!
May 15, 2021, 07:56:09 AM
Question:
.....
If I try to send a routed payment from coingate to electrum, even having capacity on both the raspiblitz and coingate, it cannot be completed.


Ex: LN COINGATE > LN RASPIBLITZ > LN ELECTRUM


I suspect that this could be a nat problem, but I thought that since electrum has a permanent TCP socket open with the raspiblitz, it would become reachable even behind NAT, to receive routed payments.

Is it possible to forward port 9735 from the public to the private side?
I do not think NAT will work since your router / firewall will just dump incoming packets that it does not know how to route and lnd does not use any form of upnp.

If you cannot forward the port there is always the option to use TOR.

-Dave

So basically, per protocol, a node behind nat, even if it's connected to a public node, doesn't become able to receive routed payments. It just stay private, correct?
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
May 15, 2021, 07:48:21 AM
Question:
.....
If I try to send a routed payment from coingate to electrum, even having capacity on both the raspiblitz and coingate, it cannot be completed.


Ex: LN COINGATE > LN RASPIBLITZ > LN ELECTRUM


I suspect that this could be a nat problem, but I thought that since electrum has a permanent TCP socket open with the raspiblitz, it would become reachable even behind NAT, to receive routed payments.

Is it possible to forward port 9735 from the public to the private side?
I do not think NAT will work since your router / firewall will just dump incoming packets that it does not know how to route and lnd does not use any form of upnp.

If you cannot forward the port there is always the option to use TOR.

-Dave
legendary
Activity: 3766
Merit: 1742
Join the world-leading crypto sportsbook NOW!
May 15, 2021, 07:08:35 AM
Question:

I've a public node (raspiblitz) with public IP, and with this node i'm able to interact in both ways (sending and receiving) without problems, even with routed payments.


To try LN better, i've also opened a LN wallet/node with electrum, on a connection behind a NAT. I've then opened a channel from electrum to the raspiblitz

Now the problem:

If I try to send a routed payment from electrum to... let's say coingate, no problem.

Ex: LN ELECTRUM (BEHIND NAT) > LN RASPIBLITZ > LN COINGATE


If I try to send a payment from the raspiblitz to electrum, also no problem

Ex: LN RASPIBLITZ > LN ELECTRUM



If I try to send a routed payment from coingate to electrum, even having capacity on both the raspiblitz and coingate, it cannot be completed.


Ex: LN COINGATE > LN RASPIBLITZ > LN ELECTRUM


I suspect that this could be a nat problem, but I thought that since electrum has a permanent TCP socket open with the raspiblitz, it would become reachable even behind NAT, to receive routed payments.


legendary
Activity: 2898
Merit: 1823
May 10, 2021, 06:08:47 AM
I'm pretty sure that's a part of the point Frankie was trying to make a week or two ago and got shouted down for their efforts.

You can see his deleted posts here. He was mostly arguing about Lightning not being Bitcoin.

Mostly, but not exclusively.


He also debated, almost commanded everyone to listen and accept because it’s “true” and a “fact”, that Lightning transactions are IOUs. It’s laughable to think because opening a channel requires an onchain transaction. They are literally Bitcoin transactions that haven’t been settled onchain yet.
legendary
Activity: 3696
Merit: 2219
💲🏎️💨🚓
May 10, 2021, 05:54:11 AM
I'm pretty sure that's a part of the point Frankie was trying to make a week or two ago and got shouted down for their efforts.

You can see his deleted posts here. He was mostly arguing about Lightning not being Bitcoin.

Mostly, but not exclusively.
legendary
Activity: 1876
Merit: 3132
May 10, 2021, 03:03:32 AM
I wouldn't know where that could be done honestly, there are countless threads on LN and no one seems to fit. And I don't want to open then next Lightning Network thread on that also. [...] Maybe the post will get indexed and those who are interested will find it.

Thanks for your suggestion. I will probably overhaul this thread at some point. Still, I think that there are plenty of YouTube videos and Medium articles showing such basics. Although, I am not sure how up-to-date they are since I didn't look at any of them in a long time.

I don't think taproot is needed for this.

Sure, but with Taproot, no one will be able to tell if coins were locked up in a channel (unless that channel ends up being closed uncooperatively). That's a significant privacy enhancement.

I'm pretty sure that's a part of the point Frankie was trying to make a week or two ago and got shouted down for their efforts.

You can see his deleted posts here. He was mostly arguing about Lightning not being Bitcoin.
legendary
Activity: 3696
Merit: 2219
💲🏎️💨🚓
May 09, 2021, 06:21:48 AM
In a way, a custodial LN wallet is a mixer already. The only thing they'd have to add, is deleting all records after a transaction was made.
For a wallet that's not very practical, but if you're willing to trust a third party to mix funds, you can just as well use a wallet that does everything for you.


I'm pretty sure that's a part of the point Frankie was trying to make a week or two ago and got shouted down for their efforts.
copper member
Activity: 1652
Merit: 1901
Amazon Prime Member #7
May 09, 2021, 05:36:15 AM
Lightning service idea. After Taproot is activated, what about a tumbler/mixer built, and developed for the Lightning Network. You can’t force coffee drinkers to spend their Bitcoin, but you can make thouasands of Heroine dealers move their Bitcoin through a Lightning tumber. Can be more efficient through Lightning, or just making it more complicated?
I don't think taproot is needed for this.

In order to mix your coin, you will need two channels, one with outbound capacity, and one with inbound capacity in the same amount. Once you have the two channels open, you simply make a LN payment from one node to the other. You can increase your privacy by sending multiple payments from one node to the other over time. Privacy will also be increased as more users use the LN network for more transactions. Privacy can be increased by having both nodes have multiple channels open, by not transferring the entire balance in the channel, and by waiting an amount of time before closing the channels.
Pages:
Jump to: