
Bitcoin has a huge scaling problem–Lightning could be the solution - vrdabomb5717
https://arstechnica.com/tech-policy/2018/02/bitcoins-lightning-network-a-deep-dive/
======
lalaland1125
Lightning appears to add more problems than solutions. It has a whole bunch of
critical issues. Here is a short list.

1\. You need to have a computer constantly online or your counter party can
easily steal all your money. This leaves you vulnerable to all sorts of
attacks.

2\. The lightning network works by routing payments through a network to your
destination. The issue here is that the routing for the lightning network is
extremely complicated and is currently an unsolved (and probably unsolvable)
problem. The core issue is that you have to route money though a network where
channel capacities are changing with each and every transaction. Imagine
trying to route internet packets if the size of the links changed thousands of
times per second.

3\. It's relatively expensive to create and destroy channels at about two
transactions per channel. Lightning proponents claim that this will be rare,
but that can only be the case if there is minimal net flow of money. This is
trivially not the case because users will be sending bitcoin more than they
recieve and the reverse for retailers.

4\. Lightning has huge capital costs. You need to lock up large amounts of
bitcoin in these channels for significant amounts of time. There is a real
cost for this in terms of the lost interest. Channels are certainly not
anywhere close to free.

~~~
Klathmon
2 isn't true at all, routing isn't nearly that complicated and I don't know
why everyone thinks it is. Most routes are expected to be under a few hops.
But regardless we will find out soon as the number of nodes on the live system
is very rapidly growing.

3 doesn't really apply, as channels can be used as middle hops to rebalance.

If I give money to you for a good/service and drain my channel. Then I buy
more Bitcoin from coinbase, coinbase can route that BTC to me through you to
rebalance our channel so it is all on my side.

4 isn't true, as "locking the BTC up" is basically making it available. Would
you consider depositing cash into a checking account "locking it up"? Because
that's the equivalent here. But also locktimes are normally a few days.

~~~
lalaland1125
2\. Where is the evidence of this? Sure, routing can be easy and short if it's
centralized and the number of hops is small. But, if it's centralized, then
what's the point of using Bitcoin? Where is this mystical routing algorithm
that will work in the presence of constant capacity changes over a
decentralized network?

3\. The issue here is that the flow for all channels across the entire network
needs to be about balanced for things to work out properly. Once someone
starts either net accumulating bitcoin or net dispersing bitcoin, then there
will be problems somewhere on some link.

4\. I can take money out of my checking account at any time at no expense.

~~~
Klathmon
About 2, like I said we should know soon if it will work. I just don't think
that most channels will be updating as quickly as you think, and even if they
are, a channel will know of someone is trying to route through it, so it can
avoid trying to route another tx for the duration of the first.

3\. Fees can and will help balance things out. If a channel is really
unbalanced, negative fees can strongly incentivize rebalancing in many cases.
If it starts to get unbalanced again, fees can increase to help reduce the
speed that it unbalances.

4\. You can also take money out of LN at any time (assuming your counterparty
I cooperative). Only in the case of non-cooperation do you need to wait for
locks to expire, and in that case you get ALL money from both sides of the
channel, and need to wait for the lock to expire.

Id love it if my bank could give me 2x my money if it takes more than 3 days
for me to get my money...

~~~
JumpCrisscross
> _You can also take money out of LN at any time (assuming your counterparty I
> cooperative)_

This isn’t what people mean when they imply liquidity. Needing consent and
being able to unilaterally demand cash are different domains. The former is
_e.g._ a holding in a fund or coins in a LN, the latter is a consumer checking
account.

> _Id love it if my bank could give me 2x my money if it takes more than 3
> days for me to get my money_

Or lost 90%. We had this in the era of free banking, _i.e._ pre Federal
Reserve. We then split the speculation and transfer functions of our financial
system and ended up better for it.

~~~
Klathmon
>This isn’t what people mean when they imply liquidity. Needing consent and
being able to demand cash are different domains.

I don't understand what you are trying to say here. You don't need "consent"
if you want to wait the 3 days, but if you get "consent" from your
counterparty you can get it instantly. 3-days is about as fast as ACH. But if
you want, you can feel free to open channels with shorter locktimes if needed.

>Or lost 90%. We had this in the era of free banking, i.e. pre Federal
Reserve. That history is one Bitcoin is presently replaying.

But you can't lose money if LN is working correctly. The whole idea is that
you sign the transactions saying "if this is broadcast under these conditions,
you get all of my money" when you open the channel. It's literally not
possible to fractionally lend on LN, because all money MUST be there, and
signed, for you to use it.

I've had conversations with you before, and I'm fairly sure you don't
understand the basics of Bitcoin as you keep repeating these things as fact,
so I'm going to stop replying here. Please make an effort to understand it
before you start denouncing it. Or at least explain why you think these apply
to the conversation in ways that someone like myself who isn't well-versed in
traditional banking systems but understands Bitcoin technically will
understand.

~~~
JumpCrisscross
> _if you get "consent" from your counterparty you can get it instantly.
> 3-days is about as fast as ACH_

You said, like a checking account, one “can also take money out of LN at any
time.” I clarified that when people say “take money out at any time,” they
mean unilateral liquidity. You can unilaterally demand cash or an
instantaneous Fedwire transfer, the latter which costs 3 to 69 cents [1]
(though some banks heftily upcharge this service), against your checking
account balance. It takes a good deal longer to settle a LN balance
(theoretically).

TL; DR The Lightning Network has some neat features, but pitching its
liquidity as analogous to a checking account’s is disingenuous.

> _you can 't lose money if LN is working correctly_

This applies to anything. In finance, things never work correctly because
someone, somewhere, can be trusted to be an arsehole.

> _It 's literally not possible to fractionally lend on LN_

The number of Americans who have lost a single U.S. dollar to this threat
since the FDIC was formed is basically zero. The number of Americans who have
nuked substantial fractions of their net worths speculating on Bitcoin is
significantly greater.

[1]
[https://www.federalreserve.gov/paymentsystems/fedfunds_corep...](https://www.federalreserve.gov/paymentsystems/fedfunds_coreprinciples.htm)

------
DennisP
Here's a shorter explanation of Lightning, with Solidity code:
[http://www.blunderingcode.com/a-lightning-network-in-two-
pag...](http://www.blunderingcode.com/a-lightning-network-in-two-pages-of-
solidity/)

~~~
jxub
Nice article, thanks!

------
marsRoverDev
Or perhaps replacing bitcoin with something that doesn't have fundamental
flaws in its design.

Hence why a lot of us think it has no inherent value into the future. Of
course, those in on the ponzi scheme will disagree with this sentiment.

~~~
jxub
Nano previously called Raiblocks is an amazing candidate for fee-less, instant
transactions. The block-lattice approach is a fundamental breakthrough that
overcomes the limitations of blockchain in terms of cost and speed.

Stellar is also a worthy contender although it wasn't designed with the
purpose of payments, but decentralised currency/crypto exchanges.

The Lightning Network daemon codebase on Github is a beautiful well commented
piece of Golang code though.

~~~
gruez
>The block-lattice approach is a fundamental breakthrough that overcomes the
limitations of blockchain in terms of cost and speed.

Not really. DAG/lattice based cryptocurrencies offer different security
guarantees compared to blockchain based ones.

~~~
buckie
They also have different scaling tradeoffs as they scale really well (the
graph can be arbitrarily wide as tx's can run in parallel) when most
transactions are causally unrelated but hit bottlenecks with every "killer
app" that gains traction (graph narrows as more and more transactions become
causally related).

I'm not sure what domains see this problem crop up but I've seen it in quant
finance strategy execution. Say you have 1k strats that you want to run in
parallel but risk needs to bound the bank's per-equity positions globally.
When the strats work on different subsets, DAG approaches aren't a problem,
but when most of the strats trade APPL/IBM your once very wide (parallel
execution) graph narrows significantly (becomes more sequential) as the strats
need to check with risk w.r.t. AAPL/IBM sequentially.

NB: for this reason, causal approaches are pretty rare to see today (though it
depends on the domain as high latency contexts don't really care).

------
amluto
I think that the end game of Lightning is very bad. Imagine that Bitcoin
remains relevant and continues to have huge market cap for several years and
that Lightning takes off to the point that most transactions use Lightning and
the cost of an actual on-chain transaction drops to a few tens of cents. The
reward for mining a block will drop significantly (as originally planned in
the Bitcoin design), and the transaction fees per block will also drop
significantly.

On the flip side, with Lightning, it's possible to steal quite a lot of money
if you have the ability to prevent transactions from being mined (i.e. if you
can mount a 51% attack). In particular, you can prevent any penalty
transactions against yourself from ever showing up on the blockchain.

In other words, Lightning will drive the profit available from 51% attacks up
and will drive the profit available from honest mining down. What happens when
they cross over?

~~~
JumpCrisscross
> _the cost of an actual on-chain transaction drops to a few tens of cents_

"In 2014, the volume-based transaction fees [for Fedwires] range from 2.8
cents to 69 cents per transfer" [1]. They charge an extra 15¢ if the quantity
is over $10 million and another 36¢ if over $100 million. These transactions
settle instantly and almost every bank gives consumers access to them (albeit
with varying surcharges).

[1]
[https://www.federalreserve.gov/paymentsystems/fedfunds_corep...](https://www.federalreserve.gov/paymentsystems/fedfunds_coreprinciples.htm)

------
haolez
Bitcoin Cash seems to be doing just fine with on-chain scaling. There are
concerns about centralization on miners with it, but in my understanding the
incentives planned in the original Bitcoin paper account for that.

~~~
freejulian
Bitcoin Cash can’t even scrape together enough transactions to form 100kb
blocks. It’s rather disengenuous to say it’s scaling better when it has a
fraction of the users. Furthermore, larger block size is directly related to
centralization. The bcash crowd hopes people forget decentralization is
important.

~~~
r3demon
It's a common misconception that block size is somehow related to
decentralization. In fact you don't need a whole blockchain to verify
transactions securely, you only need a few last blocks at max. Also full nodes
add nothing to the network, they have no vote, only miners and actual users
do.

~~~
lrns_
Did you forget [http://www.uasf.co/](http://www.uasf.co/) ?

------
ericb
Lightning involves an always-on, networked, machine holding your private key.
Your bitcoin is a bounty for 0-day exploits. Brilliant!

~~~
masterjack
And if you go offline for a few hours, your peers can steal your balance
(unless you entrust somebody else to monitor it for you, which has its own
tradeoffs)

~~~
kyledrake
So basically, it turns into a ridiculously complicated bank. That requires
42tWh of power waste (and growing) to function.

I'm sorry, but I'm not impressed. Let's build a solution that scales better
on-chain and uses a more power efficient mining algorithm.

~~~
wtfstatists
> _uses a more power efficient mining algorithm_

Thats axiomatically impossible. Its the amount of energy required, not
nhashes/etc, that disincentivize an attacker from rewriting history.

~~~
DennisP
Well, it's the financial cost required, which in PoW is a combination of
energy and capital cost.

------
wanda
For a moment I thought this was an article about how mining groups could try
to power their ASICs by waiting for lightning to strike and storing the energy
in giant capacitors or something.

(Not because this is a good idea, but because I didn't know anything about the
Lightning network.)

------
znpy
I honestly dislike how the author abuses terms like "lots" and "a handful".

For example: « That means you can use a single payment channel to make lots of
payments to many different people—all while generating just a handful of
transactions on the underlying blockchain.»

I am no bitcoin expert, but AFAIK the bitcoin network can currently process in
the order of tens of transactions per second, and that is a low number
compared to the 50-100k transactions per second that VISA et similia are
currently capable of processing.

So, many are "lots"? How many are "a handful"?

~~~
marcandre
No, the processing capacity is about 7 transactions per second. See
[https://en.wikipedia.org/wiki/Bitcoin_scalability_problem](https://en.wikipedia.org/wiki/Bitcoin_scalability_problem)

------
lambdadmitry
I was wondering recently, why Bitcoin is even needed for a Lightning-like
network? Just settle the channels in cash (or even bank transfers), it won't
be any more traceable than Bitcoin. Moreover, there is a successful precedent
of such network:
[https://en.wikipedia.org/wiki/Hawala](https://en.wikipedia.org/wiki/Hawala)

Seems like a large enough "overlay network" over cache reserves and bank
accounts can be made barely traceable and pretty efficient.

~~~
binarybits
Lightning's core innovation is the use of the Bitcoin blockchain as a
cryptographic backstop for payment channels. If the other party in a payment
channel stops cooperating, you can broadcast the current commitment
transaction to the blockchain, which effectively refunds the current balance
back to each party. There's a similar mechanism for enforcing the hashed time
lock contracts that make Lightning payment chains possible. I don't know how
you could do anything similar with conventional bank transfers.

~~~
lambdadmitry
Well, it can be solved the way current banks deal with fraud and chargebacks:
rely on a very small number of parties misbehaving and set off a small
percentage of money in the system to offset fraud. Another (complementary) way
is a reputation system for "nodes" (as is the case in hawala). Both imply some
sort of centralization, but so do Lightning incentives (see the discussion
around "payment hubs"), so not much difference there.

------
grondilu
Bitcoin is both a currency and a payment method. Everybody knew right from the
beginning that it's not a great payment method. The 10 minutes delay is a long
time if you want to prevent double-spending.

For fast payments nothing beats a server with credit accounts. Naysayers will
say that it defeats the purpose of bitcoin, but nobody thought bitcoin would
entirely make banks and their fractional reserves system disappear. If
anything, people will still want to borrow money.

Banks could function on top of cryptocurrencies, the difference would be that
their clients would be able to withdraw their funds out of the banking system
alltogether at any time, that is not just turning one credit into an other.

~~~
r3demon
0-confirmation transactions were working excellent before Bitcoin Core added
SegWit and other useless stuff. You don't need to wait for a new block if your
signed transaction is in the mempool, and it's secure enough for small
payments.

~~~
freejulian
0 conf transactions are incredibly insecure. If you accept one you are putting
a great deal of trust in the person paying you. Bitcoin transactions are
suppose to be trustless.

~~~
makomk
They are. Some context might help: when it originally launched, Bitcoin Cash
was slower and more unusable than Bitcoin if you needed even a single
confirmation, because the forker fucked up the difficulty adjustment algorithm
so badly that blocks were every hour or so most of the time. So the Bitcoin
Cash community pushed the idea that zero-confirmation transactions were safe
there, unlike on the evil SegwitCoin chain, so they could claim it was still
faster than Bitcoin since this was the whole selling point. There was no
actual foundation for this claim, but it became vital to marketing the coin.

~~~
r3demon
OK. So 0-conf are not secure because you read it somewhere, good argument.

------
Kagerjay
Savjee has a great 5 min video breaking down bitcoins proposed lightning
network

[https://www.youtube.com/watch?v=rrr_zPmEiME](https://www.youtube.com/watch?v=rrr_zPmEiME)

------
mdimec4
What is your oppinion about that:
[https://youtu.be/UYHFrf5ci_g](https://youtu.be/UYHFrf5ci_g)

------
neximo64
It's a mistake of course though to think some technical change is going to
suddenly make bitcoin go up again.

------
rdlecler1
Thinking of an analog system — maybe this is like short term vs long term
memory systems. BTC being the later.

------
r3demon
Lightning will become centralized into services like banks and Paypal since
it's too difficult to use for an average person, which completely defeats the
idea of Bitcoin as P2P cryptocurrency.

~~~
notsrg
1\. Banks/exchanges/Paypal have KYC regulations - fulfilling these are
impossible due to Onion routing provided by the nodes.

2\. My mom does not know how HTTP works and she uses the Internet just fine.
It's naive to think that users are going to be explicitly opening and closing
channels, finding best path, etc. These can be built into wallets and
abstracted out. Besides, Bitcoin of today is already too complicated for the
"average" person.

------
grillwork
Lightning is the solution and it's going to be great for making micro
transactions w/ bitcoin again.

Lightning network is actual innovation and the next evolution in making
Bitcoin easier to use for the masses. One step at a time.

