I would advise you to look at the Lightning protocol which allows you to do transactions off chain via credit lines for as long as you like. You only pay a fee to record to the blockchain ledger for eventual settlement.
Lightning is only safe if you constantly monitor the blockchain, otherwise your transactions aren't safe (as in double spending is still possible).
Opening and closing Lightning channels is an operation that requires a transaction on the blockchain - no real win there.
Due to the restriction just mentioned, most L2 transactions will take place via intermediaries who you need to trust and who can take arbitrary fees for their service as well (the whole routing business).
Lightning might be ok for regular payments (subscriptions, etc.), but at the same time it offers not a single advantage over traditional banking and credit cards other than explicitly not being either.
It might alleviate the transaction time and energy problems of the blockchain, but it does nothing to tackle any of the other problems mentioned by the author.
> "constantly" in this case means "once every 2 weeks"
No. Constantly means exactly that - revoked transactions for either party cannot be checked otherwise. I didn't even include the need to be online all the time, since otherwise payments don't work either as multiple interactions are required for each payment.
> You can also have a third party do it for you without having to hand over your keys.
And of course that 3rd party is totally trustworthy for some reason and offers their service for free? The 3rd parties still need to run scripts that have to work correctly. We all see how well that one works on a regular basis, what with the multi-million dollar thefts that happened recently due to flawed contracts and scripts.
>No. Constantly means exactly that - revoked transactions for either party cannot be checked otherwise.
Source? My understanding is unless the channel is cooperatively closed, there's a waiting period (ie. the two weeks) before the transaction is finalized to the blockchain. During that time that transaction can be challenged/overridden.
>I didn't even include the need to be online all the time, since otherwise payments don't work either as multiple interactions are required for each payment.
That seems to be a completely separate issue. Short of receiving random donations, I can't think of any situation where you want to make a payment, but somehow aren't online.
>And of course that 3rd party is totally trustworthy for some reason and offers their service for free?
You're making it sound like it's an issue, but I'm not seeing it. Thousands of hobbyists run bitcoin nodes for free, which costs storage and bandwidth.
>The 3rd parties still need to run scripts that have to work correctly. We all see how well that one works on a regular basis, what with the multi-million dollar thefts that happened recently due to flawed contracts and scripts.
ETH =/= BTC
It's far easier for the community to scrutinize one set of code than for everyone to scrutinize the implementation they rolled themselves.
Penalties for contract violations can only be enforced "if one is able to ascribe blame for broadcasting an old transaction."
Broadcasting transactions takes place on the BC, so identifying an old transaction is only possible by finding it on the BC.
The same is true for revocable commitment transactions. Both parties must observe the BC at all times in order to know whether the other party did indeed violate the contract by broadcasting a transaction. Contract violations cannot be detected otherwise.
> I can't think of any situation where you want to make a payment, but somehow aren't online.
Out here in The Real World(tm) I find the opposite to be the case. I cannot think of a situation in which I want to make a payment that requires me to be online. Neither my debit card, nor my credit card, and especially not cash has such requirement. I can buy petrol, groceries, clothes, pay the barber, eat at a restaurant, have a drink at a bar, pay admission for a ball game, etc. etc. all without being online.
Go ahead and call me a Boomer, but we seem to exist in very different realities.
> Thousands of hobbyists run bitcoin nodes for free, which costs storage and bandwidth.
That's orthogonal to the problem of Lightning network routing fees. It doesn't matter who operates a node and how. What matters is that unless you open a bi-directional payment channel, you'll route transactions through intermediaries that will take fees.
> It's far easier for the community to scrutinize one set of code than for everyone to scrutinize the implementation they rolled themselves.
I think you missed something here. Lightning isn't a single centralised implementation.
Just look at chapter 8.4 - once routing tables are in place, there's a wide open door for routing payment channels through profitable routes and tracking, for example.
Routing also requires keys to held online for intermediary nodes for latency reasons, which is another considerable risk since unlike with banking, there's neither oversight nor security regulations in place.
If you actually read the whole story, you'll quickly notice that a lot of Lightning's mechanisms are built on trust in scripts, incentives, and edge software that "does the right thing" (e.g. periodically make backups and checking the other party's state for honesty).
>Penalties for contract violations can only be enforced "if one is able to ascribe blame for broadcasting an old transaction."
>Broadcasting transactions takes place on the BC, so identifying an old transaction is only possible by finding it on the BC.
>The same is true for revocable commitment transactions. Both parties must observe the BC at all times in order to know whether the other party did indeed violate the contract by broadcasting a transaction. Contract violations cannot be detected otherwise.
I'm not really clear how your source contradicts mine. The source you provided is talking about how to ascribe blame, but then you magically turned it around to talk about having to be online 24/7? I'm not following the logic there.
>Out here in The Real World(tm) I find the opposite to be the case. I cannot think of a situation in which I want to make a payment that requires me to be online. Neither my debit card, nor my credit card, and especially not cash has such requirement. I can buy petrol, groceries, clothes, pay the barber, eat at a restaurant, have a drink at a bar, pay admission for a ball game, etc. etc. all without being online.
1. always-online mobile payment systems (eg. alipay/wechat) are quite successful in asia. while I agree being able to pay without internet access is great, internet access requirement isn't some sort of insurmountable barrier.
2. you do realize that even though the credit card doesn't require internet access, the terminal itself does? Also, payment terminals has bidirectional communication with the card via NFC. It's not hard to imagine some sort of NFC based protocol that allows limited information to be communicated between the terminal and the wallet software on your phone, so it can gather the requisite information to make the transaction.
>>>And of course that 3rd party is totally trustworthy for some reason and offers their service for free?
>>You're making it sound like it's an issue, but I'm not seeing it. Thousands of hobbyists run bitcoin nodes for free, which costs storage and bandwidth.
>That's orthogonal to the problem of Lightning network routing fees. It doesn't matter who operates a node and how. What matters is that unless you open a bi-directional payment channel, you'll route transactions through intermediaries that will take fees.
Are you losing track of the thread, or are you trying to move the goalposts? We were previously talking about how watchtowers would be operated/funded, now you're talking about how transaction fees for intermediary nodes?
>I think you missed something here. Lightning isn't a single centralised implementation.
As it relates to scrutiny, how is an issue? Unless there's some fatal flaw with the protocol itself, you should be secure against loss of money, even if the peer was malicious. This is different than difi-project-of-the-day that have one implementation and one protocol (the two are essentially the same thing in ethereum).
>Routing also requires keys to held online for intermediary nodes for latency reasons, which is another considerable risk since unlike with banking, there's neither oversight nor security regulations in place.
What's your objection here? That you can get hacked, or that your intermediaries can get hacked and somehow cause you to lose money?
>you'll quickly notice that a lot of Lightning's mechanisms are built on trust in scripts
yes, that's how cryptocurrencies are supposed to work - trust in systems rather than trust in people. Which is better has already been debated to death so I'm not interested in discussing that again here.
> always-online mobile payment systems (eg. alipay/wechat) are quite successful in asia.
I don't live in Asia.
> you do realize that even though the credit card doesn't require internet access, the terminal itself does?
I do, that's why I emphasised that 'I' don't need to be online. I don't care about the payment processor's requirements.
> Are you losing track of the thread, or are you trying to move the goalposts?
No, I'm not moving goal posts. You said that hobbyists are running nodes, I say so what? That has zero to do with transaction fees.
> As it relates to scrutiny, how is an issue? Unless there's some fatal flaw with the protocol itself, you should be secure against loss of money, even if the peer was malicious.
Have you actually read the resources? The protocol itself explicitly does not protect you against loss of money - it can't. It has to rely on trust in intermediaries and software trying to give security guarantees that the protocol itself cannot provide (hence the need to monitor the BC).
> What's your objection here? That you can get hacked, or that your intermediaries can get hacked and somehow cause you to lose money?
The issue is that the intermediary is inherently insecure (and shouldn't be trusted by design) and in contrast to the regulated finance industry, there's nothing protecting customers from fraudulent or extortive behaviour of 3rd parties. Manipulated routes (no hacking required) can lead to increased fees or delays without any transparency or protection for users.
You might find that acceptable as The System is a sufficient safeguard, but even the Lightning team admits that there are unsolved problems (i.e. monitoring of the BC is required to mitigate these flaws, which brings us back to initial point).
> trust in systems rather than trust in people.
That's an interesting assumption given that systems are created and operated by people. It's trust in people with extra steps minus regulatory and legislative safeguards. Brave new world.
The point is that always-online payments works. At most the problem you described is a minor annoyance.
>I don't care about the payment processor's requirements.
But you otherwise don't have any objections if we can come up with a NFC protocol that allows an offline phone to make lightning network transactions?
>No, I'm not moving goal posts. You said that hobbyists are running nodes, I say so what? That has zero to do with transaction fees.
1. "hobbyists are running nodes" were in reply to the question of who is going to be running watchtowers. You sneakily switching to a separate topic (transaction fees) as a reply to that is moving the goalposts.
2. what's wrong with intermediaries taking fees? Credit cards have fees. Debit cards have fees. ACH has fees. Cash has fees (resulting from costs associated with handling it)
>> As it relates to scrutiny, how is an issue? Unless there's some fatal flaw with the protocol itself, you should be secure against loss of money, even if the peer was malicious.
>The protocol itself explicitly does not protect you against loss of money - it can't. It has to rely on trust in intermediaries and software trying to give security guarantees that the protocol itself cannot provide (hence the need to monitor the BC).
My original point was relating to having to trust peers. As long as you do your part correctly, ie. keeping your keys secure and checking every two weeks (or getting someone to do it for you) if you have channels open, then you don't have to trust them. I agree the requirements are more onerous than on-chain transactions, but I never claimed they weren't, and I think it's a fair trade-off to make for the benefits.
>The issue is that the intermediary is inherently insecure (and shouldn't be trusted by design) and in contrast to the regulated finance industry
The same "regulated finance industry" that allows you to withdraw money from your account with just your account numbers, and it's up to you to wrestle with bureaucracy to get it reversed? If that doesn't count as "inherently insecure" to you I don't know what is.
>there's nothing protecting customers from fraudulent or extortive behaviour of 3rd parties. Manipulated routes (no hacking required) can lead to increased fees or delays without any transparency or protection for users.
1. As opposed to "increased fees or delays" in the form of ATM fees (just one example) that are present in the "regulated finance industry"?
2. With regards to the problem of suboptimal/"extortive" routes. Is this an theoretical problem or a practical one? Are lightning users getting scammed left and right by these malicious peers? If it's free money and as easy as you make it out to be, such attacks should be very popular.
>You might find that acceptable as The System is a sufficient safeguard, but even the Lightning team admits that there are unsolved problems (i.e. monitoring of the BC is required to mitigate these flaws, which brings us back to initial point).
The "unsolved problem" of having to monitor the blockchain every two weeks means... what? The whole project is DOA? That we shouldn't use it? That we should use sink the whole thing and go back to "regulated finance industry"? Is the internet DOA because of the "unsolved problem" that you need to keep your system up to date and patched to not get hacked?
I know people that use Lightning frequently at a local coffee shop via long term tabs there is no rush to close. Saves them a ton in Visa transaction fees long term even after they eventually pay a Bitcoin transaction fee to close the tab.
I know people who pay their coffee in cash, leave a tip and don't even own a credit card. No need to keep a tab open and no need to pay any additional fees ¯\_(ツ)_/¯
I know people that also pay cash for two piece of gum at the gas station while clogging the line as the cashier counts out the change for a $100 bill. There are fees associated with handling cash. Banks don't store and transport cash for free and insurance companies don't insure cash losses for free. Why do some places either don't accept cash or put silly restrictions such as "Limit $20 Bills" They don't want to deal with the risks and costs of cash.
Sure there's cost associated with handling cash, just like there's cost associated with crypto currency and BTC in particular.
Just imagine how long the line in your gas station would be clogged up for if you had to wait for a BTC transaction to be confirmed...
The difference is that while you are hit with arbitrary fees when dealing with crypto (be that transaction fees on the BC or fees by intermediaries and services in case of Lightning), cash related costs are already priced into the product and can be planned for from business's point of view.
I guess you should be reminded that lightning does not require intermediaries, and informed that the fees associated with long term operation of a lightning channel are negligible. Even in the case of premature settlement due to counter-party attacks you are paid out the full channel balance and therefore almost always profit in such a scenario - opening a channel with less counter-party collateral then an on chain fee is simply avoided to enable profit or recuperation every time.
Are merchants and businesses that accept cryptocurrency payments converting to US currency immediately or do they hold and convert at the opportune time whether that time is related to market values, exchange rates, tax/accounting purposes?
Other than securing the wallet, there's no carrying costs for whatever amount of cryptocurrency a merchant holds? It's not as if you don't hold a minimum amount in your business account, the bank levies fees since you deposit money so they can lend it back out and charge borrowers 10x as much.
I am only a home owner because the value of my deflationary BTC savings dramatically outpaced inflationary USD savings account interest.
If bitcoin is coming in constantly you get it at the average price via dollar cost averaging and the average value of Bitcoin has trended sharply up for a decade.
Selling BTC for USD is most likely a loss to inflation if you intend on holding for a year or more.
You gambled your money against other people. You won, and they lost. Their losses paid for your house.
12m y/y bitcoin is up 8% and the S&P is up 18%, so if you gambled your money into bitcoin a year ago, you made a bad choice. Note that last week bitcoin was down 5% y/y. Bitcoin, y/y is hardly beating USD inflation, right now, after a major increase in the price today.
Also, stop comparing a speculative asset to a currency. USD isn't meant to be held as an investment. It's meant to be spent, or invested in an asset that appreciates more than inflation.
Lightning is worse than that. When you do try to convert from BTC to USD, you pay a transaction fee twice. Once to close the channel, and another to transfer to the party where you want to exchange your BTC.
And further, you can't predict the fee you'll pay. And I hope you aren't in a hurry to settle in those cases.
I'm not really sure how that changes anything I said. You're naïve if you think the service isn't going to pass those costs onto their users.
And if you need to resort to a custodial service, what are you even using BTC for? Using a custodian to give you permission to enter and exit a market is antithetical to everything Bitcoin stands for and exactly what it was created to fix.
I'm sorry, but Lightning is a mess and it would be irresponsible to suggest that it's safe.
1. Unpredictable fees make usage for small amounts almost require a long-lived channel to be worthwhile.
2. UX around Lightning channels are painful. You can't receive BTC in a channel unless you put BTC in as collateral. You can't spend more than the channel allows. Routing is unpredictable and fickle causing transactions to fail just as often (if not worse) as complete successfully. (Perfect for one-off transactions /s) All Lightning wallets (with the exception of one or two) are custodial and if they aren't, they cost a lot of energy to run on your phone because they're constantly chatting with the network.
3. The whole point of cryptocurrency is diversify the control across the network. The design of Lightning motivates large hub and spoke connections between users which consolidate control to a few individuals.
4. The complexity for any business to integration Lightning into their purchase flow is expensive due to the many states your channel can exist in and need to considered as part of your integration. Not to mention the added costs of monitoring the BTC network to protect your channels. Or you find a merchant provider you have to trust with your processing...at which point, you're just using credit cards by another name.
5. And due to the complexity of Lightning's design, there are systemic bugs which expose users to more risk than if they just used a gift card or credit card in the first place. (One case in particular, a channel which is mostly settled on side B (versus side A) such that A's value on their side of the channel is less than the dust limit of the BTC network (which is often given the highly fluctuating fees) will allow B to force the close of the channel causing A to lose their value in the channel (because A will need to spend more than their side of the channel is worth and will be a worse outcome than if channel A just ate the loss from the channel being maliciously closed)).