Hacker News new | ask | show | jobs
by pixelperfect 2357 days ago
Bitcoin is continuing to scale, but it's doing so with the Lightning Network instead of by increasing block size.

I'm not super familiar with Bitcoin's tech, but that seems sensible to me. The blockchain is already 250 GB at 7 transactions per second. If you multiplied that by 100, you still have orders of magnitude less transactions per second than credit card processors, but the hardware requirements are now high enough that few individuals could afford to run full nodes.

3 comments

The Lightning Network is a pipedream of ivory tower developers. People who think LN can scale Bitcoin into a global currency rivaling USD and EUR either don't understand LN or are lying on purpose.

Fact is that each LN "channel" needs a committed amount of Bitcoin that can only be withdrawn by closing the channel. If you want your Bitcoins "secured" in you wallet, you need to close the channel. Otherwise you will - by design - have to constantly monitor the LN for malicious actors trying to withdraw you funds from your channels - which by the way is also only possible with an extremely reliable internet connection. Ultimately it's only possible to "secure" your funds against malicious actors by closing the channel. This leads to nice DoS attack vectors, see below.

Opening and closing a channel requires an on-chain transaction. This means when you only calculate with the US population, you need at least ~700 million on-chain transactions per month, assuming people get paid once a month, which is absolutely underestimating reality. Also assuming business don't trade with each other.

Assuming 7 transactions per second for the Bitcoin network (which in reality is much closer to 3 by the way), you get 7×60×60×24×30 = 18,144,000 transactions per month. So LN cannot even serve 5% of the US.

Reading the LN white paper should give you an idea on how bad it is when you compare it to reality and how people are actually using money.

Do you think people should stop working on LN? I think it's a good way to scale right now, regardless of whether or not it can theoretically handle the transactions of hundreds of millions of people.

There are probably going to be some big entities in the Lightning Network ("lightning service providers") that average users use to open channels in exchange for a fee. These LSPs need to closely monitor for malicious transactions, but the average user doesn't have to. The average user would only get ripped off if their LSP broadcast an invalid transaction. In that case, they could prove it to the network and everyone would leave the LSP. Eventually there will be long-standing LSPs with good reputation. People can open long-running payment channels with them. If on-chain transaction fees get really high, they could be set to timeout after a year. That gives both parties plenty of time to notice an invalid transaction. If they're paranoid about DoS or timing attack, they can close the channel a few days before it times out.

That's my understanding only from reading a few articles about how Lightning Network works, so what I'm saying might be ridiculous and I could be completely wrong.

You cannot distinguish between good or bad transactions. Malicious actors can create as many channels and addresses as they want because it's decentralized and "trustless". Anybody can join and leave the network as they want.

But even if there was a way to identify bad actors, what you describe as "big entities" already exists. They are called banks, just you described one with more steps and that's a lot more complicated.

Correct me if I'm misunderstanding things, but Lightning Network means off-chain transactions, right? Which can be be reneged on if one party is malicious, meaning they'll only occur between trusted parties? And in practice, that means traditional financial services companies and their KYC-compliant customers, which is the exact 180 degree opposite of the originally envisioned use case.

From where I sit, it seems like BTC was designed to be a currency that would free us from financial regulation, it has failed on both counts, and crypto enthusiasts are trying to turn it into an over-elaborate debit card because the alternative is for it to become a historical curiosity.

It's complicated, and I'm not sold on the Lightning Network as the future, but

> Which can be be reneged on if one party is malicious, meaning they'll only occur between trusted parties?

This is not correct. My understanding is essentially each party is tying up Bitcoin as being between them on the blockchain, then trading cryptographically verifiable assertions of each other off-chain about what the latest status of the ongoing "tab" is between them. Either of them can close the tab at any time and reconcile to the blockchain.

They don't really need to trust each other, although this does introduce a dependency on some entity (whether the user's own server or a third party) to publish the latest version of the "tab" if the other guy maliciously tries to publish an older version of the "tab." And of course, that means you need some redundant storage / handling of those cryptographic assertions from the other guy about what the status of the latest "tab" is. But that doesn't require trust--you'd want to do it even if you trust the other party.

Or at least that's my understanding of it. I like the conceptual idea of LN but some of these details seem like dealbreakers to me.

Ever meet someone with a startup idea that is really an insanely complicated way of achieving something people already can do? It's like, you want to tell them "people will never do steps m,n,o,p,q,r,s and t because that's not how people think, and they have other simpler ways to get what they want.

That's the Lightning Network.

Thats also bitcoin/cryptocurrencies. Decentralized money is insanely complicated compared to centralized money. There is no efficiency here.
> My understanding is...

That's how two finserv companies would transact off-chain with each other, but when I go to buy a cup of coffee with a bitcoin, I'm not opening up a payment channel with them for one transaction, that would defeat the whole point. The coffee shop will use a payment processor, who isn't going to deal with me off-chain unless I'm the KYC'd customer of them or some other finserv they trust. (please correct me if I'm wrong here)

I think you're correct in that this will be the inevitable result. It just won't really be for trust reasons.

You won't want to open up a payment channel to them, but you don't need to. You just need an already open payment channel to someone who is, or (more importantly) there is some route of payment channels between you and them through any number of intermediaries.

There won't be a way to enforce KYC on the network itself, and you don't need trust for this to work.

But because of the inherent cost / time / complexity reduction benefits of just maintaining big channels between large entities, normal people and businesses will inevitably be incentivized to just work through banks to do this. The banks can just hold all their money and handle keeping the channels between themselves open and funded.

And that's where I think you're correct. It leads to a world where KYC can be required easily because the vast majority of legitimate use cases will be through centralized endpoints.

In the case of purchasing coffee, your payment can make multiple hops (through multiple channels) to the coffee shop. This means you only need a channel open with 1 participant in order to be able to transact, and none of you need to trust each other.
Lightning Network is primarily off-chain transactions, but parties don't have to trust each other. If you open a payment channel with a malicious party, there's no way for them to benefit, and the worst they can do is make you wait a few days for a timelock to expire in order to withdraw your funds. Admittedly, that's a bit of a nuisance, which is why I'm surprised fees for Lightning Network transactions are so low currently (approximately $0.00). I've already used Lightning Network several times without ever doing KYC.
For context, I don't think anyone is suggesting that BTC's blocks would still be full if they were 100 times bigger, so it is premature to talk about competing with credit card processors.

However, 250 GB is approximately 25 GB per year (since Bitcoin started in 2009), which, if you multiply it by 100, is 2.5 TB per year. That means it will take about 6.4 years to fill a 16 TB hard drive, which should cost less than $600:

https://www.techradar.com/uk/news/worlds-largest-hard-disk-d...

It's not hard to imagine someone paying under $100 per year to run a full node, whereas on the day that TechRadar article was published, the average price of a bitcoin transaction was $4.58 as seen here:

https://bitinfocharts.com/comparison/bitcoin-transactionfees...