Bitcoin Forum
November 18, 2019, 01:37:40 PM *
News: Help collect the most notable posts made over the last 10 years.
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 [8]  All
  Print  
Author Topic: The Lightning Network FAQ  (Read 2314 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic. (3 posts by 3 users deleted.)
darosior
Full Member
***
Offline Offline

Activity: 201
Merit: 241



View Profile WWW
November 05, 2019, 10:59:29 PM
Merited by samuel-sd (1)
 #141

Hello Samuel,

I'm glad that you are pleased with C-lightning  Smiley

As far as I got it, c-lightning creates a wallet inside lightningd.sqlite3 file and there is a file hsm_secret, which is some kind of key, right?

In the `hsm_secret` is stored the seed used to derive all keys (channels and onchain ones). You can consider it as the HD wallet seed.
In the `lightningd.sqlite3` (also available as a postgresql backend) is notably stored the channels state (aside a lot of other things !).

So, the first question is how to backup onchain and offchain data? Before I start using it, I need to setup backups. It was quite clear with c-lightning, it gives me mnemonic key and has a backup file with all channel information. What about c-lightning?
You can backup your onchain funds just by backing up the (potentially encrypted) `hsm_secret`.
You could backup your `lightningd.sqlite3` but it changes often (very often) and you should be very careful with restoring from backups.

For what it worth, efforts are being made for real-time database replication through plugins (some have been proposed) but it's harder than it seems and we have not yet found a satisfiable enough solution.

The Bitcoin Forum is turning 10 years old! Join the community in sharing and exploring the notable posts made over the years.
1574084260
Hero Member
*
Offline Offline

Posts: 1574084260

View Profile Personal Message (Offline)

Ignore
1574084260
Reply with quote  #2

1574084260
Report to moderator
1574084260
Hero Member
*
Offline Offline

Posts: 1574084260

View Profile Personal Message (Offline)

Ignore
1574084260
Reply with quote  #2

1574084260
Report to moderator
samuel-sd
Member
**
Offline Offline

Activity: 70
Merit: 45


View Profile
November 05, 2019, 11:48:08 PM
 #142

You can backup your onchain funds just by backing up the (potentially encrypted) `hsm_secret`.
Ok, that's clear.

Quote
You could backup your `lightningd.sqlite3` but it changes often (very often) and you should be very careful with restoring from backups.
Is there anything like lnd backup? An independent backup file, which changes every time when channels' balance changes.

Quote
For what it worth, efforts are being made for real-time database replication through plugins (some have been proposed) but it's harder than it seems and we have not yet found a satisfiable enough solution.
Are these plugins available somewhere? What do you use?
darosior
Full Member
***
Offline Offline

Activity: 201
Merit: 241



View Profile WWW
November 06, 2019, 10:57:02 AM
 #143

You can backup your onchain funds just by backing up the (potentially encrypted) `hsm_secret`.
Ok, that's clear.

Quote
You could backup your `lightningd.sqlite3` but it changes often (very often) and you should be very careful with restoring from backups.
Is there anything like lnd backup? An independent backup file, which changes every time when channels' balance changes.
Hmm that's `lightningd.sqlite3`.. I don't think there is much sense in having another file which is updated at the same time `lightningd.sqlite3` is updated and that contains the same informations.

For what it worth, efforts are being made for real-time database replication through plugins (some have been proposed) but it's harder than it seems and we have not yet found a satisfiable enough solution.
Are these plugins available somewhere?
You have a lot of plugins here, the plugin I had specifically in mind is this one by SimonVrouwe which you should not use because the database structure changed since.

What do you use?
In terms of plugins or safeguards ?
For plugins I use:
- summary
- rebalance
- drain
- probe
- reckless
- and soon the JIT routing one

For safeguard I use:
- ..................  Grin

No more seriously I have some hacky and nasty scripts for my database but I think the change has to come from the protocol. For example we now have (and I'm working on making C-lightning default to this) `option_static_remotekey` which allows you to recover your funds after the remote side unilateral close just with you hsm_secret (related but I made a mistake I have a tool for fund recovery which I plan to clean up and re-PR when we default to this).

samuel-sd
Member
**
Offline Offline

Activity: 70
Merit: 45


View Profile
November 06, 2019, 07:21:56 PM
 #144

Hmm that's `lightningd.sqlite3`.. I don't think there is much sense in having another file which is updated at the same time `lightningd.sqlite3` is updated and that contains the same informations.
In this case I can have one lightningd.sqlite3 on my node and another one in a cloud (I used NFS storage on a cloud vps)
lightningd.sqlite3 stores not only channel balances but lots of other stuff. lightningd.sqlite3 changes too often

Quote
For safeguard I use:
- ..................  Grin
Let's imagine my hard drive failed or there was a power outage or something else happened and I am not sure if the lightningd.sqlite3 is intact (or I lost it). I restored onchain data from hsm_secret. What should I do to get my node up and running again? What about my channels and funds in them?

Quote
I think the change has to come from the protocol
Exactly!
samuel-sd
Member
**
Offline Offline

Activity: 70
Merit: 45


View Profile
November 07, 2019, 04:23:14 AM
Last edit: November 07, 2019, 04:37:43 AM by samuel-sd
 #145

I'm glad that you are pleased with C-lightning  Smiley
Yay! It finally works!  Cheesy

I built a network structure with an lnd node as a main hub and many c-lightning nodes as points.
The hub has a few channels with well connected nodes and points have channels only with the hub.
I just sent a few transactions from outside to one of my points and the hub transferred the payments and collected fees.


(A)------>(B)----->(C)----->(D)

As far I got the fee system, if node A sends a transaction to node D, node B will collect a fee from the channel between B and C and C will collect a fee from the channel between C and D, right?
Nodes cannot collect fees from incoming channels, only from outgoing?

By the way, I found that c-lightning daemons use 170Mb of RAM (lnd uses 400Mb) and they use CPU gently when they download the network graph. They don't use all available CPU resources no matter what it takes.
darosior
Full Member
***
Offline Offline

Activity: 201
Merit: 241



View Profile WWW
November 07, 2019, 08:30:17 AM
 #146

Hmm that's `lightningd.sqlite3`.. I don't think there is much sense in having another file which is updated at the same time `lightningd.sqlite3` is updated and that contains the same informations.
In this case I can have one lightningd.sqlite3 on my node and another one in a cloud (I used NFS storage on a cloud vps)
lightningd.sqlite3 stores not only channel balances but lots of other stuff. lightningd.sqlite3 changes too often

Quote
For safeguard I use:
- ..................  Grin
Let's imagine my hard drive failed or there was a power outage or something else happened and I am not sure if the lightningd.sqlite3 is intact (or I lost it). I restored onchain data from hsm_secret. What should I do to get my node up and running again? What about my channels and funds in them?
You cannot derive channel states from the hsm...

Quote
I think the change has to come from the protocol
Exactly!
[/quote]
That being said, it's not __that__ simple: basically tradeof is often taken over privacy..

darosior
Full Member
***
Offline Offline

Activity: 201
Merit: 241



View Profile WWW
November 07, 2019, 08:40:18 AM
 #147

I'm glad that you are pleased with C-lightning  Smiley
Yay! It finally works!  Cheesy

I built a network structure with an lnd node as a main hub and many c-lightning nodes as points.
The hub has a few channels with well connected nodes and points have channels only with the hub.
I just sent a few transactions from outside to one of my points and the hub transferred the payments and collected fees.


(A)------>(B)----->(C)----->(D)

As far I got the fee system, if node A sends a transaction to node D, node B will collect a fee from the channel between B and C and C will collect a fee from the channel between C and D, right?
Nodes cannot collect fees from incoming channels, only from outgoing?
Fees are taken as a delta between received payment and sent payment, basically you receive more on you incoming channel than you send on the outgoing one.
With your above example a simple schema would be:
Code:
# A wants to send 10000msat to D
# D only accepts incoming HTLCs with at least 9 as CLTV value
# A computes a (naive) route backwards

amounts:                      10003msat              10002msat             10000msat
                      (A)      ------>       (B)      ----->      (C)      ----->     (D)
CLTV deltas:                     15                      13                  9
# In this scenario (C) took more fees than (A) and imposes a bigger CLTV delay for outgoing HTLCs

By the way, I found that c-lightning daemons use 170Mb of RAM (lnd uses 400Mb) and they use CPU gently when they download the network graph. They don't use all available CPU resources no matter what it takes.
Recent optimisations have been made with gossip and thus it's now less resource incentive (less bandwidth consumption, so maybe also less CPU consumption ? Didn't benchmark it)

RapTarX
Full Member
***
Offline Offline

Activity: 294
Merit: 205



View Profile WWW
November 08, 2019, 07:00:31 AM
Merited by The Pharmacist (3), LoyceV (2)
 #148

LN will never be solution, Satoshi said that onchain transactions will support miners in the future, with LN there is no fees for the real miners that support blockchain, with time the fee of one ON-CHAIN transaction will be huge.

LN still need on-chain transaction to open and close channel
As long as I am not closing a channel, I can settle any transaction. Won't it reduce the on-chain transaction heavily? Which is good in some case though but still cfbtcman question is there.

Well, I am a newbie in LN, not much old in Bitcoin as well.

For me, until now, LN is-



Here- Bob (X) is a client who used to shop with BTC. Since the fee is high, he is looking for alternative way, hence he got LN.
He knows if he creates a channel with Y(Route?)- who already have channel with a lot of Bob's favorite shop, he can settle a lot of payments in most of the shops he is used to go daily.

I am trying to learn it from the perspective of a client of a lot of shops so that I can pay micro payments with bitcoin.
Please correct my above statement, for last 3/4 days, I am spending a lot of time into LN. Have read some parts of the whitepaper here- https://lightning.network/lightning-network-paper.pdf



Pages: « 1 2 3 4 5 6 7 [8]  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!