Pages:
Author

Topic: The Lightning Network FAQ - page 20. (Read 33639 times)

legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
January 21, 2022, 04:15:06 AM
and likely even LoyceV is seeing some futility in having had given a platform to franky1.... sure maybe it is not completely futile..
Since franky1 isn't allowed to respond here, I think it's only fair to keep any discussion that concerns him in [self-moderated] Is LN Bitcoin? franky1: About scaling, on-chain and off-chain.
@Rath_: feel free to wipe this off-topic post of mine at any time, although I hope it stays long enough to get this topic back on the LN-topic only (and not about specific users).
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
January 20, 2022, 06:42:43 PM
Just a quick question:

Are "channel factories", aka multiparty channels where all participants can transact with each other, already theoretically possible with the current Bitcoin protocol? Or do they depend on SIGHASH_ANYPREVOUT and Eltoo?

All I found regarding this question when searching the web is this LN mailinglist post from 2020 ("Simulating Eltoo Factories using SCU Escrows (aka SCUE'd Eltoo)"), but it seems from a first glance that I'm not knowledgeable enough about LN to understand it. It seemed however, according to the answers of C. Decker, that it should be possible.

If yes, is there any project/coding currently taking place for that? Thanks already!
hero member
Activity: 1274
Merit: 681
I rather die on my feet than to live on my knees
January 20, 2022, 06:11:28 PM
I have had enough of my share of debates against franky1 about the Lighting Network, or anything, that many other people in the forum got annoyed because the topics ended with the both of us debating. He has been gaslighting/spreading disinformation everywhere. He always denies the fact that all Bitcoins in Lightning are actual Bitcoins, calling them IOUs. I give him an explanation why they’re not IOUs, he replies with a VERY LONG “technical” post of confusion to troll you.

Absolutely, and even after @Rath_ backing up many of his replies with actual examples and even code, he kept trying to kind of "unsay" (not sure if this word even exists) what @Rath_ was saying. So, I said quite early that that discussion was turning useless.

Saying that the milisatoshis are not Bitcoin, is in my perspective, almost the same that saying that cents of dollar are not dollar or cents of Euros are not Euro. Anyway, the discussing is over for me!

I agree with you that the argument about milisatoshis not being bitcoin is dumb as fuck, but it is like he is saying that if the cent is divided into 100 or 1,000 then it is not really a cent because the smallest unit that you can transact in the physical world is the cent, so dividing the cent into 100 or 1,000 is not the same thing as the cent itself because the cent does not allow being divided further.. .which again is a stupid argument.....and even a waste of time to get into discussions regarding such nonsensical claims.. and of course, that is not the ONLY nonsensical claim that franky1 makes.. some of the claims get confusing, but they largely add up to the same thing.. nonsense, misleading, irrelevant etc..

Still, even if it's not possible to use 1/100 or 1/1000 of a cent in the physical world, I still can counter that with another kind of rhetorical question (not towards you but would be towards franky1 argumentation): So, if you have a piece of wood representing the unity (or is it unit) entity and you divide it by 100, we would have cents of that unity (or is it unit), which by chance is wood, right? It doesn't lose its natural characteristics  or properties that makes us call it wood, would it? So if you divide each cent into another 100 or a 1000 parts, would it now lose those properties? Like, it would still be wood. So, how could a satoshi that is a fraction of a Bitcoin not being Bitcoin after being divided again by another 100 or 1000 parts?

Actually, darkv0rt3x, I was going to make some similar comments as you in terms of why LoyceV was giving a platform to someone like franky1 who has shown himself to be disingenuine and misleading and banned from certain parts of the forum for good reason.. and in that regard, what good is it going to do to give a platform to someone who has already shown himself over and over and over to not be posting with any intentions beyond confusing and misleading the issues... but you ended up making some of the criticisms before me.. and I have not quite made it through the whole thread, yet...

Please do. Whatever I may have said, you can always speak out your thoughts too, even if they end up being similar to mines. And I agree with you. And further, I have registered in thsi forum for quite a while, despite the fact that I only started posting more frequently more recently, and I can tell that I saw quite a few posts of mine being deleted just because they were short or apparently there were adding nothing to discussions, which I disagree, but it was what it was. However, the posts of this user, beyond confusing and many times, as you said, misleading, he kept bringing people down with all those kind of disguised insults, so my question is why was he being allowed to continue with that type of speech. Anyway, that was up to the mods, I guess.

so maybe I will say something further on the topic, not sure if I have anything to add beyond what you had already said, and likely even LoyceV is seeing some futility in having had given a platform to franky1.... sure maybe it is not completely futile.. I mean I did read several of the responses of some of the posters, and even Rath_ did get excited enough about the thread in order to share a link to it here... so Rath_ likely does not mind providing some of that information again in the context of responding to the largely disingenuine points of franky1.

I admit I couldn't read some of final posts of franky until their very end because, I also admit I don't have that much knowledge to be able to keep up and verify, confirm or deny what was being said, but I probably read more than 90% of the thread!
Rath_  is one of the persons I known with more knowledge of the intrinsics on the LN network and of course he got excited. He could put to the practice his knowledge and probably, even test himself, which is always good. Challenge ourselves!
legendary
Activity: 3962
Merit: 11519
Self-Custody is a right. Say no to"Non-custodial"
January 20, 2022, 05:06:57 PM
I have had enough of my share of debates against franky1 about the Lighting Network, or anything, that many other people in the forum got annoyed because the topics ended with the both of us debating. He has been gaslighting/spreading disinformation everywhere. He always denies the fact that all Bitcoins in Lightning are actual Bitcoins, calling them IOUs. I give him an explanation why they’re not IOUs, he replies with a VERY LONG “technical” post of confusion to troll you.

Absolutely, and even after @Rath_ backing up many of his replies with actual examples and even code, he kept trying to kind of "unsay" (not sure if this word even exists) what @Rath_ was saying. So, I said quite early that that discussion was turning useless.

Saying that the milisatoshis are not Bitcoin, is in my perspective, almost the same that saying that cents of dollar are not dollar or cents of Euros are not Euro. Anyway, the discussing is over for me!

I agree with you that the argument about milisatoshis not being bitcoin is dumb as fuck, but it is like he is saying that if the cent is divided into 100 or 1,000 then it is not really a cent because the smallest unit that you can transact in the physical world is the cent, so dividing the cent into 100 or 1,000 is not the same thing as the cent itself because the cent does not allow being divided further.. .which again is a stupid argument.....and even a waste of time to get into discussions regarding such nonsensical claims.. and of course, that is not the ONLY nonsensical claim that franky1 makes.. some of the claims get confusing, but they largely add up to the same thing.. nonsense, misleading, irrelevant etc..

Actually, darkv0rt3x, I was going to make some similar comments as you in terms of why LoyceV was giving a platform to someone like franky1 who has shown himself to be disingenuine and misleading and banned from certain parts of the forum for good reason.. and in that regard, what good is it going to do to give a platform to someone who has already shown himself over and over and over to not be posting with any intentions beyond confusing and misleading the issues... but you ended up making some of the criticisms before me.. and I have not quite made it through the whole thread, yet...

so maybe I will say something further on the topic, not sure if I have anything to add beyond what you had already said, and likely even LoyceV is seeing some futility in having had given a platform to franky1.... sure maybe it is not completely futile.. I mean I did read several of the responses of some of the posters, and even Rath_ did get excited enough about the thread in order to share a link to it here... so Rath_ likely does not mind providing some of that information again in the context of responding to the largely disingenuine points of franky1.
hero member
Activity: 1274
Merit: 681
I rather die on my feet than to live on my knees
January 20, 2022, 04:09:59 PM
I have had enough of my share of debates against franky1 about the Lighting Network, or anything, that many other people in the forum got annoyed because the topics ended with the both of us debating. He has been gaslighting/spreading disinformation everywhere. He always denies the fact that all Bitcoins in Lightning are actual Bitcoins, calling them IOUs. I give him an explanation why they’re not IOUs, he replies with a VERY LONG “technical” post of confusion to troll you.

Absolutely, and even after @Rath_ backing up many of his replies with actual examples and even code, he kept trying to kind of "unsay" (not sure if this word even exists) what @Rath_ was saying. So, I said quite early that that discussion was turning useless.

Saying that the milisatoshis are not Bitcoin, is in my perspective, almost the same that saying that cents of dollar are not dollar or cents of Euros are not Euro. Anyway, the discussing is over for me!
legendary
Activity: 2898
Merit: 1823
January 19, 2022, 09:55:23 AM
I have had enough of my share of debates against franky1 about the Lighting Network, or anything, that many other people in the forum got annoyed because the topics ended with the both of us debating. He has been gaslighting/spreading disinformation everywhere. He always denies the fact that all Bitcoins in Lightning are actual Bitcoins, calling them IOUs. I give him an explanation why they’re not IOUs, he replies with a VERY LONG “technical” post of confusion to troll you.
legendary
Activity: 1876
Merit: 3139
January 18, 2022, 07:38:11 PM
We have been having quite a heated argument in the [self-moderated] Is LN Bitcoin? franky1: About scaling, on-chain and off-chain thread with franky1, who has been banned from this section, about some technical aspects of the Lightning Network.

We have been mostly arguing about the way payments are routed through the network. Feel free to join our discussion as both of us might be wrong. Here's a quote from my recent message:

Here's my current understanding of how the system works:

0) Lightning nodes constantly use the gossip protocol (bolt07) to forward/receive "node_announcement", "channel_announcement", "channel_update" messages and maintain a local view of the whole network.
1) Alice receives a payment invoice from Eric which includes information like: Eric node's public key, payment hash, amount, expiry (date) and cltv expiry.
2) Alice constructs a path to Eric using her local map of the network. She tries to find the cheapest and the shortest route. The longer the route, the higher the risk that funds will get stuck during routing.
2a) She prepares "onion_routing_packet" which includes encrypted routing information for each hop.
3) Alice sends "update_add_htlc" message to Bob, which includes the "onion_routing_packet" (which is the same for all peers), the amount, the payment hash and cltv expiry.
4) Alice and Bob sign a new commitment transaction with an HTLC output.
5) Bob sends "update_add_htlc" to Carol with the same "onion_routing_packet".
6) Carol and Diana, Diana and Eric do the same.
7) Eric sends "update_fullfil_htlc" message to Diana, which includes the payment secret.
8) Eric and Diana remove the HTLC output and update balances by signing a new commitment transaction.
9) Diana sends "update_fullfil_htlc" to Carol with the same payment secret and they update the commitment transaction.
10) Carol and Bob, Bob and Alice do the same.

Comments:

3) The amount Alice sends is actually bigger than the one in the invoice as she must account for the fees. Each hop forwards the HTLC with a smaller amount and keeps the difference. If some hop tries to claim higher fees than Alice expected, the next node in the route will fail the payment as the routing instructions say how much one's node is supposed to forward.

If Bob doesn't have enough coins to forward the payment on his side of the channel with Carol, he must send "update_fail_htlc" message and Alice needs to try sending the payment through another route.

All channels use the same payment hash. It is safe because HTLC outputs require both the payment secret and HTLC signatures, which can be produced only by channel partners, to be spent. See this post for explanation.

hero member
Activity: 1274
Merit: 681
I rather die on my feet than to live on my knees
January 18, 2022, 06:50:24 PM
Is there anyone who understands what's wrong with my node?
[~]
Do you already have a channel from your C-Lightning node to your Electrum node?
Because a reason for the C-Lightning node to reject a channel opening could be that it is configured not to allow more than a single channel between two peers.

Other than that, it's possible as mentioned by darkv0rt3x that sometimes the gossip network doesn't propagate the IP of nodes completely so in addition to the node ID you need to specify the IP as well. However, if this was the issue, I'd expect an error message more akin to 'Could not find node' or something of this sort, and not a connection reject.

Side question: why are you trying to use Electrum for Lightning all the time? Why not whip up a second C-Lightning or lnd node?

Another reason I asked for the node URI is because that pub key that my node returns in the logs seems to me pretty odd. It looks like the code of an invoice. ln1............. I never seen one like that!
hero member
Activity: 924
Merit: 5950
not your keys, not your coins!
January 17, 2022, 06:48:27 PM
Is there anyone who understands what's wrong with my node?
[~]
Do you already have a channel from your C-Lightning node to your Electrum node?
Because a reason for the C-Lightning node to reject a channel opening could be that it is configured not to allow more than a single channel between two peers.

Other than that, it's possible as mentioned by darkv0rt3x that sometimes the gossip network doesn't propagate the IP of nodes completely so in addition to the node ID you need to specify the IP as well. However, if this was the issue, I'd expect an error message more akin to 'Could not find node' or something of this sort, and not a connection reject.

Side question: why are you trying to use Electrum for Lightning all the time? Why not whip up a second C-Lightning or lnd node?
hero member
Activity: 1274
Merit: 681
I rather die on my feet than to live on my knees
January 17, 2022, 04:08:41 PM
This should work for you:

Code:
lightning-cli multifundchannel -k destinations='[{"id": "node1" ,"amount": amount1},{"id": "node2" , "amount": amount2}]' feerate=1000perkb minchannels=2

Make sure to change minchannels if you add more destinations.
I never tried this one before, but if even like that, it doesn't work, you may have to escape the double quotes with a backslash. I usually run into problems when I use these commands that requires arrays of json objects.
For instance, to create a raw transaction I actually have to use:
Code:
bitcoin-cli createrawtransaction "[{\"txid\":\"tx_hash_here\", \"vout\":1}]" "[{\"bitcoin_adress_here\":0.05},{\"bitcoin_change_adress_here\":0.049}]" 0 true

As you see, there are some double quotes that needs to be escaped (the ones inside the json array object), otherwise, bash will "consume" a layer of them and then, the json object is "sent" to the RPC command wrongly constructed!

Since command mentioned by @Rath_ use single quote as boundary of the array, you don't need to add backslash before double quote inside the array.

Indeed. One more thing I just learn!


Is there anyone who understands what's wrong with my node? While I can create channels with other nodes I can't create a channel from Electrum as it can't establish a connection: https://1ml.com/testnet/node/039a7e0982d3b0f967dfc18b8b69c9e8cafd035985eff1832258daf08de119b10e

I keep getting this when I enter my node_id@onion_url:


And it's weird, because it doesn't return the problem. It just says there is one, which makes me believe the developers aren't aware it exists.

I couldn't connect to your node using only the pub key! Can you provide your node URI?

What I can see in my debug file is:
Code:
302030 2022-01-17T21:10:20.272Z DEBUG   connectd: Now try LN connect out for host ln1qwd8uzvz6wc0je7lcx9ck6wfar906q6eshhlrqeztrd0pr0prxcsuagtc2y.lseed.darosior.ninja
302031 2022-01-17T21:10:20.273Z DEBUG   039a7e0982d3b0f967dfc18b8b69c9e8cafd035985eff1832258daf08de119b10e-connectd: Connected out, starting crypto
302032 2022-01-17T21:10:20.540Z DEBUG   039a7e0982d3b0f967dfc18b8b69c9e8cafd035985eff1832258daf08de119b10e-connectd: Failed connected out: Error connecting to ln1qwd8uzvz6wc0je7lcx9ck6wfar906q6eshhlrqeztrd0pr0prxcsuagtc2y.lseed.bitcoinsta       ts.com: Tor server reply: host unreachable. ln1qwd8uzvz6wc0je7lcx9ck6wfar906q6eshhlrqeztrd0pr0prxcsuagtc2y.lseed.bitcoinstats.com:9735: Connection establishment: Connection refused. ln1qwd8uzvz6wc0je7lcx9ck6wfar906q6eshhlrqeztrd0pr       0prxcsuagtc2y.lseed.darosior.ninja:9735: Cryptographic handshake: peer closed connection (wrong key?).
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
January 16, 2022, 02:30:12 PM
Is there anyone who understands what's wrong with my node? While I can create channels with other nodes I can't create a channel from Electrum as it can't establish a connection: https://1ml.com/testnet/node/039a7e0982d3b0f967dfc18b8b69c9e8cafd035985eff1832258daf08de119b10e

I keep getting this when I enter my node_id@onion_url:


And it's weird, because it doesn't return the problem. It just says there is one, which makes me believe the developers aren't aware it exists.
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
January 16, 2022, 06:41:26 AM
This should work for you:

Code:
lightning-cli multifundchannel -k destinations='[{"id": "node1" ,"amount": amount1},{"id": "node2" , "amount": amount2}]' feerate=1000perkb minchannels=2

Make sure to change minchannels if you add more destinations.
I never tried this one before, but if even like that, it doesn't work, you may have to escape the double quotes with a backslash. I usually run into problems when I use these commands that requires arrays of json objects.
For instance, to create a raw transaction I actually have to use:
Code:
bitcoin-cli createrawtransaction "[{\"txid\":\"tx_hash_here\", \"vout\":1}]" "[{\"bitcoin_adress_here\":0.05},{\"bitcoin_change_adress_here\":0.049}]" 0 true

As you see, there are some double quotes that needs to be escaped (the ones inside the json array object), otherwise, bash will "consume" a layer of them and then, the json object is "sent" to the RPC command wrongly constructed!

Since command mentioned by @Rath_ use single quote as boundary of the array, you don't need to add backslash before double quote inside the array.
hero member
Activity: 1274
Merit: 681
I rather die on my feet than to live on my knees
January 16, 2022, 05:50:14 AM
How do you insert an array, or in this situation the destination, properly? There are lots of ways I can think of...

This should work for you:

Code:
lightning-cli multifundchannel -k destinations='[{"id": "node1" ,"amount": amount1},{"id": "node2" , "amount": amount2}]' feerate=1000perkb minchannels=2

Make sure to change minchannels if you add more destinations.


I never tried this one before, but if even like that, it doesn't work, you may have to escape the double quotes with a backslash. I usually run into problems when I use these commands that requires arrays of json objects.
For instance, to create a raw transaction I actually have to use:
Code:
bitcoin-cli createrawtransaction "[{\"txid\":\"tx_hash_here\", \"vout\":1}]" "[{\"bitcoin_adress_here\":0.05},{\"bitcoin_change_adress_here\":0.049}]" 0 true

As you see, there are some double quotes that needs to be escaped (the ones inside the json array object), otherwise, bash will "consume" a layer of them and then, the json object is "sent" to the RPC command wrongly constructed!
legendary
Activity: 1876
Merit: 3139
January 15, 2022, 12:24:50 PM
How do you insert an array, or in this situation the destination, properly? There are lots of ways I can think of...

This should work for you:

Code:
lightning-cli multifundchannel -k destinations='[{"id": "node1" ,"amount": amount1},{"id": "node2" , "amount": amount2}]' feerate=1000perkb minchannels=2

Make sure to change minchannels if you add more destinations.

legendary
Activity: 1512
Merit: 7340
Farewell, Leo
January 15, 2022, 11:27:36 AM
How do I open multiple channels in one transaction? Probably with multifundchannel, it's just that I can't understand the proper way to run it. It doesn't give an example in docs and I didn't find anything at github.

How do you insert an array, or in this situation the destination, properly? There are lots of ways I can think of...
Code:
node1, node2
{node1, node2}
[node 1, node2] etc.

None of the above works.
legendary
Activity: 1876
Merit: 3139
January 11, 2022, 07:01:31 PM
For example, I have read about instances in which an LN node failed, the user restored from a backup that did not have the correct channel state, which resulted in the backup-restored node trying to close the channel via an old channel state.

You're right. Although, it's fairly uncommon to run an old backup, even unintentionally. LND by default generates static backups, which can be only used to request the other party to close a channel. C-lightning's backup plugin backups the whole channel database to a remote directory/drive and it constantly overwrites old backups.

What's the best channel_capacity/network_contribution ratio? For instance, would it be more contributive to open 100 of 0.01 BTC rather than 2 of 0.50 BTC?

100 channels sound better. If someone undercut (in terms of fees) only some of your channels, it should not impact your routing effectiveness greatly. Also, you are more likely to get more routing attempts through you as long as you choose channels and set your fees reasonably.

Also, how do I choose the proper nodes to do this?

That's one of the trickiest parts of running a Lightning node. I usually select some random medium-sized nodes from either amboss.space or 1ml.com and then check the shortest path from my node to theirs using lnrouter.app. Don't forget that path finding algorithms also take the route length into consideration.

Also, how do I choose the proper nodes to do this? I had read about triangles, but I'm not sure if that's what I'm talking about.

You can learn about liquidity triangle/square/pentagon swaps here. Once you set up a mainnet node, you can use that website to find partners for the swap. Liquidity swaps might actually improve your routing performance.

Yesterday, I performed a triangle swap with two other bitcointalk members. Each of us opened a 0.05 BTC channel to the other person. This way, we gained additional 0.10 BTC capacity, which means that this swap has doubled my node's capacity. I paid 222 sat for the opening transaction. We dropped the fees to 0 and TheJuice's script took care of the rebalancing. On the same day, I routed 6 transactions from the channel I opened and I got paid 222.76 satoshi. The channel paid itself off in just a few hours.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
January 11, 2022, 04:00:37 PM
What's the best channel_capacity/network_contribution ratio? For instance, would it be more contributive to open 100 of 0.01 BTC rather than 2 of 0.50 BTC? Also, how do I choose the proper nodes to do this? I had read about triangles, but I'm not sure if that's what I'm talking about. Are there any helpful guiding threads in here?

I just want to increase the capacity in testnet. I have few tBTC lying around (~4.5 tBTC) and I prefer using them in a way to be useful than having them in my dusty cold storage.
copper member
Activity: 1666
Merit: 1901
Amazon Prime Member #7
January 09, 2022, 02:57:44 PM
If you ever wondered how often someone is penalized for fraudulent behaviour, forkmonitor keeps track of all penalty transactions ever broadcast. Apparently, there have been 419 unsuccessful cheat attempts with a total of ~5.13 BTC at stake since the end of 2017.
I don't think all these transactions are necessarily "cheat attempts". For example, I have read about instances in which an LN node failed, the user restored from a backup that did not have the correct channel state, which resulted in the backup-restored node trying to close the channel via an old channel state.
legendary
Activity: 1876
Merit: 3139
January 07, 2022, 06:58:41 PM
If you ever wondered how often someone is penalized for fraudulent behaviour, forkmonitor keeps track of all penalty transactions ever broadcast. Apparently, there have been 419 unsuccessful cheat attempts with a total of ~5.13 BTC at stake since the end of 2017.
legendary
Activity: 2898
Merit: 1823
January 07, 2022, 06:06:05 AM
Plus Chain Anals’ tracking of Lightning transactions actually helps increase the liquidity in the network and helps it scale, and makes it function better. Cool
Just like scammers and governments support the Tor network by running their own compromised nodes Wink As long as enough scammers and competing governments join, and as long as users are aware of the risks, none of this stops the network.


But there’s a big difference between routing traffic in TOR, and routing transactions in the Lightning Network. Eventually, a node operator will need to take opportunity costs into account, and must be incentivized to maintain “staking” his/her capital. Chain Anals’ increasing need to montior Lightning = demand for Bitcoin.

Plus with their business model, they should be telling everyone to use Bitcoin. No users = no transactions to monitor = no Chain Anals. Cool
Pages:
Jump to: