The ridiculous complexity of the Lightning Network

User avatar
Steve Sokolowski
Posts: 2968
Joined: Wed Aug 27, 2014 3:27 pm
Location: State College, PA
Contact:

The ridiculous complexity of the Lightning Network

Postby Steve Sokolowski » Fri Apr 13, 2018 12:29 pm

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.
alim
Posts: 106
Joined: Fri Apr 06, 2018 3:08 pm

Re: The ridiculous complexity of the Lightning Network

Postby alim » Fri Apr 13, 2018 2:53 pm

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.
skinner
Posts: 17
Joined: Wed Nov 08, 2017 3:17 pm

Re: The ridiculous complexity of the Lightning Network

Postby skinner » Fri Apr 13, 2018 5:51 pm

Sounds like you are talking about TenX, or something Tenx and the commit network will be able to do soon..
User avatar
CSZiggy
Posts: 354
Joined: Wed Jan 31, 2018 2:44 pm

Re: The ridiculous complexity of the Lightning Network

Postby CSZiggy » Fri Apr 13, 2018 6:57 pm

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.
Slurms
Posts: 8
Joined: Sat Mar 17, 2018 4:38 pm

Re: The ridiculous complexity of the Lightning Network

Postby Slurms » Fri Apr 13, 2018 7:30 pm

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://coincenter.org/entry/what-is-mo ... -it-matter
User avatar
Steve Sokolowski
Posts: 2968
Joined: Wed Aug 27, 2014 3:27 pm
Location: State College, PA
Contact:

Re: The ridiculous complexity of the Lightning Network

Postby Steve Sokolowski » Fri Apr 13, 2018 8:05 pm

Slurms wrote: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://coincenter.org/entry/what-is-mo ... -it-matter


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.
shyrwall
Posts: 16
Joined: Fri Jun 16, 2017 1:48 am

Re: The ridiculous complexity of the Lightning Network

Postby shyrwall » Fri Apr 13, 2018 9:41 pm

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..
shyrwall
Posts: 16
Joined: Fri Jun 16, 2017 1:48 am

Re: The ridiculous complexity of the Lightning Network

Postby shyrwall » Fri Apr 13, 2018 9:42 pm

shyrwall wrote: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.
User avatar
CSZiggy
Posts: 354
Joined: Wed Jan 31, 2018 2:44 pm

Re: The ridiculous complexity of the Lightning Network

Postby CSZiggy » Sat Apr 14, 2018 1:27 am

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.
shyrwall
Posts: 16
Joined: Fri Jun 16, 2017 1:48 am

Re: The ridiculous complexity of the Lightning Network

Postby shyrwall » Sat Apr 14, 2018 7:04 am

CSZiggy wrote: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.



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.

Who is online

Users browsing this forum: No registered users and 2 guests