Read-only archive. PROHASHING has closed. These articles and comments are preserved for reference.

The ridiculous complexity of the Lightning Network

Comments (17)

A few customers submitted support tickets about the use of the Lightning Network to pay out bitcoins, which led me to spend some time researching the subject. While I've disagreed with the idea of the network for a long time, I had expected to discover that it was a well-designed alternative to the increased blocksize approach from people who had an earnest belief that most transactions should be off-chain. I figured that, now that the Lightning Network had been released, we would start to see businesses using both competing implementations, and eventually one approach would prove itself superior to the other. I did not expect to come to the conclusion that the network is almost ridiculously complex.

Much of the discussion in the battle between supporters of the Core and their opponents has been over a large number of outlier arguments, like what "Satoshi's vision" is or whether the behavior of the Core is behaving ethically or what Craig Wright has done in the past. These are indeed important topics. There are also discussions about technical issues and transaction fees and the like. But I think that people are so involved in all of this that they fail to simply read about the Lightning Network and use common sense. Given that far simpler alternatives are available, one really needs to take a step back to ask: "why would any business seriously invest in something based off this?"

Try explaining how coins work to a person who has no idea what cryptocurrencies are. While the workings of the networks can get complicated, the core concepts are pretty straightforward. You buy coins and they are in an address represented by a number. The balances of everyone are stored online. You can use the number to send money to someone else's number. It takes around a certain amount of time for the transaction to become permanent, and that is almost certain to happen, regardless of whether the person is online or not. You have less money and they have more after you're done. One doesn't need to know anything about what a hash is, or what blocks are, or even that there are nodes, to understand the basics of a coin.

Now, try to explain to someone how the Lightning Network works. You buy some bitcoins and they are in an address represented by a number. To send money to someone on the Lightning network, you first need to lock that money and open a channel. If you do this yourself, you need to always be online so that you don't miss transactions, which means that you need a server or a device that can run a node. If your node goes offline for too long, then people can steal money from you, since you won't be around to contest the thefts. Thus, while you're on vacation or while there is a power outage, you need to make sure that you check in sufficiently often.

Unlike using the coin directly, it's possible that there is no route to the person you want to pay, so you simply can't pay that person. If your payment is too large, and even if you are personally very rich, the payment could be rejected because there isn't enough money in the route to transfer to the recipient. In some cases, an unresponsive node could tie up your payment for hours until the channel is closed and you can try again. If the node you are trying to pay is offline, you simply can't pay. And you still incur fees when you settle your channels on the restricted blocksize chain.

Since normal users are not going to be online all the time, almost everyone will hold most of their money in wallet providers that run Lightning nodes on server hardware.

But it's the money transmission license issue that ultimately caused us to decide not to run a Lightning Network node, and which will probably be greatest hindrance to the network's success. Everyone in the Core seems to brush this problem aside, stating that "common sense" means the network shouldn't be in violation or that they are working with regulators to try to convince them that it is not. The truth is that it doesn't matter what the intent of the law is or what they believe it should be; regulators can fine anyone for violations regardless of whether they are good or bad people. A money transmitter is pretty clearly defined as someone who receives money from one person and who transmits it to a different person or location. Regardless of how many Core twitter feeds try to argue against the fact, the definition of a money transmitter does not have any exclusions for whether the transmitter has "control" over the transmitted money or not.

The regulations are the key problem that makes the Lightning Network worthless to most companies. It's simply a case of economics. To avoid being a money transmitter, we don't accept deposits. We could make a lot of money if we did, because we have software that can take any coin in and send any coin out to a recipient, using the best path through 1000 markets in 9 exchanges. But that software can't earn back the millions of dollars to pay for the licenses, so it isn't available to the public.

Why would we run a Lightning Network node, which very clearly accepts deposits and therefore very clearly requires us to spend millions of dollars to obtain licenses? Let's assume that, as happened last December, we end up paying $500 per day in bitcoin transaction fees to pay customers who want bitcoins. If becoming a money transmitter costs the $3m I estimated, that means it would require an absurd 20 years of transaction fees before running a Lightning node would be worthwhile. On the websites advertising the Lightning Network, the pros of the network are listed as "cheap transaction fees" - a true statement, after you've paid the license fees or accepted the risk of fines.

Now, let's accept the Core's argument that all transactions can't be stored on the Bitcoin blockchain as true. Let's also accept the argument of some of the Core members that bitcoin is the "one true coin." In that case, consider an alternative solution. You have lots of different coins. A merchant wants you to pay him a certain amount of money, but some of the coins have high fees. Your wallet automatically selects a coin that currently has few transactions pending, changes some of your bitcoins into that coin, sends the money to the recipient, and then the recipient changes the money back to bitcoins. Like the Lightning Network, no transaction appears on the bitcoin blockchain.

Note that this is possible, since we can already do it. Compare this solution to the Lightning Network. Both are pretty centralized, because the Lightning Network essentially requires everyone to have money at large wallet providers, while the multi-coin solution requires money to be deposited at exchanges. With the multi-coin solution, however, the major problems with the Lightning Network are eliminated. It doesn't matter if the recipient of the funds is online. Since the coin being chosen will have few transactions pending, it will confirm quickly. There is no chance of the payment getting stuck for hours in the middle of a channel. The amount of money being spent is irrelevant to the success of the transaction; if the coin being used has insufficient liquidity, then a coin with higher fees and higher liquidity can be used. And there are bonuses, too: if the transaction requires anonymity, then ZCash, DASH, or Monero can be used as the intermediate network; even if these aren't used, it is much more difficult to track a transaction across networks than it is to track it in one coin.

Finally, remember that this alternate solution accepts the Core's central claim (that Bitcoin Cash can't work) at face value. I don't think that's true. If Bitcoin Cash can, indeed, handle unlimited blocksizes, or even if it only grows large enough to handle many more transactions than bitcoin, the largest transactions can simply go direct from sender to receiver. Ironically, it's possible that an intermediate result of the Core's decisionmaking could be that instead of many coins being needed, Bitcoin Cash is almost exclusively used for the intermediate transactions, even if everything is denominated in bitcoins.

In conclusion, take a step back and ask yourself why the Lightning Network needs to exist. The network is unnecessarily complex, and the complexity has resulted in a high risk of bugs and a number of workarounds just to handle all the edge cases. Trying to explain why things happen in the Lightning Network to a newcomer is very challenging. While I'm sure the network's developers believe wholeheartedly that what they are doing is good for the community and the world, the multi-coin solution is simply far safer, simpler, and more efficient. It exists right now; to avoid withdrawal fees sending money between exchanges, we use litecoins, even though almost all of it ultimately ends up as bitcoins at the destination.

The Lightning Network is a solution that is looking for a problem. The problem has already been solved, and the existing solution works great.

Steve Sokolowski Author

Steve Sokolowski is a longtime miner, cryptocurrency believer, interest platform depositor, and PROHASHING owner. He can be contacted at help@prohashing.com.

Comments (17)

Archived discussion. New comments and replies are closed.

Forum Commenter
Steve, seams like you are overthinking and overheating the problem that might not be problem in the future. If your problem is the node license,then dont buy one, you might need to use a third party service that offers lightning to you at very low cost... Forum User: White
Forum Commenter
OK, but you aren't getting BTC on monday and then having the service CONVERT what was already paid out in 1 coin into another coin Friday. THAT'S what they need the money transferring license for it seems, to convert from 1 coin into another after you already have the first coin in your account. You never got the verge coin you were mining that then got converted into LTC, you earned shares for helping to mine the verge coin, and you got paid out on those shares in the LTC or other coin of your choice. You did work and you got paid in your form of payment type. But you didn't mine a verge coin solo, get the coins and then have the coins traded in for LTC, you never earned the coin, you earned shares towards it that are then paid. If you soloed a verge and found a block and the pool was able to then convert that verge coin into LTC with a buy-sell price so you could exchange 1 coin for another(change your mind on payout coin after the fact), then I think it might need a money exchange, but as it is now, like the marbles and not having to have a game of chance license to still have a lotto, using CREDITS/SHARES that are placeholders for money earned so you can pick and choose how you want those credits paid out, in what coin payment, means they don't need one. I still say if the IRS isn't going to list it as money, I would argue the banks have no excuse not to give a business account, in fact I might look into whether they are legally allowed to do that...maybe sue them. Crypto isn't cannabis, where the 1 level says its OK and the other level says it's not. This is an item the IRS has listed as NOT MONEY, at your federal level. So is it, or isn't it? If I cant put it in a bank, then why do I need a money license to move it? Forum User: CSZiggy
Forum Commenter
I'm hoping that some financial whale does exactly that. If more financial whizzes pile in then I would expect to see a change in the taxation position - eg if asset managers are looking to invest in crypto, I can't image that they could treat it like a "pool" as there is no mining. They might trade in a repo market, but that would entail ownership in the first place. They might also trade in futures, but I can't see that working very well - the exchanges have very little liquidity that even 1 BTC can tip the market. EG it took less that 1,500 coins to sift GDAX from $7,500 to over $8,000/coin, and even 1 forced sale is enough to send it down $200+. So about the only thing I see working is spread betting / contract for differences (eg where you are trading on a margin of the net gain / loss) but with no expiry other than your available credit. No doubt many will loose to those who play the game very well. Forum User: alim
Forum Commenter
Trust me, I agree with your mindset. Unfortunately, banks being private businesses, can refuse service to anyone (as long as they aren't a "protected" group). In saying that, I still feel that a lawsuit could be argued about the fact that every single big bank and credit union I"ve looked at has said no, that a form of collusion is going on. Though, since I'm sure they would call it tacit, it's legal. It's the fact that it's choking off access to funds in a legal industry that gets under my skin. Whereas to use your cannabis example, it would make sense that banks would be afraid to touch it. In the same sense, I've made it clear to banks that if it's risk that is the issue, I wouldn't be needing any loans. Forum User: Slurms
Forum Commenter
Title II of the Civil Rights Act of 1964 -- the federal law which prohibits discrimination by private businesses which are places of public accommodation -- only prevents businesses from refusing service based on race, color, religion, or national origin.Feb 26, 2014 Walk into your bank, tell them you are the religious leader of the "Great Crypto Vault" and the GCV would like to open an account here. Then when they refuse, offer to sue the crap out of them. Forum User: CSZiggy
Forum Commenter
There are cash stations that exchange cryptocurrency for dollars. Forum User: egik
pumaro
All these bank rejections makes me wonder what is entailed in opening your own crypto friendly bank?
Forum Commenter
People are currently mining on your pool. After getting rewards in lets say LTC they can choose to be paid in Bitcoin instead. Right here you are a currency exchange and a transmitter. You are accepting deposits between you and exchanges since you somehow exchange these coins. And then you are transmitting them to people. If you think you would require a license to run a Lightning node you would certainly need it for what you are doing already.. As per FinCEN , "any business that exchanges fiat currency for bitcoins – or even one kind of digital currency for another – is a money transmitter." So your pool. If run in the U.S is currently illegal unless you stop offering to exchange coin A to coin B. Forum User: shyrwall
Forum Commenter
I don't think this pool does exchanges. Once you have earned LTC you cant then later decide to get BTC paid out instead. You aren't earning coins that are transferred, you are earning shares and then being paid out in the payment form of your choosing. It's why you can't sell raffle tickets without a license, but you can sell marbles, and each one comes with a free chance on a prize, and there is a loophole for everything to be gotten around. Forum User: CSZiggy
Forum Commenter
Huh? That's like Prohashings thing. If I mine multiple different coins I can choose for all to be exchanged to for example BTC. With the mining I am earning shares. But since Prohashing can exchange all those shares to BTC it's an exchange. I've been mining scrypt here on/off for a long time. Sometimes I've choosen to be paid in BTC, sometimes LTC, sometimes BCH. Sometimes I've also let Prohashing hold all the coins for a while. Forum User: shyrwall
Steve Sokolowski
I think you're mistaken. There is no "deposit" button anywhere on the site. We currently rent hashrate from miners and pay them for their hashrate, and there are several agency papers stating that the rental of computing services is not money transmission. If we started accepting deposits of money like a Lightning node does, however, that would indeed introduce the necessity of licensing, which is why we aren't doing that.
Forum Commenter
So coming back to the points you make: 1. YOU determine the coin type you in which you would like your hashpower to earn. 2. Although Prohashing screen shows $ amount earned, you are not paid the $ amount, you are paid in the amount of coin (#1) your hashpower has earned/traded. 3. To reduce transaction costs to you, Prohashing have default "free" level of coin at which you can withdraw - again, you are not paid in $, you are paid in coin. They also have a maximum level which is at a fairly low level - regardless of the value/coin, the amount of the coin will transfer. I believe the $amounts are there only to limit the extent of Prohashing liabilities. 4. Should the value of the coin rise/lower, the amount deposited to your wallet will not change - because it is paid in coin. For BTC, the value indicated in your earnings versus your Coinbase account will differ to take account of any changes in the market value Coinbase are prepared to trade. FYI, I would prefer to know the amount of coin I am earning rather than the $ amount. For me this is particularly important to understand as the difficulty associated with mining coins increases. Forum User: alim
Slurms
Only the banks are calling it money. It is because of the regulations attached to something if it's called money. This is why Chase and US BANK call it a cash advance on a credit card. They think it's unfair crypto isn't regulated the same way, so they're fighting back. Fun fact: I've been trying to get a business account as a crypto miner in the USA and not one single "big bank" has said yes. All new business accounts for crypto are forbidden. I can continue doing my business in my personal account, they acknowledge no issue with that. They just won't allow me to open a new business account. Even though I have my papers from the IRS and state accepting my s-corp status. I have closed my accounts. EDIT: On March 18, 2013, the Financial Crimes Enforcement Network (“FinCEN”) published guidance announcing that it would make no distinction between government (or “fiat”) currency and digital currencies like Bitcoin for the purposes of the money transmission laws. https://www.coincenter.org/education/policy-and-regulation/money-transmission/
Steve Sokolowski
We also are unable to get a business account. That's why we are going to be buying only from vendors that accept cryptocurrencies soon, and will be paying all employees in cryptocurrency. Soon, I'll be taking my entire profit in either Tether or coins. Yes, Tether is risky, but it's better than the potential liability of using personal accounts. I was told that moving money through a personal checking account can lead to liability, so we stopped doing that. Our biggest problem will be that, once the quarter million dollars we have in dollars runs out, we won't be able to pay companies like Comcast that currently only accept dollars. We're hoping that, by the time that happens in four years, Comcast will be willing to continue our contract with coin payments.
Forum Commenter
I guess I still don't understand what MONEY licenses has anything at all to do with cryptopcurrency. Yes, we call it currency, but it's never been recognized as such...so why exactly does anyone need a money license to move or manage it? That's like saying you need a liquor license to sell ice cream. How does 1 have anything to do with the other? Last I checked you MIGHT need a real estate license to move it since its declared as a type or property. Forum User: CSZiggy
skinner
Sounds like you are talking about TenX, or something Tenx and the commit network will be able to do soon..
Forum Commenter
I agree with your entire premise... The bottom line is
Since normal users are not going to be online all the time, almost everyone will hold most of their money in wallet providers that run Lightning nodes on server hardware.
The problem with this is that even with redunancy, you cannot stop a DDoS attack and there may be those split seconds between switching to install patches, upgrades etc. For now, I believe that the ridiculously low level for a maximum transaction is the most serious limiting factor. Far better to implement a Crypto-credit card which will let a user specify if they want to pay with current coin-holdings, or buys coin in the market with fiat to pay. This is far more elegant for those who need to consider tax implications of realising gains. Forum User: alim
Back to top ↑