Author

Topic: Accepting Bitcoin without a confirmation (Read 190 times)

hero member
Activity: 667
Merit: 1529
January 18, 2024, 04:35:55 PM
#24
Quote
For a business to accept payments on the Lightning network they have to open a channel with a third party.
Why? The user could open the channel as well. And if you have a regular customer, that pays 0.001 BTC today, and 0.002 BTC tomorrow, then that customer could just allocate 0.01 BTC in the channel, and send to you some "channel closing transactions" with bigger, and bigger amounts on your side. And then, you can sweep that, when fees are low, or sweep coins less frequently, like every week, instead of every day, and pay smaller fees, because of that.

Quote
Either way there has to be a third party involved in the businesses transactions.
There is no need to do so. You can create a channel, or your customer could do so. And if you are worried about "closing channels with old state", then you can use timelocks, and you can use two unidirectional channels, instead of one bidirectional channel. And also, it is technically possible to outsource "being a watchtower" into the community, and then, it can be called "decentralized sidechain, based on LN". But it is optional, and if you don't want to watch your channels 24/7, then just use timelocks properly, so that if you put a timestamp in your transaction, it won't be broadcasted before that date (and then, you will have the time to connect to the network, and make sure, that nobody is trying to do a double-spending attempt at 3am).
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
January 18, 2024, 03:19:39 PM
#23
For a business to accept payments on the Lightning network they have to open a channel with a third party.
They have to open a channel with a peer I would rather call.

The channel needs to be funded with inbound liquidity in the amount necessary to cover the transactions they are expecting.
From the sender's perspective, it needs to have outbound liquidity (the liquidity which allows to spend on the network). Respectively, the recipient needs to have inbound liquidity (which allows to receive).

The business can open a channel by sending the Bitcoin to a third party who makes it available as inbound liquidity on the newly opened channel
If I'm understanding right, you're asking how the recipient can gain inbound liquidity. The answer is either someone opens a channel with them (which initially would grant them all the liquidity as inbound), or they open a channel with someone and convert their outbound liquidity to inbound (e.g., by selling LN-BTC for BTC).

What needs to be mentioned is that none of the peers forfeits their custody, at any point.
member
Activity: 105
Merit: 20
Personal financial freedom and sovereignty
January 18, 2024, 02:31:38 PM
#22
You have misunderstood. There's no transaction intermediary in the same sense as with the banking sector, unless you have specified otherwise (e.g., using a custodial wallet). When opening a lightning channel, the funds remain on your possession, and you can close the channel either cooperatively or non-cooperatively. There are "intermediaries" in the sense that the payment gets through various routes until it reaches the recipient.

For example, if Alice wants to pay Charlie and they don't share a channel, they have to go through Bob's node that shares a channel with both Alice and Charlie, like this:
Code:
Alice <---> Bob <---> Charlie

Please correct me if I am wrong or there is another option.

For a business to accept payments on the Lightning network they have to open a channel with a third party.  The channel needs to be funded with inbound liquidity in the amount necessary to cover the transactions they are expecting.  There are two ways to do this.  The business can open a channel by sending the Bitcoin to a third party who makes it available as inbound liquidity on the newly opened channel or the business can pay a third party to provide the liquidity.  Either way there has to be a third party involved in the businesses transactions.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
January 18, 2024, 02:18:16 PM
#21
Unfortunately Lightning does not solve the problem because it adds a third party into the transaction and additionally requires capital to be tied up in the liquidity channel.
You have misunderstood. There's no transaction intermediary in the same sense as with the banking sector, unless you have specified otherwise (e.g., using a custodial wallet). When opening a lightning channel, the funds remain on your possession, and you can close the channel either cooperatively or non-cooperatively. There are "intermediaries" in the sense that the payment gets through various routes until it reaches the recipient.

For example, if Alice wants to pay Charlie and they don't share a channel, they have to go through Bob's node that shares a channel with both Alice and Charlie, like this:
Code:
Alice <---> Bob <---> Charlie
member
Activity: 105
Merit: 20
Personal financial freedom and sovereignty
January 18, 2024, 02:05:08 PM
#20
This use case is covered by the Lightning Network.  You can transact instantly without waiting on miners to confirm anything by exchanging presigned transactions.  These presigned transactions are encumbered with a timelock to prevent double spending.

Unfortunately Lightning does not solve the problem because it adds a third party into the transaction and additionally requires capital to be tied up in the liquidity channel. You can pay a third party to provide the liquidity but again it is all about third party transactions.
member
Activity: 378
Merit: 93
Enable v2transport=1 and mempoolfullrbf=1
January 18, 2024, 01:38:18 PM
#19
I really appreciate all of your feedback!

Based on the fact that Bitcoin solves many of the problems of a centralized currency, it would be amazing if we could find a way to accept transactions quickly with some certainty that they would be confirmed by the miners.  Then the transactions would be as fast as any other form of payment.

This use case is covered by the Lightning Network.  You can transact instantly without waiting on miners to confirm anything by exchanging presigned transactions.  These presigned transactions are encumbered with a timelock to prevent double spending.
member
Activity: 105
Merit: 20
Personal financial freedom and sovereignty
January 18, 2024, 12:09:25 PM
#18
I really appreciate all of your feedback!

Based on the fact that Bitcoin solves many of the problems of a centralized currency, it would be amazing if we could find a way to accept transactions quickly with some certainty that they would be confirmed by the miners.  Then the transactions would be as fast as any other form of payment.

legendary
Activity: 2856
Merit: 7410
Crypto Swap Exchange
January 18, 2024, 08:32:20 AM
#17
To get one confirmation takes about 10 minutes and costs about $15(about what it would cost for a $600 credit card transaction).  That is not acceptable for most transactions.  6 confirmations would take at least an hour and more likely 2 to 5 hours.
Are you suggesting that Bitcoin is only good for transactions that take 6 hours and are over $600.

Aside from what other member said, there are 2 additional point i'd like to say.
1. Total confirmation requirement should adjust amount of money received. Many digital service i've used only require 1 confirmation. And before full RBF exist, few of them accept 0 confirmation, assuming my TX doesn't have RBF flag and has relative high fee rate.
2. Total TX fee isn't dependent on how much Bitcoin you sent.

Merchants have to fund a liquidity channel with an amount that is appropriate for their level of business.  This channel is with a third party provider.  Let's just say your business does $10,000 in business per day.  This would require you to tie up $10,000 of capital in a channel and keep it funded in order to accept Bitcoin.
-snip-
I know Lightning is under mad development so please correct me if I am wrong about this.
I'm not an expert in Lightning, but this definitely does not line up with my understanding of it. Perhaps someone with more experience and knowledge will stop by and enlighten us both.

Would it not be possible for the merchant to allow individual customers to fund channels directly with them? In that case, wouldn't it be possible for the merchant to supply 0 funds (or perhaps just a small token amount) to each of those channels? This may not be an OPTIMAL solution, but it is at least possible, right?  Other solutions should be possible as well (such as the merchant opening a channel with the exchange that they use to convert received Bitcoins into local currency, since they'll need to make that exchange regularly anyhow).

I don't remember whether LN specification let only one party (since another party supply 0 satoshi) create an on-chain transaction (which open LN channel) to HTLC/PLTC address with script agreed by both party, but otherwise it's possible. Although it bring question whether the customer willing to pay TX fee to create new LN channel.
hero member
Activity: 854
Merit: 772
Watch Bitcoin Documentary - https://t.ly/v0Nim
January 18, 2024, 04:16:26 AM
#16
Thank you for the response. On average credit card fees are about 2.5%.  So a credit card transaction of $600 would cost $15.  Let say you did a transaction of $300.  The credit card fee would be $7.50.  Half the price of Bitcoin.  So the breakeven point for Bitcoin to be viable in terms of fees is currently $600.  Of course you could choose to use Bitcoin for other reasons but most people are trying to spend less not more.
Bitcoin transaction fees often fluctuate and fees are calculated according to the transaction size, they are not guaranteed to be $15 for $600 transaction if there are many inputs and outputs. So, since fees change and transaction size matters, fees will be individual for everyone. Check mempool.space to know what's the recommended transaction fee in live. The USD value they have under recommended transaction fee (sat/vB) is the value of what would cost an average native SegWit transaction that is 140 vByte in size.

It currently costs about $15 to get into the next block.  That would be 10 minutes or less for your first confirmation.  Then you would wait 10 minutes for each additional confirmation so the total time to get to the recommended 6 confirmations would be about 60 minutes.  But lets say you only paid 7.50 for the Bitcoin fees then how long would it take to get 6 confirmations?  I am estimating about 6 hours but that is just a guess.
It's safe to say that 3 confirmation gives you a piece of mind unless you are receiving millions of dollars (then I would wait for at least 6 confirmation). Sometimes blocks are mined in a row minute after minute and sometimes there is a 20 minute delay. Overall, 3 confirmations are guaranteed in 1 hour and that's all you need.
Check mempool.space to have an idea of what fee option will result in including your transaction in the next block and what fees will result in including them in the 2nd or upcoming blocks.

So what I am saying is that Bitcoin is not economically viable or fast enough to handle most merchant transactions.  Most businesses need instant confirmation and will not pay extra to use a payment method that very few people use anyways.  For Bitcoin to be attractive it needs to be faster and cheaper.
Bitcoin blockchain is abused by ordinals at the moment, so it's not really fast option. If you need cryptocurrencies that will get confirmed quickly with very low transaction fees, then have a look at Litecoin, Ripple, Tron and so on, there are many options but I think litecoin is the most acceptable for many people.
legendary
Activity: 3388
Merit: 4615
January 17, 2024, 07:35:29 PM
#15
Danny, I hear you.  Given the right circumstances Bitcoin is not impossible to use for all merchants. It can be used in some instances but then you run into the issue of a lack of customers using Bitcoin.

There are many of us. More every day.

Beyond that, I've always felt that adoption of Bitcoin's use in payments will need to be driven by merchants, not customers. The benefits of:
  • Merchants not paying the fees
  • No charge-backs
  • No contracts
  • Less cash sitting around in a till waiting to be stolen

Are all benefits to the merchant, not to the consumer.  If more merchants accept Bitcoin (and publicly advertise that fact), then more customers will use Bitcoin (especially if the merchant offers incentives to the customers).  If they build it, we will come.

The point I want developers to hear is that for mass adoption by merchants and consumers it needs to be cheaper and faster.

The point I want you to hear is that it does not.  Faster and cheaper are ALWAYS nice, and that's the nature of innovation, but there are currently a variety of solutions with a variety of speeds and costs.  Choose the right solution for the particular business model.


Merchants have to fund a liquidity channel with an amount that is appropriate for their level of business.  This channel is with a third party provider.  Let's just say your business does $10,000 in business per day.  This would require you to tie up $10,000 of capital in a channel and keep it funded in order to accept Bitcoin.
-snip-
I know Lightning is under mad development so please correct me if I am wrong about this.

I'm not an expert in Lightning, but this definitely does not line up with my understanding of it. Perhaps someone with more experience and knowledge will stop by and enlighten us both.

Would it not be possible for the merchant to allow individual customers to fund channels directly with them? In that case, wouldn't it be possible for the merchant to supply 0 funds (or perhaps just a small token amount) to each of those channels? This may not be an OPTIMAL solution, but it is at least possible, right?  Other solutions should be possible as well (such as the merchant opening a channel with the exchange that they use to convert received Bitcoins into local currency, since they'll need to make that exchange regularly anyhow).
member
Activity: 105
Merit: 20
Personal financial freedom and sovereignty
January 17, 2024, 07:14:10 PM
#14
Danny, I hear you.  Given the right circumstances Bitcoin is not impossible to use for all merchants. It can be used in some instances but then you run into the issue of a lack of customers using Bitcoin.  The point I want developers to hear is that for mass adoption by merchants and consumers it needs to be cheaper and faster.  This is what development should be focused on.

In what way is Lightning not peer-to-peer?  Sounds like nonsense to me.

I would like to spend a few words on this topic.  Merchants have to fund a liquidity channel with an amount that is appropriate for their level of business.  This channel is with a third party provider.  Lets just say your business does $10,000 in business per day.  This would require you to tie up $10,000 of capital in a channel and keep it funded in order to accept Bitcoin.  Most businesses would not want to do this.  They could pay a third party provider to provide the liquidity for a fee.

I know Lightning is under mad development so please correct me if I am wrong about this.
legendary
Activity: 1484
Merit: 1355
January 17, 2024, 06:59:38 PM
#13
So what I am saying is that Bitcoin is not economically viable or fast enough to handle most merchant transactions.  Most businesses need instant confirmation and will not pay extra to use a payment method that very few people use anyways.  For Bitcoin to be attractive it needs to be faster and cheaper.

As Danny said, shops selling physical goods dont really need instant payments.  Actually, for a bunch of businesses, the fact that Bitcoin takes a while to go through is not that big of a problem.  Even the sale of digital products, such as subscriptions and cloud-based services, does not necessarily require instant confirmation.  As long as you have the option of canceling the ordered service in cases where the payment does not go through.
legendary
Activity: 3388
Merit: 4615
January 17, 2024, 06:48:08 PM
#12
So what I am saying is that Bitcoin is not economically viable or fast enough to handle most merchant transactions.

Which merchants?

There are MANY merchants that can wait MUCH longer than 10 minutes.
  • Any merchant shipping a product can just wait the average 10 minutes before shipping their product to the buyer.
  • Any merchant that allows you to purchase ahead of time, and then come pick up the product, will typically have more than a 10 minute delay between purchase and the customer arriving for pickup.
  • Any merchant that provides products or services and then invoices for payment at a later date is ALREADY taking on risk that the purchaser might not pay
  • Any high value product that can be reasonable taken back via the legal system and is typically sold via installment payments (houses, boats, cars, etc) is already taking on risk of non-payment.  Using Bitcoin won't change that.

Furthermore, there are plenty of businesses that are willing to take on some risk of loss in the interest of making the purchase process more convenient.

  • See the earlier mentioned items of invoicing and installment payments.
  • Restaurants typically supply your meal and then trust that you'll pay them afterwards.
  • Anyone that provides a large volume of low cost products or services to repeat customers can accept the risk of a small loss and then ban any customer that fails to properly pay.

Most SOME businesses need instant confirmation and will not pay extra to use a payment method that very few people use anyways.

Fixed that for you.

To get one confirmation takes about 10 minutes  -snip- 6 confirmations would take at least an hour and more likely 2 to 5 hours. Are you suggesting that Bitcoin is only good for transactions that take 6 hours -snip-

6 hours? No. One confirmation is sufficient for medium value transactions.  High value transactions (hundreds of thousands of dollars) will take more that 10 minutes no matter how you pay (contracts, waiting for funds to clear, loans, etc).

Layer 2 is not the solution either because it is not peer-to-peer.

In what way is Lightning not peer-to-peer?  Sounds like nonsense to me.

Credit cards and other traditional forms of payment are definitely NOT peer-to-peer. So, if that's your concern, it looks like Bitcoin wins by a landslide.

On the other hand, if you are willing to work within a 3rd party system, then accounts at companies such as Coinbase provide a simple solution for low value, low fee transactions at those merchants that do need instant confirmation and that aren't using something like Lightning.  It's also possible for a customer to maintain an account at a merchant they shop with regularly.  The merchant can then instantly reduce the account value as the customer makes purchases, and the customer can top-up the account whenever it gets low.

There are so many solutions, each targeted for specific use-cases. If you can't think of any, and you aren't willing to accept any, then that says a lot more about you than it does about Bitcoin.

member
Activity: 105
Merit: 20
Personal financial freedom and sovereignty
January 17, 2024, 06:08:16 PM
#11
Afaik Bitcoin tx takes about 10 minutes to get a confirmation. so for 6 confirmation it takes an average of about an hour ( 10 minutes per confirmation = 6 confirmation in 1 hour) so I don't know where your 6 hours confirmation is coming from.

Thank you for the response. On average credit card fees are about 2.5%.  So a credit card transaction of $600 would cost $15.  Let say you did a transaction of $300.  The credit card fee would be $7.50.  Half the price of Bitcoin.  So the breakeven point for Bitcoin to be viable in terms of fees is currently $600.  Of course you could choose to use Bitcoin for other reasons but most people are trying to spend less not more.

It currently costs about $15 to get into the next block.  That would be 10 minutes or less for your first confirmation.  Then you would wait 10 minutes for each additional confirmation so the total time to get to the recommended 6 confirmations would be about 60 minutes.  But lets say you only paid 7.50 for the Bitcoin fees then how long would it take to get 6 confirmations?  I am estimating about 6 hours but that is just a guess.

So what I am saying is that Bitcoin is not economically viable or fast enough to handle most merchant transactions.  Most businesses need instant confirmation and will not pay extra to use a payment method that very few people use anyways.  For Bitcoin to be attractive it needs to be faster and cheaper.

member
Activity: 66
Merit: 5
Eloncoin.org - Mars, here we come!
January 17, 2024, 05:51:37 PM
#10

Are you suggesting that Bitcoin is only good for transactions that take 6 hours and are over $600.

No that's not what his saying! but for transactions to get more confirmation faster you have to just simply increase the tx fee. which equally means that Bitcoin is not only for transactions that are over $600, its used for even very low amounts as far as I know.

Afaik Bitcoin tx takes about 10 minutes to get a confirmation. so for 6 confirmation it takes an average of about an hour ( 10 minutes per confirmation = 6 confirmation in 1 hour) so I don't know where your 6 hours confirmation is coming from.

This is not going to work for most merchants unless they take on the risk of the unconfirmed transaction or Core fixes this issue.  Layer 2 is not the solution either because it is not peer-to-peer.

Suggestions???

  So as a Marchant or business own it's not never advisable to accept unconfirmed transactions no matter the tx fee used for such transaction. that is why there exist RBF as a solution instead of accepting unconfirmed transactions.

Bitcoin works Viz vice (side by side) with fiat so if you can't afford to use Bitcoin as payment why not just us your fiat to avoid all the dramas. or better stick to the 6 confirmation condition for your business.
member
Activity: 105
Merit: 20
Personal financial freedom and sovereignty
January 17, 2024, 04:15:36 PM
#9
Before full RBF was implemented, merchants and some people were accepting unconfirmed transactions as long as the sender uses high priority fee that were enough to get the transactions confirmed in the next block. But when full RBF was implemented, transactions that do not support RBF can still be replaced, that is the reason this is no more a viable solution to make bitcoin unconfirmed transactions to be  accepted.

I have accepted unconfirmed transactions before but I can novmore accept it because of full RBF. You have no option than to wait for at least 1 confirmation. If the money is huge, wait for more confirmation.

To get one confirmation takes about 10 minutes and costs about $15(about what it would cost for a $600 credit card transaction).  That is not acceptable for most transactions.  6 confirmations would take at least an hour and more likely 2 to 5 hours.
Are you suggesting that Bitcoin is only good for transactions that take 6 hours and are over $600.

This is not going to work for most merchants unless they take on the risk of the unconfirmed transaction or Core fixes this issue.  Layer 2 is not the solution either because it is not peer-to-peer.

Suggestions???
legendary
Activity: 1512
Merit: 4795
January 17, 2024, 03:41:00 PM
#8
Before full RBF was implemented, merchants and some people were accepting unconfirmed transactions as long as the sender uses high priority fee that were enough to get the transactions confirmed in the next block. But when full RBF was implemented, transactions that do not support RBF can still be replaced, that is the reason this is no more a viable solution to make bitcoin unconfirmed transactions to be  accepted.

I have accepted unconfirmed transactions before but I can novmore accept it because of full RBF. You have no option than to wait for at least 1 confirmation. If the money is huge, wait for more confirmation.
legendary
Activity: 3234
Merit: 2943
Block halving is coming.
January 17, 2024, 01:46:45 PM
#7

Thank you for the response.  I understand what you are saying. Is there any way this could be prevented?  If we could resolve this issue Bitcoin could be amazingly fast.
Merchants or people out there already have a solution about this. To prevent or to avoid this issue as a receiver or a merchant owner who accepts Bitcoin always keeps waiting for 3 confirmations before you release a product or anything in exchange because most transactions with 3 confirmations are irreversible even a transaction with 1 confirmation can't double spend but for safety always wait for 3 or 4 confirmations.
hero member
Activity: 672
Merit: 855
January 17, 2024, 01:38:28 PM
#6

Thank you for the response.  I understand what you are saying. Is there any way this could be prevented?  If we could resolve this issue Bitcoin could be amazingly fast.

Sadly I don’t think there is a solution for that just yet, the confirmation time of bitcoin can not be determined because it varies even if you use a transaction fee good enough to get it confirmed into the next block. For now I will say you should prioritize another payment method or stick to the 6 confirmation that is advised
member
Activity: 105
Merit: 20
Personal financial freedom and sovereignty
January 17, 2024, 01:29:10 PM
#5
What do you mean with the double spending protection built in, there is different node settings and if he gets to broadcast it through a server or node that allows full RBF that will actual defeat your point of non RBF transaction, because the node will replace the transaction and include the new one with higher fee and if the mining node actually mines a block first with that transaction included that renders your own transaction invalid

Thank you for the response.  I understand what you are saying. Is there any way this could be prevented?  If we could resolve this issue Bitcoin could be amazingly fast.
hero member
Activity: 672
Merit: 855
January 17, 2024, 01:17:33 PM
#4

Thank you for the response.  Can you be more specific?  With the double spend protection built in, what is the risk? 


What do you mean with the double spending protection built in, there is different node settings and if he gets to broadcast it through a server or node that allows full RBF that will actual defeat your point of non RBF transaction, because the node will replace the transaction and include the new one with higher fee and if the mining node actually mines a block first with that transaction included that renders your own transaction invalid
member
Activity: 105
Merit: 20
Personal financial freedom and sovereignty
January 17, 2024, 01:11:09 PM
#3
Still very much a risk

Thank you for the response.  Can you be more specific?  With the double spend protection built in, what is the risk? 
hero member
Activity: 672
Merit: 855
January 17, 2024, 01:08:02 PM
#2
Still very much a risk. Even if the transaction fee is worth much to get it into the next block the problem will be when is the next block going to get mined it could take time that could give the sender the time to double spend the transaction with node that has full RBF settings with a much higher fee. Also the fee rate is unpredictable it could make your transaction not get into the next block and could even get dropped later because it is likely. It’s also risky to actually accept a transaction with just one confirmation talkless of no confirmation at all because of the issue of Chain Reorg
member
Activity: 105
Merit: 20
Personal financial freedom and sovereignty
January 17, 2024, 01:06:37 PM
#1
I am not a Bitcoin developer so please excuse my ignorance.

If a merchant accepted Bitcoin without waiting for a confirmation but instead insisted on a transaction without RBF and a fee that was in the current acceptable fee range could this speed up the payment process?

Are there any reasons why this would not work?
Jump to: