Bitcoin Forum
May 06, 2024, 04:25:10 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Cost and Confirmation time of Bitcoin Transactions  (Read 17054 times)
oblongmeteor (OP)
Full Member
***
Offline Offline

Activity: 134
Merit: 100


View Profile
November 19, 2013, 11:50:28 PM
 #1

There seems to be a substantial backlog (6000) of Bitcoin transactions building up thanks to the increasing number of users taking to the technology (https://bitcointalk.org/index.php?topic=338999.0) and numerous questions in the [Technical Support] board (https://bitcointalk.org/index.php?board=4.0) over why transactions are seemingly now stuck in Limbo even when they include a fee.

Suggestions have been mooted such as "include a higher fee" and "be more generous", but how does this work in the context of most users? The average person will do what their wallet tells them. They'll have no idea what constitutes a suitable fee for inclusion in a block and when they realize that even if they include the required 0.0001 BTC minimum fee, this puts them in the same position and requires they still wait 12-48 hours for their transaction to confirm - it's going to raise serious questions over Bitcoin's scalability...

In addition, according to CoinMill - the cost of 1 BTC is currently 641.84 USD and a transaction fee of 0.0001 BTC is 0.06 USD (6 cents). 0.0005 (the old fee) is 30 cents. As Bitcoin appreciates (if it does), the cost of transactions relative to the value of a Bitcoin grows substantially.

This makes it pretty uneconomical for any merchant to engage in using Bitcoin as a currency as A) they'll be waiting ages for their transaction to confirm if the user incorrectly attaches an 'unacceptable' fee and B) the cost of moving BTC is likely to rapidly meet or exceed that of preexisting payment methods such as ACH, Debit and eventually Credit cards... and in the case of the latter two it doesn't generally take 24-48 hours to even acknowledge your transaction exists.

Are there any solutions to this conundrum?


1715012710
Hero Member
*
Offline Offline

Posts: 1715012710

View Profile Personal Message (Offline)

Ignore
1715012710
Reply with quote  #2

1715012710
Report to moderator
1715012710
Hero Member
*
Offline Offline

Posts: 1715012710

View Profile Personal Message (Offline)

Ignore
1715012710
Reply with quote  #2

1715012710
Report to moderator
1715012710
Hero Member
*
Offline Offline

Posts: 1715012710

View Profile Personal Message (Offline)

Ignore
1715012710
Reply with quote  #2

1715012710
Report to moderator
"There should not be any signed int. If you've found a signed int somewhere, please tell me (within the next 25 years please) and I'll change it to unsigned int." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715012710
Hero Member
*
Offline Offline

Posts: 1715012710

View Profile Personal Message (Offline)

Ignore
1715012710
Reply with quote  #2

1715012710
Report to moderator
Foxpup
Legendary
*
Offline Offline

Activity: 4354
Merit: 3042


Vile Vixen and Miss Bitcointalk 2021-2023


View Profile
November 20, 2013, 01:33:40 AM
Last edit: November 20, 2013, 03:36:30 AM by Foxpup
 #2

Suggestions have been mooted such as "include a higher fee" and "be more generous", but how does this work in the context of most users? The average person will do what their wallet tells them.
This is way Bitcoin was always meant to work: more fees = faster confirmations; less fees = slower confirmations. At first, when transaction volume was lower, it didn't work that way; most or all transactions were confirmed quickly regardless of fees, and apparently some people were fooled into thinking that was normal, and now that the fee system is working properly, people are complaining that it's broken.

This can easily be fixed by adding an "Urgency" option to the Send Coins tab, allowing users to easily select between "Urgent" and "Not Urgent" transactions, and hopefully showing the expected fee and confirmation time for each option. Average users will easily accept that they can pay more fees to get faster transactions (they already do for things like postage), we just need to make that option more accessible.

In addition, according to CoinMill - the cost of 1 BTC is currently 641.84 USD and a transaction fee of 0.0001 BTC is 0.06 USD (6 cents). 0.0005 (the old fee) is 30 cents. As Bitcoin appreciates (if it does), the cost of transactions relative to the value of a Bitcoin grows substantially.
The fees can be lowered if the price rises too high. They have already been lowered several times for exactly this reason, and there's no reason to think it won't happen again.

EDIT: Typo

Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4
I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
oblongmeteor (OP)
Full Member
***
Offline Offline

Activity: 134
Merit: 100


View Profile
November 20, 2013, 01:42:19 AM
 #3

Current problem here is that Bitcoin price moves signifcantly more rapidly than fee amendments. In the last 72 hours, the price of one Bitcoin on BTC China peaked at circa 1,100 USD. Moving one BTC with the minimum fee of 0.0001 BTC would cost you 11 cents. Amazon pay less than that to process a credit card transaction. 
Gavin Andresen
Legendary
*
Offline Offline

Activity: 1652
Merit: 2216


Chief Scientist


View Profile WWW
November 20, 2013, 03:17:05 AM
 #4

The fees can be lowered if the price rises too high. They have already been lowered several times for exactly this reason, and there's no reason to think it won't happen again.

Transaction fees are likely to go up (in dollar terms) for a while, until some engineering work is done to reduce the "orphan cost" for miners to include more transactions in their blocks OR mining pools / miners collectively agree to include more transactions for the good of the whole system.

In the very short term, you can ask mining pool operators to create larger blocks. If they refuse, then switch your miners to a pool that does.

If they all create larger blocks, then we get more transactions and more orphan blocks, but the cost of those extra orphan blocks is spread across everybody mining, so everybody gets just as many bitcoins (on average) as they would with smaller blocks.

How often do you get the chance to work on a potentially world-changing project?
oakpacific
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1000


View Profile
November 20, 2013, 03:22:25 AM
 #5

Current problem here is that Bitcoin price moves signifcantly more rapidly than fee amendments. In the last 72 hours, the price of one Bitcoin on BTC China peaked at circa 1,100 USD. Moving one BTC with the minimum fee of 0.0001 BTC would cost you 11 cents. Amazon pay less than that to process a credit card transaction.  

What's the problem? That the value of your holding increases thousands of dollars while you have to pay an additional fee of only several cents per transaction? The Amazon example is red-herring, the cost has already been included in the price of the goods, either willingly or unwillingly, and dollar never fluctuates as much.

Sometimes I feel that it's not only the Wall street bankers who are snobbish and stingy.

https://tlsnotary.org/ Fraud proofing decentralized fiat-Bitcoin trading.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
November 20, 2013, 03:32:17 AM
 #6

There seems to be a substantial backlog (6000) of Bitcoin transactions building up thanks to the increasing number of users taking to the technology (https://bitcointalk.org/index.php?topic=338999.0) and numerous questions in the [Technical Support] board (https://bitcointalk.org/index.php?board=4.0) over why transactions are seemingly now stuck in Limbo even when they include a fee.

Suggestions have been mooted such as "include a higher fee" and "be more generous", but how does this work in the context of most users? The average person will do what their wallet tells them. They'll have no idea what constitutes a suitable fee for inclusion in a block and when they realize that even if they include the required 0.0001 BTC minimum fee, this puts them in the same position and requires they still wait 12-48 hours for their transaction to confirm - it's going to raise serious questions over Bitcoin's scalability...

In addition, according to CoinMill - the cost of 1 BTC is currently 641.84 USD and a transaction fee of 0.0001 BTC is 0.06 USD (6 cents). 0.0005 (the old fee) is 30 cents. As Bitcoin appreciates (if it does), the cost of transactions relative to the value of a Bitcoin grows substantially.

This makes it pretty uneconomical for any merchant to engage in using Bitcoin as a currency as A) they'll be waiting ages for their transaction to confirm if the user incorrectly attaches an 'unacceptable' fee and B) the cost of moving BTC is likely to rapidly meet or exceed that of preexisting payment methods such as ACH, Debit and eventually Credit cards... and in the case of the latter two it doesn't generally take 24-48 hours to even acknowledge your transaction exists.

Are there any solutions to this conundrum?




You are taking things out of context.

Please show me a single user that
a) is using standard transactions
b) paid the MINIMUM fee
c) didn't create a tx w/ unconfirmed inputs (which have to be confirmed before the tx can confirm)

and has a tx stuck for hours.

The fee is currently 0.1 mBTC (~$0.05).  While this is not free it is pretty much cheaper than any other payment system.
Credit Cards: $0.30 + 2%
PayPal: $0.30 + 3%
ACH: $0.25 to $0.50
Bank Wire:  $10 to $25
International Bank Wire: $25 to $40
Check processing (business): $0.50 ea
etc


Most users with tx "stuck" issues involve either
a) a free as in no fee at all
b) giant bloated dust spam tx that miners are reluctant to include in blocks
c) tx which have no fee issues like using unconfirmed outputs as inputs.

DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
November 20, 2013, 03:37:56 AM
 #7

Current problem here is that Bitcoin price moves signifcantly more rapidly than fee amendments. In the last 72 hours, the price of one Bitcoin on BTC China peaked at circa 1,100 USD. Moving one BTC with the minimum fee of 0.0001 BTC would cost you 11 cents. Amazon pay less than that to process a credit card transaction. 

When the price stabilizes the min fee can be reduced.  It doesn't have to be exactly fixed in fiat terms.  Throughout the history of Bitcoin despite the exchange rate rising 60,000,000% the min fee has been ~0.5 cents to 10 cents per KB. 

The last min fee reduction happened when Bitcoin sustained an exchange rate >$100 and after the reduction the fee was ~1 US cent. 
oblongmeteor (OP)
Full Member
***
Offline Offline

Activity: 134
Merit: 100


View Profile
November 20, 2013, 09:38:33 AM
Last edit: November 20, 2013, 10:43:23 AM by oblongmeteor
 #8

You are taking things out of context.

Please show me a single user that
a) is using standard transactions

I can't show this, but that isn't the issue. Since you *can* spend unconfirmed outputs - and this was done with the stock Bitcoin daemon - , it doesn't matter if your transaction includes a fee if one of the ancestors did not. Every downstream transaction is delayed as a consequence. This actually happened to this transaction: https://blockchain.info/tx/35c4e8c86075cf3f5335e029abd2d981af011c142b56e04c0a6d8b0d588d32ae created by the stock Bitcoin Daemon with the 'Sendtoaddress' call. This ancestor transaction https://blockchain.info/tx/99e6c22980571d1733986d950f564854393777ba0905d08aae36d7f4f64e4a3a included no-fee and as a consequence because it was picked as an input the downstream transaction was delayed. Both were confirmed +300 minutes after being broadcast... 5 hours. The downstream transaction included a fee.

b) paid the MINIMUM fee

Only... there is no minimum fee for some transactions - 0.0 is perfectly acceptable. My understanding of Transaction Fees is that they were probably conceived as a antidote to potential abuses of the transaction mechanism (spamming - you're less likely to attack something if it costs you money to do so). As for financial remuneration, the block reward was designed to suffice for miners until such time as it became inconsequential. Transaction fees were a bonus, but not the driver. Cherry picking is clearly happening and it's causing problems (Example: https://bitcointalk.org/index.php?topic=339871.0)

c) didn't create a tx w/ unconfirmed inputs (which have to be confirmed before the tx can confirm)

Again, your citing some arcane knowledge of the inner workings of Bitcoin to make this happen. The stock Bitcoin client happily uses unconfirmed outputs to generate new transactions. These transactions *will not confirm* until the ancestors have.

Consider also the scenario where a business receives and sends Bitcoin funds (same way as PayPal merchants do). If the business's wallet software decides to use an unconfirmed output as input from a client who paid using a 0 fee transaction as part of a downstream transaction or chain of downstream transactions and that client subsequently double spent the original transaction with a fee - all the downstream transactions would be invalidated if the subsequent fee including transaction were prioritized. This could mean significant financial losses for the business not to mention the nightmare of tracing and unwinding of the now invalid transactions.

The fee is currently 0.1 mBTC (~$0.05).  While this is not free it is pretty much cheaper than any other payment system.
Credit Cards: $0.30 + 2%
PayPal: $0.30 + 3%
ACH: $0.25 to $0.50
Bank Wire:  $10 to $25
International Bank Wire: $25 to $40
Check processing (business): $0.50 ea
etc

Do you really believe Amazon, Wallmart, Best Buy etc - some of the worlds largest retailers pay 0.30 USD per credit card transaction? The fact is in the last 72 hours Bitcoin on at least one exchange (BTC China) priced 1 Bitcoin at 1,100 USD. At this point, users on that exchange moving their Bitcoins and paying the minimum transaction fee were paying 0.11 USD per transfer. That is not cheap.

Most users with tx "stuck" issues involve either
a) a free as in no fee at all

Which are perfectly permissible. The sudden 'requirement' for a fee even though it is not mandated by the protocol just to get even remotely reasonable confirmation time is ridiculous.

b) giant bloated dust spam tx that miners are reluctant to include in blocks

Yes. 0.0001 BTC (currently) per 1KB.

c) tx which have no fee issues like using unconfirmed outputs as inputs.

Which the stock Bitcoin Daemon happily permits and you are none the wiser until your transaction suddenly doesn't go through.
ashray
Newbie
*
Offline Offline

Activity: 45
Merit: 0


View Profile WWW
November 20, 2013, 11:53:27 AM
 #9

Wouldn't a simple solution be to disallow unconfirmed inputs to be used for downstream output ? It's like your bank, sometimes your available balance and ledger balance are different.

The fees going up rapidly are a symptom of the increasing value of bitcoin. That will be adjusted when the value is more stable. From a long term perspective this shouldn't be a problem if bitcoin value doesn't jump orders of magnitude ($100 -> $1000) in a few days.

I've moved bitcoins with almost instant confirmation while paying a $0.05 transaction fee. I just choose the fee manually on my client though..
Barek
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
November 20, 2013, 12:16:37 PM
 #10

The biggest problem is not the fee (people are used to much, much higher fees), but that many new users are unaware of it. They only find out about it after searching for answers why their transaction does not get confirmations.

The wallets need to make it easier to set the fee. Some wallets won't even show it because it was left out for simplicity/space.

It should be in everyone's interest to support mining. The exchange rate can double within a day. Increasing the hashing power, and with it the security of the network, takes time.
ashray
Newbie
*
Offline Offline

Activity: 45
Merit: 0


View Profile WWW
November 20, 2013, 02:27:34 PM
 #11

I agree. Blockchain.info's simple "Send Money" does not include any settings for a fee. The MUCH scarier sounding "Advanced Send" (which does not actually look scary at all) does include a setting for miner's fees.

I think the notion that YOU can choose to pay or not pay a fee or even choose how much to pay is a libertarian way of setting things up, something that works well with the notion of what bitcoin is supposed to be. However, this isn't necessarily the best option from a usability perspective - people don't want to be bothered with thoughts of transaction fees. I've had a few orders getting stuck on my bitcoin business for 24+ hours because users don't know they should include a small fee for faster confirmation.

Maybe clients setting a default fee that ensures transactions will go through quickly is a good idea ?

Basically make the fees opt-out and keep it reasonably small (under 5 cents of a dollar, this is hard with the fluctuating exchange rate of course..). This will also give huge incentive for miners to continue operating the network because after all, this would not be possible without all those nodes.
oblongmeteor (OP)
Full Member
***
Offline Offline

Activity: 134
Merit: 100


View Profile
November 20, 2013, 03:08:21 PM
 #12

It should be in everyone's interest to support mining. The exchange rate can double within a day. Increasing the hashing power, and with it the security of the network, takes time.

But isn't the increased value of Bitcoin with respect to FIAT reward enough? @ 1000 USD / BTC - Mining pools are receiving 25,000 USD worth of value for every block successfully mined. If there are 144 blocks / day and a mining pool gets 8 of those blocks (~5.5%) - that's over 200,000 USD in revenue to share per day. Surely, a more reasonable approach is to discount fees and work on increasing the value of Bitcoin through adoption as a global payment mechanism. You don't do this by trying skim extra gravy off the top and penalizing those who don't pay.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1075


Ian Knowles - CIYAM Lead Developer


View Profile WWW
November 20, 2013, 03:14:00 PM
 #13

Certainly right now clients should probably all be at least including the minimal fee at the moment (I changed my bitcoin-qt's setting to 0.0005 after having several very slow and later two stuck txs).

The other problem here is simply that currently (as in the current version of) Bitcoin does not scale - so until this is better resolved then there is simply nothing else that can be done (although at least if miners included closer to the 1MB of txs per block we'd have far less backlog).

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Barek
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
November 20, 2013, 03:18:18 PM
 #14

But isn't the increased value of Bitcoin with respect to FIAT reward enough?

The way mining and difficulty works, the infrastructure is directly proportional to the block rewards (base reward + fees).  More fees and higher exchange rates will always directly improve the hashing power of the network. No such thing as enough if you are interested in improving the hash rate.
oblongmeteor (OP)
Full Member
***
Offline Offline

Activity: 134
Merit: 100


View Profile
November 20, 2013, 03:18:41 PM
 #15

What I still want to know is how much of a potential risk this scenario is:

"Consider also the scenario where a business receives and sends Bitcoin funds (same way as PayPal merchants do). If the business's wallet software decides to use an unconfirmed output as input from a client who paid using a 0 fee transaction as part of a downstream transaction or chain of downstream transactions and that client subsequently double spent the original transaction with a fee - all the downstream transactions would be invalidated if the subsequent fee including transaction were prioritized. This could mean significant financial losses for the business not to mention the nightmare of tracing and unwinding of the now invalid transactions."

As I mentioned above, the stock Bitcoin daemon (as shipped in Bitcoin-QT) appears happy to chain transactions with unconfirmed outputs.
Barek
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
November 20, 2013, 03:21:49 PM
 #16

although at least if miners included closer to the 1MB of txs per block we'd have far less backlog

Adding transactions to a block takes time, in which the miner/pool is idle. The transaction fee has to make up for that idle time. It doesn't need to be much, but certainly more than zero. I am sure the blocks will be filled if there are TX with fees available.


What I still want to know is how much of a potential risk this scenario is:

"Consider also the scenario where a business receives and sends Bitcoin funds (same way as PayPal merchants do). If the business's wallet software decides to use an unconfirmed output as input from a client who paid using a 0 fee transaction as part of a downstream transaction or chain of downstream transactions and that client subsequently double spent the original transaction with a fee - all the downstream transactions would be invalidated if the subsequent fee including transaction were prioritized. This could mean significant financial losses for the business not to mention the nightmare of tracing and unwinding of the now invalid transactions."

As I mentioned above, the stock Bitcoin daemon (as shipped in Bitcoin-QT) appears happy to chain transactions with unconfirmed outputs.

That's why it is good practice to wait for 7 confirmations before accepting a balance.
laowai80
Member
**
Offline Offline

Activity: 98
Merit: 10


View Profile
November 20, 2013, 03:26:07 PM
 #17

I've sent a few transactions recently with a 0.0005 BTC fee, the waiting time is normal, so I guess it's the minimum fee to have no issues. If you want to save on fees, then I guess exchange your BTC to LTC for micro-payments. BTC is getting into heavy-weight category, can't be bothered with micro-payments (as measured in USD).
oblongmeteor (OP)
Full Member
***
Offline Offline

Activity: 134
Merit: 100


View Profile
November 20, 2013, 03:30:54 PM
 #18

But isn't the increased value of Bitcoin with respect to FIAT reward enough?

The way mining and difficulty works, the infrastructure is directly proportional to the block rewards (base reward + fees).  More fees and higher exchange rates will always directly improve the hashing power of the network. No such thing as enough if you are interested in improving the hash rate.

But this doesn't make sense. The whole way Bitcoin is architected means that whether you've got one person mining on a single PC, or an entire continent on high power ASICS, the base reward is fixed with respect to the number of Bitcoins mined thus far (100->50->25->[...]->0 etc). Since we won't reach a mining reward that is near zero before 2040? The performance of the network and the faith people have in it is being significantly hampered for the sake of fractions of a Bitcoin.

Take block #270632. This includes a fairly typical 469 transactions, and gets 25 BTC reward (13949.34 USD according to CoinMill). They only took 0.14727399 BTC (82.17 USD) in fees. Basically, they received an extra 0.58% in reward fees. Bitcoin price has dropped by 1.07% (src: Bitstamp - Open 536.01, Close - 530.25) today alone. Does 0.58% extra really justify killing the performance and usability of Bitcoin?
oblongmeteor (OP)
Full Member
***
Offline Offline

Activity: 134
Merit: 100


View Profile
November 20, 2013, 03:33:54 PM
 #19

That's why it is good practice to wait for 7 confirmations before accepting a balance.

How? The stock Bitcoin Daemon certainly doesn't discriminate between confirmed and unconfirmed. It just seems to pick appropriately valued outputs to use as inputs - regardless if they are confirmed or not. Literally; "bitcoind sendtoaddress {ADDRESS} {VALUE}". There is no choice.
Barek
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
November 20, 2013, 03:41:06 PM
 #20

Take block #270632. This includes a fairly typical 469 transactions, and gets 25 BTC reward (13949.34 USD according to CoinMill). They only took 0.14727399 BTC (82.17 USD) in fees. Basically, they received an extra 0.58% in reward fees. Bitcoin price has dropped by 1.07% (src: Bitstamp - Open 536.01, Close - 530.25) today alone. Does 0.58% extra really justify killing the performance and usability of Bitcoin?

I doesn't kill anything. It just takes a little longer. Paying a few USD cent gets rid of the wait time. It's everyone's choice what to do. Personally, I don't think twice about those few cents. And on top of that, I know that those few cents even go towards improving the network (in a tiny way).


That's why it is good practice to wait for 7 confirmations before accepting a balance.

How? The stock Bitcoin Daemon certainly doesn't discriminate between confirmed and unconfirmed. It just seems to pick appropriately valued outputs to use as inputs - regardless if they are confirmed or not. Literally; "bitcoind sendtoaddress {ADDRESS} {VALUE}". There is no choice.

If you are the receiver of a transaction, you only accept it as valid if it has 7 transactions. Mind, this is only for high value transactions. It is unlikely that someone tries to double spend small amounts, so merchants often accept transactions that were just broadcast to the network and have not even been included in a block.

Or are you asking how to see how many confirmations a transactions has? Your client should show you. You could also use https://blockchain.info/address/<your address here>.
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!