9 ms·
Bitcoin has a huge scaling problem–Lightning could be the solution
- DennisP 9y agoHere's a shorter explanation of Lightning, with Solidity code: http://www.blunderingcode.com/a-lightning-network-in-two-pages-of-solidity/ http://www.blunderingcode.com/a-lightning-network-in-two-pag...
- jxub 9y agoNice article, thanks!
- grillwork 9y agoLightning 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.
- ericb 9y agoLightning involves an always-on, networked, machine holding your private key. Your bitcoin is a bounty for 0-day exploits. Brilliant!
- masterjack 9y agoAnd 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 9y agoSo 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 9y ago> 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.
- deleted 9y ago[deleted]
- DennisP 9y agoWell, it's the financial cost required, which in PoW is a combination of energy and capital cost.
- imtringued 9y agoI think a combination of both is required for optimal results. Lightning is good enough for micropayments. On chain transactions are good for large payments. The only problem with on-chain scaling is that keeping a payment history for the entire planet is not really feasable. You have to somehow prune old data from the blockchain.
- EthanHeilman 9y agoWhat are the trade offs to having say 100,000 other parties monitor your channel for you?
- nissimk 9y agoI thought it relies on a multisig transaction.
- bytefactory 9y agoOpening a Lightning payment channel doesn't require your master private key. You'd create an initial transaction using your primary wallet (which would presumably be in cold storage) to open the Lightning channel and fund it. There's no relation between the two, _at all_. A funding transaction is no different from any other transaction. By design, the Lightning hot wallet can only hold small amounts of BTC (0.042 BTC currently), and yes, this would be essentially a hot wallet. The funds are held in a trustless, multi-sig, timelocked payment channel between you and your channel peer (which does not have to be the intended recipient). A channel can stay open indefinitely, and it will be possible to replenish it as needed. The idea is to have it function like a checking account. I fail to see how this is any different from a regular BTC wallet on your phone, or even your bank/investment app (except safer).If you're really paranoid about the funds in your hot wallet, you're free to create an m-of-n multi-sig wallet with somebody else you'd trust, which renders that attack vector useless. Also, your LN wallet needs to remain online _only_ when it needs to transact. It can go offline the rest of the time with no problem. When it needs to make a LN transaction, it'll need to remain online for the duration of the transaction (a few seconds), or else the fund recovery mechanisms will kick into place.
- ericb 9y ago> doesn't require your master private key So it does require the private key to your hot-wallet to be on an always on, networked machine, right? And the hotwallet and lightning channel can only transmit, across all channels, as much as is in this hot-wallet, and each channel has a potentially higher and rising transaction cost to open as lightning network will generate more transactions to the blockchain, not less. So you can keep your cake safe, or eat it, but not both. I'll take the bitcoin cash approach, please. Worse is better.
- freejulian 9y agoNot necessarily. Easy to build a lightning wallet that uses a hardware wallet for signing.
- bytefactory 9y ago> So it does require the private key to your hot-wallet to be on an always on, networked machine, right? No. You can have the private key in an offline hardware wallet like Ledger, with the lightning app on your machine waiting for the device to sign it. > And the hotwallet and lightning channel can only transmit, across all channels, as much as is in this hot-wallet, and each channel has a potentially higher and rising transaction cost to open as lightning network will generate more transactions to the blockchain, not less. So you can keep your cake safe, or eat it, but not both. Let's break this down: >lightning channel can only transmit, across all channels, as much as is in this hot-wallet No. Each channel has its own limits, and there's no limits to the number of channels you can open. > each channel has a potentially higher and rising transaction cost to open as lightning network will generate more transactions to the blockchain, not less If you want to open a lot of channels, yes, each one will incur a blockchain transaction. Keep in mind though that you don't need a channel per payment/per payment provider. Payments are _routed_ to your recipient via the network, in up to 20 hops, so you don't need to have a channel open to your recipient directly. Also, in theory this should lead to _lower_ transaction fees on the network, not higher. Lightning transactions need to be segwit by design, so there's a 75% discount to each transaction. Since each channel can have an unlimited number of transactions on it, this should lead to a massive number of transactions moving out of the main blockchain into LN channels. Additionally, the channels can be opened whenever you want, so you don't have to wait till you're paying for your coffee to open the channel. If you don't mind waiting for a few blocks, you can open the channel for cents. We don't know how this plays out in practice, of course, so we'll have to wait and see. Edit: formatting
- xiphias 9y agoLightning is one of the solutions, signature aggregation (using Schnorr signatures as the next step) is at least as important for compressing the data on the blockchain.
- wanda 9y agoFor 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.)
- marsRoverDev 9y agoOr 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 9y agoNano 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 9y ago>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 9y agoThey 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).
- haolez 9y agoBitcoin 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.
- gruez 9y ago>Bitcoin Cash seems to be doing just fine with on-chain scaling Has it though? AFAIK it still has lower transaction volume than bitcoin.
- haolez 9y agoThere were some episodes in the latest months of very intense traffic (either an “attack” or someone stress testing) and Bitcoin Cash has endured it just fine. Let’s see how it works out when adoption grows. If it doesn’t scale, then the timing for off-chain scaling will be more appropriate.
- gruez 9y agoI don't think anyone seriously thought that 8MB blocks would crash the network. The actual concern was in the increased cost of running a full node.
- freejulian 9y agoBitcoin 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 9y agoIt'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.
- neximo64 9y agoIt's a mistake of course though to think some technical change is going to suddenly make bitcoin go up again.
- lalaland1125 9y agoLightning 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 9y ago2 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 9y ago2. 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.
- lambdadmitry 9y agoI 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 9y agoLightning'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 9y agoWell, 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 9y agoBitcoin 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 9y ago0-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.
- grondilu 9y ago> You don't need to wait for a new block if your signed transaction is in the mempool Still, many companies have always required a few confirmation blocks before accepting a transaction, regardless of the amount. Like currency exchange companies, for instance.
- freejulian 9y ago0 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.
- r3demon 9y agoNo, they are secure, you just have to trust miners a bit more so they don't throw your transaction out of mempool. I would even argue that all the complications involved in setting up and using Lightning network make it less secure than 0-conf.
- r3demon 9y agoLightning 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 9y ago1. 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.
- znpy 9y agoI 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 9y agoNo, 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
- rdlecler1 9y agoThinking of an analog system — maybe this is like short term vs long term memory systems. BTC being the later.
- amluto 9y agoI 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 9y ago> 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_coreprinciples.htm https://www.federalreserve.gov/paymentsystems/fedfunds_corep...
- Kagerjay 9y agoSavjee 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 9y agoWhat is your oppinion about that: https://youtu.be/UYHFrf5ci_g https://youtu.be/UYHFrf5ci_g