Pages:
Author

Topic: Can Lightning network work decentralized ? - page 4. (Read 1204 times)

member
Activity: 392
Merit: 41
This text is irrelevant
January 09, 2018, 03:29:26 AM
#26
I really don't see how LN is supposed to work decentralized. In this scenario there would be a huge chain of people where everybody lends his money to the next guy in the chain, up the guy at the end of the chain who wants to pay for something. The maximum payment amount in this scenario is determined by the guy who has the least amount of money freely available in that chain. This effectively would mean that it can only work decentralized for very small payments. Even payments bigger than a few dollar could already be problematic.

Whereas in a centralized scenario, it could perfectly work, but it would effectively turn into a regular banking relationship as people have now, just with a different name (account at your bank vs payment channel with your bank). Or am I missing something here?

I both agree and disagree with your conclusions.

Yes, the system designed to work as a mesh but it will in fact look more like a star with exchanges/payment processors/large fund holders in the middle. And it looks a lot like centralization. However we should not forget that payment hubs won't ever have any control over your funds (i.e. they won't be able to hold your transaction hostage, impose KYC, manage fees). It's trustless middleman, that is important for the process, rewarded in proportion for it's importance, yet does not own or control the process in any significant way.
hero member
Activity: 588
Merit: 500
January 09, 2018, 12:17:15 AM
#25
Some simple math.
Assume we have 30 mil bitcoin users.
Every user should open a LN channel and close LN channel.
Bitcoin can handle 300 000 transactions per day.
30 mil users should wait for 100 days so every one can open a channel, and 100 days to close a channel if there is no other transactions besides LN settlements in bitcoin network.
300 mil users should wait 1000 days, so every user can have openned LN channel.
Bitcoin can't even adopt Lightning Network without big blocks. LN official release will lead just to another huge fee spike, and since LN channels should be restarted regularly bitcoin network can be clogged by LN settlements.
It's extremely unlikely that every single user is going to attempt to open lightning channels simultaneously on the day that a fully released software for LN is available. It is extremely unlikely that every single user is going to attempt to close their lightning channels simultaneously. As with literally every other release of a new technology in Bitcoin, it's going to take months, probably years, before LN is actually widely used. Just look at how long it took for P2SH to become widely used. And how long it has taken for segwit. This situation you are describing is extremely unlikely to happen.

So is there any limit to how many transactions LN can handle. It seems like opening and closing channels would count as two transactions and theirs a limit for how much data that can fit in a bitcoin block. I am just trying to wrap my head around the LN it's confusing to me.
staff
Activity: 3458
Merit: 6793
Just writing some code
January 08, 2018, 02:52:30 PM
#24
Some simple math.
Assume we have 30 mil bitcoin users.
Every user should open a LN channel and close LN channel.
Bitcoin can handle 300 000 transactions per day.
30 mil users should wait for 100 days so every one can open a channel, and 100 days to close a channel if there is no other transactions besides LN settlements in bitcoin network.
300 mil users should wait 1000 days, so every user can have openned LN channel.
Bitcoin can't even adopt Lightning Network without big blocks. LN official release will lead just to another huge fee spike, and since LN channels should be restarted regularly bitcoin network can be clogged by LN settlements.
It's extremely unlikely that every single user is going to attempt to open lightning channels simultaneously on the day that a fully released software for LN is available. It is extremely unlikely that every single user is going to attempt to close their lightning channels simultaneously. As with literally every other release of a new technology in Bitcoin, it's going to take months, probably years, before LN is actually widely used. Just look at how long it took for P2SH to become widely used. And how long it has taken for segwit. This situation you are describing is extremely unlikely to happen.
copper member
Activity: 1050
Merit: 294
January 08, 2018, 10:31:13 AM
#23
That's completely untrue. You are then dependent on the wealth of that "bank", how many channels it has open, and how much it owns on each channel. You are not done, and there is no guarantee that said "bank" will be any better than your 4 friends. Suppose that bank is just like friends, but with more channels that lead to dead ends and not the airline you want to pay. Now you're stuck. It's exactly the same as with your friends, and not any better nor any worse.

Well I rather depend on the wealth of a bank than on the wealth of my friends (and their friend's friends wealth) Wink But yeah even then you're indeed not guaranteed of a good route and it's not even a guarantee I can pay my ticket. But isn't that an awful system then ? Of course I can always choose to bypass LN and just cough up the $55 (or way higher) transaction fee ... But still it just seems so far from perfect that I wonder if this thing is going to make it.
This is the worst thing i find in lightening network that the amount of transaction is limited on network and depends on channels(and group).
Even if the "bank" which is going to receive have enough funds but still we have to depend on the group which are connected to the pool of that bank with different channels.

I think Lightning network would be great for smaller payments/transactions but will be the worst for large scale transactions, we will need huge group with maximum channels for big transactions.

P.S : Correct me if i am wrong.
hv_
legendary
Activity: 2534
Merit: 1055
Clean Code and Scale
January 08, 2018, 06:35:32 AM
#22
I think that it will not be a centralized doom scenario like some people think.

Nods do not have to be very big. Most small buy coffee amounts don't need much of backup from supper nodes.

You still can choose to send using the main chain wich have by then lower fee as the load is gone

Right now we have massive mining farms and small home miners that work in harmony to a certain level

Instad of mining pools we should see super nodes that are funded by average john using some smart contracts

I think that development team have think about al this points.


It's gonna be economically, technically, ideally, name it why  -> most efficient to have ONE central hub :

https://www.youtube.com/watch?v=3pd6xHjLbhs&feature=youtu.be&t=1h17m00s

So it's not hard to figure out, where open markets will tend to!

AND it will be regulated as a payment processor in most countries.

-> Not my bitcoin.
newbie
Activity: 36
Merit: 0
January 07, 2018, 11:26:24 AM
#21
Some simple math.
Assume we have 30 mil bitcoin users.
Every user should open a LN channel and close LN channel.
Bitcoin can handle 300 000 transactions per day.
30 mil users should wait for 100 days so every one can open a channel, and 100 days to close a channel if there is no other transactions besides LN settlements in bitcoin network.
300 mil users should wait 1000 days, so every user can have openned LN channel.
Bitcoin can't even adopt Lightning Network without big blocks. LN official release will lead just to another huge fee spike, and since LN channels should be restarted regularly bitcoin network can be clogged by LN settlements.
legendary
Activity: 2926
Merit: 1386
January 06, 2018, 01:19:45 PM
#20
1) Users need to be online all the time! If somebody is offline he can NOT process a transaction for you, this means that that person breaks the route, which is a huge problem. Banks on the other hand will of course be online 24/7
Not necessarily. If only one node's HTLC success transaction is broadcast, then all nodes in the route can take their payment and make their payment simultaneously even if one or more of them is offline.

2) Monetary incentives for centralization! Everybody who helps processing your transaction gets a small fee. So if there's a route with 10 people in it, then a bank with a direct route can charge 9.99x the fee for one hub and still be cheaper! So the bigger a hub becomes, the smaller the routes will become and the more they can charge. This of course works as a huge snowball for size and is a huge incentive to become as big as possible.
I don't think the fee will be a centralization pressure. It will be a race to the bottom ...


Wait, so we can fund the entire LN with less than the current BTC miner fees?

Smiley
jr. member
Activity: 154
Merit: 8
SODL
January 05, 2018, 08:50:37 PM
#19
Not necessarily. If only one node's HTLC success transaction is broadcast, then all nodes in the route can take their payment and make their payment simultaneously even if one or more of them is offline.
From my understanding when a user is offline he won't even get elected as possible node.

I don't think the fee will be a centralization pressure. It will be a race to the bottom because there will be competition and it will be easy for new nodes to compete. So sure your "bank" charges 9.99 as their fee for one route. Now I create my own node and I get a couple of channels, not as much, but still many. If you route through me, you may still have to go through 4 other nodes. I can then charge 5 as the so the total route fee is 9 (5 + 4*1). Now that "bank" has to lower his fee to remain competetive, and so on and so forth.
Hmm I find this a weird answer. Of course the guy with just one node can always charge less because he doesn't have to divide the profit.
staff
Activity: 3458
Merit: 6793
Just writing some code
January 04, 2018, 08:39:00 PM
#18
1) Users need to be online all the time! If somebody is offline he can NOT process a transaction for you, this means that that person breaks the route, which is a huge problem. Banks on the other hand will of course be online 24/7
Not necessarily. If only one node's HTLC success transaction is broadcast, then all nodes in the route can take their payment and make their payment simultaneously even if one or more of them is offline.

2) Monetary incentives for centralization! Everybody who helps processing your transaction gets a small fee. So if there's a route with 10 people in it, then a bank with a direct route can charge 9.99x the fee for one hub and still be cheaper! So the bigger a hub becomes, the smaller the routes will become and the more they can charge. This of course works as a huge snowball for size and is a huge incentive to become as big as possible.
I don't think the fee will be a centralization pressure. It will be a race to the bottom because there will be competition and it will be easy for new nodes to compete. So sure your "bank" charges 9.99 as their fee for one route. Now I create my own node and I get a couple of channels, not as much, but still many. If you route through me, you may still have to go through 4 other nodes. I can then charge 5 as the so the total route fee is 9 (5 + 4*1). Now that "bank" has to lower his fee to remain competetive, and so on and so forth. It will be difficult for any one node to get a monopoly and maintain it and make LN centralized. Even then, anyone can still make their own node and make channels without the permission of the "central nodes". So there will certainly be lots of competition and that makes it decentralized. You can close a channel without the other party agreeing to it, so you can switch to using a competitor at any time. You can even close your channel and fund the opening of a channel with someone else at exactly the same time in the same transaction, so you won't have to pay more in transaction fees.
jr. member
Activity: 154
Merit: 8
SODL
January 04, 2018, 09:12:33 AM
#17
I've been reading some more and there are even more important arguments against decentralization:

1) Users need to be online all the time! If somebody is offline he can NOT process a transaction for you, this means that that person breaks the route, which is a huge problem. Banks on the other hand will of course be online 24/7
2) Monetary incentives for centralization! Everybody who helps processing your transaction gets a small fee. So if there's a route with 10 people in it, then a bank with a direct route can charge 9.99x the fee for one hub and still be cheaper! So the bigger a hub becomes, the smaller the routes will become and the more they can charge. This of course works as a huge snowball for size and is a huge incentive to become as big as possible.
newbie
Activity: 6
Merit: 0
January 04, 2018, 08:45:28 AM
#16
No one knows how the LN graph will look like until it's widely used. Most people will use LN for micro-payments, this means that people with low amount of BTC will still get used, so you won't need to open a channel with a big hub for you to pay your $3 coffee, because most people will have an open channel with an amount greater than $3.

Even in the worst case scenario where we have centralized hubs, it's a different centralization compared to say Ripple, where for example they can blacklist you and you can't send any XRP in the whole Ripple network, so you effectively have lost your XRP. In the case of a centralized LN network, you can just open a channel with a person that is already connected to a big hub and send all your transactions through that person if the hub refuses to accept your payment, and for small payment, I guess you won't even need a hub, just route your transaction through normal users.

centralization and decentralization can't be measured in absolute terms, all that a centralized network of hubs can do is refuse to route your payment, whereas in other centralized networks like Ripple or Paypal, they can actually freeze your funds.

Even if we have big hubs that most people use, can you really call it a centralized network when you still have the option to choose a route that doesn't involve these big hubs?
full member
Activity: 312
Merit: 111
January 03, 2018, 05:02:58 PM
#15
I think that it will not be a centralized doom scenario like some people think.

Nods do not have to be very big. Most small buy coffee amounts don't need much of backup from supper nodes.

You still can choose to send using the main chain wich have by then lower fee as the load is gone

Right now we have massive mining farms and small home miners that work in harmony to a certain level

Instad of mining pools we should see super nodes that are funded by average john using some smart contracts

I think that development team have think about al this points.
jr. member
Activity: 154
Merit: 8
SODL
January 03, 2018, 09:05:40 AM
#14
Thanks, great explanation! I probably should not have used the term lending because the risks inherent in traditional lending clearly don't apply here. However the point remains that everybody in the route needs to have the money freely available that you want to pay. Personally I feel that this is why LN will never really work decentralized as some envision it. Time will tell.
staff
Activity: 3458
Merit: 6793
Just writing some code
January 03, 2018, 12:55:53 AM
#13
BTW does BTC even supply for such a mechanism that it can cancel all payments if one fails ? Otherwise nobody would use it (who wants to pay 80% of a product and thus not receive the product) and your example isn't even valid
Yes, there is a mechanism to cancel a payment. Anyways, currently it isn't even possible to have a partial payment. The way that routing works is that the sender chooses the nodes to send through and will only initiate the process if it knows that the payment will happen (barring circumstances involving malicious actors or unforseen circumstances).

Actually I don't think this is correct. In A -> B -> C then C first finalizes payment from B by sending the pre-image to B. Then B does the same with A, exactly like explained here: https://en.bitcoin.it/wiki/Hashed_Timelock_Contracts  How is this different from a lending situation ? You ask your friend to pay for the pizza and after he paid for the pizza, you pay him.
No, that's not how it actually works on the technical level.

At the technical level, every node in the route first creates an HTLC offered output and HTLC received output in the channels that the payment is being routed through. This effectively locks in the coins and the order of those outputs being created is not guaranteed. I.e. A could offer the HTLC to B before B offers to C, in which case B owes A money. But just as likely is B offers C the HTLC output before it receives the HTLC from A, in which case A owes B money. In either case, neither party actually gets any money, so no money actually exchanged hands nor is anything actually owed. If B fails to offer the HTLC C, A will get his money back when the HTLC times out and B will not be able to have gotten any of that money at all. When the preimage is passed down the route from D to A (let's add one additional hop for this example), none of the parties in the route is able to get more money than they are supposed to even if they don't reveal the preimage to the next person. With lending money, the lender can steal the money, but in LN, the "lenders" (i.e. nodes in the route) cannot.

The reason for this is slightly complicated. In a route A -> B -> C -> D, D must reveal the preimage R in order to be paid. He can do this by either broadcasting the C -> D Commitment transaction and the HTLC success transaction (so he spends the HTLC output from the commitment tx) or by telling C what R is (and thus keep the channel open). If he broadcasts the HTLC success, then both B and C know what R is since R is in that HTLC success and can immediately broadcast their HTLC success transactions, so they are paid and pay money at exactly the same time.

If D gives C R and they settle off chain (to keep the channel open) but C refuses to give B R, he is actually out money since he has already settled the HTLC offered output but not his HTLC received. C is now short the money that he gave to D. Note that this is different from lending because this is not B refusing to give C his money but rather C refusing to take it. The only way C can take that money is if he gives B R or if he broadcasts the commitment transaction and HTLC success transaction. Either way, B will get R and he will end up paying the money to C as that is how HTLCs work.

The payment of the HTLCs is guaranteed because of the commitment transactions. HTLCs are part of the commitment transaction which is signed by both parties in the channel. In the B -> C channel, B cannot revert his HTLC without C agreeing to revert it. If he chose to broadcast an old commitment which did not have this HTLC, then he will be subject to C's revocation transaction which can take all of B's money. The way that HTLCs work is that if you can show that you know R, then the payment is guaranteed because you can spend that output. So once C knows R, his payment is guaranteed unless he waits too long and the HTLC times out. But then that is still not lending as B did not refuse to pay C but rather C refused to take money from B.

So in no way is this actually lending. No node has more money than they are supposed to. HTLCs are not a promise that you will give them the money (as it is with lending) but rather a guarantee that they will get the money. Nodes must forward R down the route otherwise they will be losing money. There is no situation where a node can get more money than they are supposed.

Note that this only works when R goes from D -> A. If it went from A -> D, then it would be lending and a node could defraud the next node in the route. But LN goes the other way, so that is not a problem.
jr. member
Activity: 154
Merit: 8
SODL
January 02, 2018, 09:37:44 PM
#12
Actually he doesn't. B pays C at the exact same time that A pays B. So there is no lending as B is never short of his money. As soon as the hash preimage for an HTLC is known to the world, all parties in a route are instantly paid because the HTLCs can be then settled at the same time.

Actually I don't think this is correct. In A -> B -> C then C first finalizes payment from B by sending the pre-image to B. Then B does the same with A, exactly like explained here: https://en.bitcoin.it/wiki/Hashed_Timelock_Contracts  How is this different from a lending situation ? You ask your friend to pay for the pizza and after he paid for the pizza, you pay him.
jr. member
Activity: 154
Merit: 8
SODL
January 02, 2018, 09:15:31 PM
#11
If I have two BTC total split across 4 channels and I want to buy something for 2 BTC, I can send 0.5 via Channel 1 to merchant A, 0.5 BTC via Channel 2 to Merchant A, and so on. Merchant A will get 2 BTC from either one channel or from multiple channels, Either way, he gets paid 2 BTC and I spent 2 BTC and the transactions are guaranteed.

BTW does BTC even supply for such a mechanism that it can cancel all payments if one fails ? Otherwise nobody would use it (who wants to pay 80% of a product and thus not receive the product) and your example isn't even valid
jr. member
Activity: 154
Merit: 8
SODL
January 02, 2018, 06:37:23 PM
#10
That's completely untrue. You are then dependent on the wealth of that "bank", how many channels it has open, and how much it owns on each channel. You are not done, and there is no guarantee that said "bank" will be any better than your 4 friends. Suppose that bank is just like friends, but with more channels that lead to dead ends and not the airline you want to pay. Now you're stuck. It's exactly the same as with your friends, and not any better nor any worse.

Well I rather depend on the wealth of a bank than on the wealth of my friends (and their friend's friends wealth) Wink But yeah even then you're indeed not guaranteed of a good route and it's not even a guarantee I can pay my ticket. But isn't that an awful system then ? Of course I can always choose to bypass LN and just cough up the $55 (or way higher) transaction fee ... But still it just seems so far from perfect that I wonder if this thing is going to make it.
staff
Activity: 3458
Merit: 6793
Just writing some code
January 02, 2018, 06:34:16 PM
#9
But let's say I want to pay an airline ticket for $1200. I have 4 channels with 4 friends. Two of them have $350 freely available each and two of them have $250 available each. However one of them has a route with friends who only have $200 available. Now I can't pay for the ticket even though I'm a frikkin' (bitcoin) millionaire myself Smiley It would make SO much more sense for me to just open 1 channel with a bank, but some cash in it and I'm done! I can now at least determine myself how much I can pay and I'm not dependent on the wealth of my friends (or their friend's friends).
That's completely untrue. You are then dependent on the wealth of that "bank", how many channels it has open, and how much it owns on each channel. You are not done, and there is no guarantee that said "bank" will be any better than your 4 friends. Suppose that bank is just like friends, but with more channels that lead to dead ends and not the airline you want to pay. Now you're stuck. It's exactly the same as with your friends, and not any better nor any worse.
jr. member
Activity: 154
Merit: 8
SODL
January 02, 2018, 06:21:53 PM
#8
With a well connected graph, that's not a problem. And based on current use on testnet, it looks like it is going to be a fairly well connected graph.

But let's say I want to pay an airline ticket for $1200. I have 4 channels with 4 friends. Two of them have $350 freely available each and two of them have $250 available each. However one of them has a route with friends who only have $200 available. Now I can't pay for the ticket even though I'm a frikkin' (bitcoin) millionaire myself Smiley It would make SO much more sense for me to just open 1 channel with a big bank, but some cash in it and I'm done! I can now at least determine myself how much I can pay and I'm not dependent on the wealth of my friends (or their friend's friends). It just seems so logical that it's going to evolve into that. So not this 'ideal decentralized' mesh some people dream about but a centralized system. It just seems inevitable to me
staff
Activity: 3458
Merit: 6793
Just writing some code
January 02, 2018, 06:10:36 PM
#7
Ok the traditional definition of lending wouldn't apply here, agreed. However that doesn't change the problem that everybody in the route needs to have the amount of money that you are sending in his account, freely available.
...
That is if all your channels are connected to the Merchant AND everybody in those channels has at least the amount freely available that you want to send.
With a well connected graph, that's not a problem. And based on current use on testnet, it looks like it is going to be a fairly well connected graph.
Pages:
Jump to: