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.
Comments (17)
Archived discussion. New comments and replies are closed.