Bitcoin Forum
May 22, 2019, 12:15:59 PM *
News: Latest Bitcoin Core release: 0.18.0 [Torrent] (New!)
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Lightning network : what about receiving payments ?  (Read 250 times)
darosior
Full Member
***
Offline Offline

Activity: 170
Merit: 177



View Profile WWW
March 03, 2019, 02:27:21 PM
Merited by suchmoon (4)
 #1

Hi,

I've been "using" (quoted because it's more tweaking than real use) the Lightning network for about a year and I still have a question that I could not get answered to. Lightning network is a great mean of payments, but what about getting paid for the average user ? You need to get someone open and fund a channel with you but since you are just a random guy you won't convince anybody, or maybe just another random guy. If you want
, let's say, withdraw some funds from a website (a big, famous one) : this website has to fund a channel with you, which it won't do because it has a cost (some bitcoins locked, not talking about on-chain transactions fees), or with the guy that funded a channel with you, which it won't do for the same reasons.

If the Lightning network becomes more popular, how could be solved this problem (that the average user could just be the payer and not the payee) ? Would it lead to the fact that you would have to pay to get a well-connected node opening a channel with you ? Am I missing something ?

Github profile ~ Crypto Lyon (french community)  ~ GPG key fingerprint : E13F C145 CD3F 430 ~ LN public key : 03678b4f041fbfbeebcafc076469df75decf81da20a53bd490172e83ce532df1fa
Tutorials/posts : Address from private keyBitcoin smart contracts ~ Setup a Bitcoin node ~ Raw P2PKH transaction in Python ~ P2SH ~ 51% attack
1558527359
Hero Member
*
Offline Offline

Posts: 1558527359

View Profile Personal Message (Offline)

Ignore
1558527359
Reply with quote  #2

1558527359
Report to moderator
1558527359
Hero Member
*
Offline Offline

Posts: 1558527359

View Profile Personal Message (Offline)

Ignore
1558527359
Reply with quote  #2

1558527359
Report to moderator
Creating a Bitcoin client that fully implements the network protocol is extremely difficult. Bitcoin Core and some of its derivatives are the only known safe implementations of full nodes. Some other projects attempt to compete, but it is not recommended to use such software for anything serious. (Lightweight clients like Electrum and Bither are OK.)
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Royse777
Hero Member
*****
Offline Offline

Activity: 714
Merit: 678


WorldCup Pool Join FREE: https://bit.ly/2LyHeRj


View Profile
March 03, 2019, 02:35:50 PM
 #2

This wonders me too. I hope we will get some experts view in it. I think for the regular dudes they will need to deposit their btc to several channels depending on the merchant. For example: If you shop with ebay then you will have one with ebay and if you want to trade with amazon then you will need another one for amazon.

Lightening Network will surely save expensed for online Merchants.

███████████
██
██
██
██
██
██
██
██
██
██
██
███████████
#1
███████████
██
██
██
██
██
██
██
██
██
██
██
███████████
BTC 
  ●
   BTC
  BTC  
.
    ▄▄▄▀▀▀▀
 ▄██▀
███        ▄▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄▄▄
▀███▄▄▄▄▀▀▀                 ▀▀▄▄
  ▀▀▀██████████████████████████▀
   ▄█▄     ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
    ▀▀██▄▄█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀▀
      ▄  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
      ▀██▄  ▄▀▀▀▀▀▀▀▀▀▀▀▀▄
        ▀█▀██████████████▀▀
         ▀█▄▄ ▄▄▄▄▄▄▄▄▄▄
            █▀▄▄▄▄▄▄▄▄▄▄▀
             ▀▀▄▄▄▄▄▄▄
.
     BTC
  BTC   
  ●
  BTC  
███████████
██
██
██
██
██
██
██
██
██
██
██
███████████
███████████
██
██
██
██
██
██
██
██
██
██
██
███████████
Carlton Banks
Legendary
*
Offline Offline

Activity: 2380
Merit: 1671



View Profile
March 03, 2019, 03:58:14 PM
Merited by suchmoon (4), ETFbitcoin (1), BitCryptex (1), o_e_l_e_o (1)
 #3

let's say, withdraw some funds from a website (a big, famous one) : this website has to fund a channel with you, which it won't do

The clue is in the name (i.e. "network")

The website does not need to open a channel to send funds to it's users. All that's needed is a series of channels that are linked through more than one lightning node.


Website -> A -> B -> ... -> darosior


As long as A, B and all other nodes in between have enough money to fund the payment, then the payment route is viable and you receive your withdrawal.

Vires in numeris
darosior
Full Member
***
Offline Offline

Activity: 170
Merit: 177



View Profile WWW
March 03, 2019, 05:51:30 PM
 #4

let's say, withdraw some funds from a website (a big, famous one) : this website has to fund a channel with you, which it won't do

The clue is in the name (i.e. "network")

The website does not need to open a channel to send funds to it's users. All that's needed is a series of channels that are linked through more than one lightning node.


Website -> A -> B -> ... -> darosior


As long as A, B and all other nodes in between have enough money to fund the payment, then the payment route is viable and you receive your withdrawal.
If and only if B has funded a channel with me, but why would he ? That's my question. In my understanding since there is no incentive to fund a channel to someone, average people won't have well connected node opening channel with them and thus won't be able to receive payments.

Github profile ~ Crypto Lyon (french community)  ~ GPG key fingerprint : E13F C145 CD3F 430 ~ LN public key : 03678b4f041fbfbeebcafc076469df75decf81da20a53bd490172e83ce532df1fa
Tutorials/posts : Address from private keyBitcoin smart contracts ~ Setup a Bitcoin node ~ Raw P2PKH transaction in Python ~ P2SH ~ 51% attack
NeuroticFish
Legendary
*
Online Online

Activity: 1862
Merit: 1214


There are no mistakes. Only opportunities wasted.


View Profile
March 03, 2019, 06:07:09 PM
 #5

Please correct me if I'm wrong, but I think that the answer is for this case the use of 3rd party services.

OK, if you, John Doe, even if nobody knows you, if you will use frequently LN for sending and receiving payments, most probably you'll find somebody (a service) to open the channel with.

But if you won't, probably the online wallet services will also allow LN transactions. Of course, this means centralisation and lower security...

Carlton Banks
Legendary
*
Offline Offline

Activity: 2380
Merit: 1671



View Profile
March 03, 2019, 07:12:45 PM
Last edit: March 04, 2019, 09:57:37 AM by Carlton Banks
Merited by ETFbitcoin (1)
 #6

If and only if B has funded a channel with me

Nope.

You need a channel. Just one. That node needs to have at least 2 channels (1 with you,  1 more with someone else). That node needs to have at least 2 channels.... etc. Repeat until you have a complete route to who you're actually paying. It's a network.

Vires in numeris
darosior
Full Member
***
Offline Offline

Activity: 170
Merit: 177



View Profile WWW
March 03, 2019, 08:55:45 PM
 #7

If and only if B has funded a channel with me

Nope.

You need a channel. Just one. That node needs to have at least 2 channels (1 with you,  with someone else). That node needs to have at least 2 channels.... etc. Repeat until you have a complete route to who you're actually paying. It's a network.
You seem to don't understand what I'm saying, I understand what is a network thank you for the precision. Here is a practical exemple :
I have opened a channel with the well-connected node "1ML". Thanks to this well connected node I am able to play lightning-roulette since I can pay the underlying node. I won't be able to withdraw what I gained (If I ever gain ^^) because 1ML won't bother locking some bitcoins to fund a channel to me.

Github profile ~ Crypto Lyon (french community)  ~ GPG key fingerprint : E13F C145 CD3F 430 ~ LN public key : 03678b4f041fbfbeebcafc076469df75decf81da20a53bd490172e83ce532df1fa
Tutorials/posts : Address from private keyBitcoin smart contracts ~ Setup a Bitcoin node ~ Raw P2PKH transaction in Python ~ P2SH ~ 51% attack
BitCryptex
Hero Member
*****
Offline Offline

Activity: 574
Merit: 718


Write @BitCryptex or quote my post to notify me


View Profile WWW
March 03, 2019, 09:47:10 PM
Merited by suchmoon (4), ETFbitcoin (1)
 #8

I have opened a channel with the well-connected node "1ML". Thanks to this well connected node I am able to play lightning-roulette since I can pay the underlying node. I won't be able to withdraw what I gained (If I ever gain ^^) because 1ML won't bother locking some bitcoins to fund a channel to me.

There is no need for 1ML to open back a channel to you. Once you send your payment, the funds are moved on the 1ML's side. Then, 1ML moves coins in their other channel to the side of the next node which routes the payment (or just lightning-roulette in this case). If you request a withdrawal then the funds can take the same route assuming that 1ML didn't close their channel with lightning-roulette and has enough liquidity.

If you still don't get it, you can download Eclair Mobile Testnet for Android. Recently, they added support for receiving payments so you can test it out and see how it works.

darosior
Full Member
***
Offline Offline

Activity: 170
Merit: 177



View Profile WWW
March 03, 2019, 10:01:22 PM
 #9

I have opened a channel with the well-connected node "1ML". Thanks to this well connected node I am able to play lightning-roulette since I can pay the underlying node. I won't be able to withdraw what I gained (If I ever gain ^^) because 1ML won't bother locking some bitcoins to fund a channel to me.

There is no need for 1ML to open back a channel to you. Once you send your payment, the funds are moved on the 1ML's side. Then, 1ML moves coins in their other channel to the side of the next node which routes the payment (or just lightning-roulette in this case). If you request a withdrawal then the funds can take the same route assuming that 1ML didn't close their channel with lightning-roulette and has enough liquidity.

If you still don't get it, you can download Eclair Mobile Testnet for Android. Recently, they added support for receiving payments so you can test it out and see how it works.
Thank you for your response. I thought if 1ML doesn't fund the channel in the first place, the channel would stay a one-way one.

Github profile ~ Crypto Lyon (french community)  ~ GPG key fingerprint : E13F C145 CD3F 430 ~ LN public key : 03678b4f041fbfbeebcafc076469df75decf81da20a53bd490172e83ce532df1fa
Tutorials/posts : Address from private keyBitcoin smart contracts ~ Setup a Bitcoin node ~ Raw P2PKH transaction in Python ~ P2SH ~ 51% attack
BitCryptex
Hero Member
*****
Offline Offline

Activity: 574
Merit: 718


Write @BitCryptex or quote my post to notify me


View Profile WWW
March 03, 2019, 10:30:19 PM
Merited by suchmoon (4), darosior (2), Carlton Banks (1), ETFbitcoin (1), o_e_l_e_o (1)
 #10

Thank you for your response. I thought if 1ML doesn't fund the channel in the first place, the channel would stay a one-way one.

The Lightning Network consists only of bi-directional payment channels. The problem with receiving payments is that you can't receive if there is not enough space in your channel. Also, currently, only one party can fund a channel. Dual-funded channels are not available, yet.

ajas
Member
**
Offline Offline

Activity: 107
Merit: 19


View Profile
March 04, 2019, 01:18:42 AM
Merited by darosior (2)
 #11

You are completely right. You have to urge somebody to open a channel to you in order to receive funds in the first place.

There are a couple of nodes which officially (commercially) offer to open a channel to you, for instance:
https://www.bitrefill.com/thor-lightning-network-channels
https://lightningconductor.net/channels

If you send me your node pubkey (via PM?) I would open a channel to you as well.
darosior
Full Member
***
Offline Offline

Activity: 170
Merit: 177



View Profile WWW
March 04, 2019, 09:32:00 AM
 #12

Thank you for your response. I thought if 1ML doesn't fund the channel in the first place, the channel would stay a one-way one.

The Lightning Network consists only of bi-directional payment channels. The problem with receiving payments is that you can't receive if there is not enough space in your channel. Also, currently, only one party can fund a channel. Dual-funded channels are not available, yet.
Ok, so there is indeed a problem for receiving a payment for now, but it will be resolved with the use of dual-funded channels ?

You are completely right. You have to urge somebody to open a channel to you in order to receive funds in the first place.

There are a couple of nodes which officially (commercially) offer to open a channel to you, for instance:
https://www.bitrefill.com/thor-lightning-network-channels
https://lightningconductor.net/channels

If you send me your node pubkey (via PM?) I would open a channel to you as well.
Thank you for your links and your proposition, here is one of mines :
Code:
02a447fd201226f0bf6421c356f9d2117b0fb05ccc0858dd2b20589b9edb488f67@82.245.113.89:9735

Github profile ~ Crypto Lyon (french community)  ~ GPG key fingerprint : E13F C145 CD3F 430 ~ LN public key : 03678b4f041fbfbeebcafc076469df75decf81da20a53bd490172e83ce532df1fa
Tutorials/posts : Address from private keyBitcoin smart contracts ~ Setup a Bitcoin node ~ Raw P2PKH transaction in Python ~ P2SH ~ 51% attack
Carlton Banks
Legendary
*
Offline Offline

Activity: 2380
Merit: 1671



View Profile
March 04, 2019, 09:56:35 AM
Merited by darosior (2), BitCryptex (1)
 #13

You are completely right. You have to urge somebody to open a channel to you in order to receive funds in the first place.

Completely wrong, actually. Bi-directional channels. That means you can open a channel with 1 node, and receive payments with anyone else that's indirectly connected to that node.


Thank you for your response. I thought if 1ML doesn't fund the channel in the first place, the channel would stay a one-way one.

The Lightning Network consists only of bi-directional payment channels. The problem with receiving payments is that you can't receive if there is not enough space in your channel. Also, currently, only one party can fund a channel. Dual-funded channels are not available, yet.
Ok, so there is indeed a problem for receiving a payment for now, but it will be resolved with the use of dual-funded channels ?

No, you misunderstood.

The only issue is that some nodes (probably most of them still) have a max channel size (0.16777 BTC). But there's an option to ignore that limit too, as long as both nodes agree as a part of opening the channel to begin with.

Dual funding just allows a channel to be more balanced when it opens, nothing at all to do with receiving payments.

Vires in numeris
ajas
Member
**
Offline Offline

Activity: 107
Merit: 19


View Profile
March 04, 2019, 01:44:25 PM
 #14

You are completely right. You have to urge somebody to open a channel to you in order to receive funds in the first place.
...
done !
...
Completely wrong, actually. Bi-directional channels. That means you can open a channel with 1 node, and receive payments with anyone else that's indirectly connected to that node.

Thank you for your response. I thought if 1ML doesn't fund the channel in the first place, the channel would stay a one-way one.
The Lightning Network consists only of bi-directional payment channels. The problem with receiving payments is that you can't receive if there is not enough space in your channel. Also, currently, only one party can fund a channel. Dual-funded channels are not available, yet.
Ok, so there is indeed a problem for receiving a payment for now, but it will be resolved with the use of dual-funded channels ?

No, you misunderstood.
The only issue is that some nodes (probably most of them still) have a max channel size (0.16777 BTC). But there's an option to ignore that limit too, as long as both nodes agree as a part of opening the channel to begin with.
Dual funding just allows a channel to be more balanced when it opens, nothing at all to do with receiving payments.

I do not agree:
Yes the channels are bi-directional but when you open a channel its filled up from your side at first.
If you want to receive btc through that channel you have to spent it first so that it can be filled again from the other side.

As far as I see there is some discussion to extend the protocol for dual-funded channels but i do not see a way to achieve that today.
You can open a channel with funds on the other side with LND using the option -push-amt:
Quote
  The channel will be initialized with local-amt satoshis local and push-amt
  satoshis for the remote node. Note that specifying push-amt means you give that
  amount to the remote node as part of the channel opening.

But in that case you fill the other side with btc from your own.
Carlton Banks
Legendary
*
Offline Offline

Activity: 2380
Merit: 1671



View Profile
March 04, 2019, 01:52:57 PM
 #15

Yes the channels are bi-directional but when you open a channel its filled up from your side at first.

Easy solution: don't open a channel using the max amount.

Vires in numeris
ajas
Member
**
Offline Offline

Activity: 107
Merit: 19


View Profile
March 04, 2019, 02:09:32 PM
 #16

Yes the channels are bi-directional but when you open a channel its filled up from your side at first.
Easy solution: don't open a channel using the max amount.

Sorry I do not understand.
Can you tell me the command line arguments for lncli in order to open a dual-funded channel ?
BitCryptex
Hero Member
*****
Offline Offline

Activity: 574
Merit: 718


Write @BitCryptex or quote my post to notify me


View Profile WWW
March 04, 2019, 08:08:03 PM
 #17

Can you tell me the command line arguments for lncli in order to open a dual-funded channel ?

There is no such command because dual-funded channels haven't been introduced yet. Using -push-amt parameter results in being able to receive payments if the other party is connected to someone else, but that's pointless. Why would anyone do that only to gain liquidity?

darosior
Full Member
***
Offline Offline

Activity: 170
Merit: 177



View Profile WWW
March 05, 2019, 09:41:40 AM
 #18

Ok so it seems that I had a big misuderstanding of bi-directionnal channels, thank you all.

Github profile ~ Crypto Lyon (french community)  ~ GPG key fingerprint : E13F C145 CD3F 430 ~ LN public key : 03678b4f041fbfbeebcafc076469df75decf81da20a53bd490172e83ce532df1fa
Tutorials/posts : Address from private keyBitcoin smart contracts ~ Setup a Bitcoin node ~ Raw P2PKH transaction in Python ~ P2SH ~ 51% attack
Carlton Banks
Legendary
*
Offline Offline

Activity: 2380
Merit: 1671



View Profile
March 05, 2019, 10:29:29 AM
 #19

Ok so it seems that I had a big misuderstanding of bi-directionnal channels, thank you all.

We've discovered an issue though: it's possible to confuse "dual-funding" and "bi-directional". Maybe there's a different phrase that could be used to make them both more distinct. Perhaps "dual-funded" channels could be referred to as "balanced" channels, and "single funded" channels as "unbalanced"

also, people might get the idea that channels only flow one-way (as you did). Perhaps that can be made clearer somehow too.

Vires in numeris
Pages: [1]
  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!