Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: torba on June 17, 2013, 04:15:31 AM



Title: What exactly is the reason bitcoin processes transactions so slowly?
Post by: torba on June 17, 2013, 04:15:31 AM
Slowly as in not comparable to say the transaction speeds you can accomplish with a credit card.
I've been searching for answer to this. Is there a specific component like network propagation that severely effects processing time?


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: r3wt on June 17, 2013, 04:19:20 AM
Slowly as in not comparable to say the transaction speeds you can accomplish with a credit card.
I've been searching for answer to this. Is there a specific component like network propagation that severely effects processing time?


encryption


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: 01BTC10 on June 17, 2013, 04:23:16 AM
Miners need to include the transaction in a block to confirm it. It takes times and processing power to find a 'block'. Average time between block is about 10 minutes.

https://en.bitcoin.it/wiki/Blocks

If you don't wait for any confirmation then the transaction is almost instant but is unsafe since it could be a double-spend. No confirmation transaction speed depend on network propagation.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: r3wt on June 17, 2013, 04:29:33 AM
Miners need to include the transaction in a block to confirm it. It takes times and processing power to find a 'block'.

https://en.bitcoin.it/wiki/Blocks

If you don't wait for any confirmation then the transaction is almost instant but is unsafe since it could be a double-spend. No confirmation transaction speed depend on network propagation.

I wonder how credit card companies/banks avoid that issue


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: torba on June 17, 2013, 04:30:29 AM
Miners need to include the transaction in a block to confirm it. It takes times and processing power to find a 'block'.

https://en.bitcoin.it/wiki/Blocks

If you don't wait for any confirmation then the transaction is almost instant but is unsafe since it could be a double-spend. No confirmation transaction speed depend on network propagation.

I wonder how credit card companies/banks avoid that issue
Centralization :(


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: r3wt on June 17, 2013, 04:32:36 AM
Miners need to include the transaction in a block to confirm it. It takes times and processing power to find a 'block'.

https://en.bitcoin.it/wiki/Blocks

If you don't wait for any confirmation then the transaction is almost instant but is unsafe since it could be a double-spend. No confirmation transaction speed depend on network propagation.

I wonder how credit card companies/banks avoid that issue
Centralization :(

yeah, what i figured. i guess decentralization is a double edged sword. on the one hand no one can manipulate your balance(atleast not as easily) and steal your money, but on the otherhand it gives rise to the known security issues(such as double spend, and hackers trying to root your box and steal your shit)


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: coinedBit on June 17, 2013, 04:33:00 AM
Centralized serialization through atomic transactions.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: 01BTC10 on June 17, 2013, 04:33:00 AM
Miners need to include the transaction in a block to confirm it. It takes times and processing power to find a 'block'.

https://en.bitcoin.it/wiki/Blocks

If you don't wait for any confirmation then the transaction is almost instant but is unsafe since it could be a double-spend. No confirmation transaction speed depend on network propagation.

I wonder how credit card companies/banks avoid that issue

Bitcoin is a trust-less decentralised network. Each client is responsible to verify the validity of each transaction.

CC company and bank are centralised entity. Each client rely on the CC/Bank to verify that the transaction is legitimate. The centralised nature of the network make it faster.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: r3wt on June 17, 2013, 04:34:06 AM
Miners need to include the transaction in a block to confirm it. It takes times and processing power to find a 'block'.

https://en.bitcoin.it/wiki/Blocks

If you don't wait for any confirmation then the transaction is almost instant but is unsafe since it could be a double-spend. No confirmation transaction speed depend on network propagation.

I wonder how credit card companies/banks avoid that issue

Bitcoin is a trust-less decentralised network. Each client is responsible to verify the validity of each transaction.

CC company and bank are centralised entity. Each client rely on the CC/Bank to verify that the transaction is legitimate. The centralised nature of the network make it faster.
oh thanks


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: r3wt on June 17, 2013, 04:34:51 AM
Slowly as in not comparable to say the transaction speeds you can accomplish with a credit card.
I've been searching for answer to this. Is there a specific component like network propagation that severely effects processing time?


encryption

No. It is not because of encryption.

It is slower because a credit card transaction is sent to a central payment processor. Bitcoin's design purposely avoids having a central payment processor. There are several benefits, but the trade-off is that it takes longer to validate a transaction.

In the future, there will probably be services built on top of bitcoin that will enable nearly instant validation of transactions.

oh ok. makes sense. and yeah, i could totall see that happening.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: 01BTC10 on June 17, 2013, 04:35:22 AM
Miners need to include the transaction in a block to confirm it. It takes times and processing power to find a 'block'.

https://en.bitcoin.it/wiki/Blocks

If you don't wait for any confirmation then the transaction is almost instant but is unsafe since it could be a double-spend. No confirmation transaction speed depend on network propagation.

I wonder how credit card companies/banks avoid that issue
Centralization :(

yeah, what i figured. i guess decentralization is a double edged sword. on the one hand no one can manipulate your balance(atleast not as easily) and steal your money, but on the otherhand it gives rise to the known security issues(such as double spend, and hackers trying to root your box and steal your shit)
Centralized system get hacked very often. The company usually pay for the theft but ultimately it's the client that pay the bill via higher fees.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: torba on June 17, 2013, 04:36:12 AM
Slowly as in not comparable to say the transaction speeds you can accomplish with a credit card.
I've been searching for answer to this. Is there a specific component like network propagation that severely effects processing time?


encryption

No. It is not because of encryption.

It is slower because a credit card transaction is sent to a central payment processor. Bitcoin's design purposely avoids having a central payment processor. There are several benefits, but the trade-off is that it takes longer to validate a transaction.

In the future, there will probably be services built on top of bitcoin that will enable nearly instant validation of transactions.
"Services that enable instant validation", thats a really really interesting idea.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: 01BTC10 on June 17, 2013, 04:37:50 AM
Instant validation are already implemented via green address: https://en.bitcoin.it/wiki/Green_address


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: r3wt on June 17, 2013, 04:38:18 AM
Slowly as in not comparable to say the transaction speeds you can accomplish with a credit card.
I've been searching for answer to this. Is there a specific component like network propagation that severely effects processing time?


encryption

No. It is not because of encryption.

It is slower because a credit card transaction is sent to a central payment processor. Bitcoin's design purposely avoids having a central payment processor. There are several benefits, but the trade-off is that it takes longer to validate a transaction.

In the future, there will probably be services built on top of bitcoin that will enable nearly instant validation of transactions.
"Services that enable instant validation", thats a really really interesting idea.

hell yeah it is. and in my opinion it will be services like that as well as simplified ease of mining and easy to use clients with short address support that will bring bitcoin into mainstream. the ease of use factor severely limits bitcoins. only nerds have heard of bitcoin.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: r3wt on June 17, 2013, 04:45:41 AM
Instant validation are already implemented via green address: https://en.bitcoin.it/wiki/Green_address

ok, i hate to burst your bubble but  the point you just tried to make is a non point, in my opinion. Green Addresses offer zero security. Instead the type of service that ultimately wins out will become the frontend to the bitcoin world, while the miners and client as we know them will end up being the underlying support. what i'm talking about is say they call this new client e-dollars or something.


Person A logs into his e-dollar account and sends 5 dollars and hits send.

this info is sent to a bitcoin server that converts the 5 dollars into a btc amount and checks if there is enough funds in the account, and if so transfers the bitcoin amount from Person As Bitcoin Address to the Address of a second person, Person B.

A success code is relayed to Person A's client, telling him the transfer was a success and docking his account 5 dollars.

A payment code is sent to Person B's e-dollar client. 

Person B's e-dollar client accepts the payment and his balance is updated



Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: oatmo on June 18, 2013, 05:49:42 PM
Litecoin generates blocks 4x as fast as bitcoin. If you want faster confirmations, just use litecoin.

Oatmo


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: jackjack on June 18, 2013, 07:11:20 PM
Litecoin generates blocks 4x as fast as bitcoin. If you want faster confirmations, just use litecoin.

Oatmo
Are you kidding or do you have no idea how bitcoin and copycats work?


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: Mike Hearn on June 18, 2013, 07:26:27 PM
I think we need an FAQ for this. Everything said so far in this thread is wrong.

Credit card transactions do not settle instantly. They clear (usually) weekly and can be reversed months later. What happens when you "pay" is simply that the merchant records an IOU. It takes a long time for the money to actually show up in their bank account.

You can accept a Bitcoin transaction instantly (unconfirmed) and it is dramatically safer than a credit card payment, regardless of what you may see claimed elsewhere on this forum.

Bitcoin clears payments faster than any other financial system I'm aware of except cash by orders of magnitude, and I do not anticipate that changing any time soon.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: piotr_n on June 18, 2013, 07:29:38 PM
Slowly as in not comparable to say the transaction speeds you can accomplish with a credit card.
I've been searching for answer to this. Is there a specific component like network propagation that severely effects processing time?
The main factor is decentralization.
You cannot have both; decentralization and quick judgement on who is trying to double spend.
If you choose to go for the quick judgement way, then you will end up in hell. Where you come from, so no worries here. :)


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: Peter Lambert on June 18, 2013, 07:34:18 PM
Slowly as in not comparable to say the transaction speeds you can accomplish with a credit card.
I've been searching for answer to this. Is there a specific component like network propagation that severely effects processing time?

There are two things going on, the transaction must propagate through the network, and the transaction must be confirmed as valid. Both credit card and bitcoin transactions propagate almost instantly. For small purchases it could be acceptable to complete the transaction as soon as the bitcoins are seen with 0 confirmations. That is what credit card users do as well.

Bitcoins are confirmed when you get to the number of blocks you deem necessary, most places use 6 confirms, but I have seen 3 or 9 as well. Credit Cards, on the other hand, take much longer to fully confirm; the transaction can be reversed weeks later by the credit card company.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: Come-from-Beyond on June 18, 2013, 08:51:18 PM
Slowly as in not comparable to say the transaction speeds you can accomplish with a credit card.
I've been searching for answer to this. Is there a specific component like network propagation that severely effects processing time?

10 min is just a magic number.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: Kake on June 19, 2013, 10:39:49 AM
So currently there is no good way to have both fast bitcoin transactions and double spending prevention?


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: OnkelPaul on June 19, 2013, 10:54:58 AM
So currently there is no good way to have both fast bitcoin transactions and double spending prevention?

Right.

If you accept bitcoin payments, there are basically two extreme scenarios:
1 - high-value sales such as mining rigs, jewellery etc.: wait for sufficient confirmations before giving away or sending the item.
2 - low-value sales such as pints of beer: accept zero-confirmation transactions (maybe checking that they include sufficient fees to be processed in reasonable time) and assume that nobody would go through the effort to stage a double spend fraud for a pint of beer.

If your scenario has both high value and the need for immediate reliable payment clearance, you most likely got a trust problem anyway, and fast transactions would not solve that.

Onkel Paul


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: siliclone on June 19, 2013, 04:37:07 PM
Bitcoin clears payments faster than any other financial system I'm aware of except cash by orders of magnitude, and I do not anticipate that changing any time soon.

To take your point ad absurdum, even cash transactions aren't instantly cleared. In fact, the vast majority are never cleared at all. There's a level of trust applied with a cash transaction that the bills exchanging hands are not counterfeit. If there were to be actual verification (and I don't mean by using a magic marker), then a cash transaction would take even longer to clear than a credit card.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: Peter Lambert on June 19, 2013, 09:21:13 PM
Bitcoin clears payments faster than any other financial system I'm aware of except cash by orders of magnitude, and I do not anticipate that changing any time soon.

Unless you are trying to do a cash transaction at a distance. It might take a couple days for the cash to go through the mail, clearly bitcoins clear much faster than that.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: Mike Hearn on June 20, 2013, 08:24:41 AM
Alright, so maybe Bitcoin clears faster than any other financial mechanism ever, then :)


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: gendal on June 20, 2013, 01:29:24 PM
Alright, so maybe Bitcoin clears faster than any other financial mechanism ever, then :)

Perhaps there's a terminological problem here.   We need to distinguish between the concepts of clearing, settlement and finality.

Clearing in the context of payments is of most relevance to deferred net settlement systems (e.g. Visa/MC, EURO1, BACS, etc) where it is necessary for somebody to sort out the obligations (who owes what to whom) in order that settlement can then be effected efficiently between the parties.  And as merchants who have experienced chargeback from the Visa and MC networks will attest, "settlement" under these systems does not imply "finality".

However, the Bitcoin network doesn't do any netting: every transaction is settled gross.  As such, it is most analogous to a real-time gross settlement system such as CHAPS/Target2/Fedwire, etc.

In these systems, every transaction is settled gross (like Bitcoin) and is settled, with finality, in central bank money.  This happens in seconds and clearing isn't really a helpful concept/term to use.  Settlement is the key concept here.

Either way, it is clear that the Bitcoin network does *not* provide the level of settlement speed that the major currencies' RTGSs provide.... but it does provide guarantees of finality far quicker than the DNS systems that most individuals rely on for most of their transactions.







Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: torba on June 20, 2013, 07:46:44 PM
This thread: "how I learned to stop worrying and love the ~10 min conf time."


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: d'aniel on June 20, 2013, 11:34:01 PM
Either way, it is clear that the Bitcoin network does *not* provide the level of settlement speed that the major currencies' RTGSs provide.....
It's important to point out that this is of zero relevance to any individual, as they are not a bank, and thus have no access to any currency's RTGS system.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: melvster on June 20, 2013, 11:37:24 PM
So currently there is no good way to have both fast bitcoin transactions and double spending prevention?

You need a trusted third party for this.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: gendal on June 21, 2013, 08:55:34 AM
Either way, it is clear that the Bitcoin network does *not* provide the level of settlement speed that the major currencies' RTGSs provide.....
It's important to point out that this is of zero relevance to any individual, as they are not a bank, and thus have no access to any currency's RTGS system.

Not quite....  individuals don't have *direct* access to any currency's RTGS but they *can* make use of them indirectly.  e.g. for house purchasing in the UK, it is normal for a purchaser to transfer their deposit over CHAPS to the lawyer acting on their behalf.   The need for near-real-time settlement with finality is key.

The reason I brought this up is because I sense discussions about settlement speed, etc., in Bitcoin are based on a misunderstanding of how other currencies work.

To my mind, the Bitcoin network is an RTGS, rather than a DNS (gross settlement, settlement in "central bank money"*, finality, etc).  However, discussions on this topic talk about use-cases most usually addressed with DNSs (e.g. retail payments, online commerce, etc, etc).

Now, nobody would ever suggest using Fedwire for every credit card transaction in the world but people *are* implicitly suggesting that, should Bitcoin gain widespread adoption, every single transaction (every pint of beer, every pizza, every coffee) would be passed over the Blockchain....   in other words, there is an implicit assumption that Bitcoin (an RTGS) will gain widespread adoption for use-cases currently solved with DNSs.

It's just not obvious to me that this is the right answer.

Sure... a Deferred Net Settlement for Bitcoin using a traditional centralised architecture would be unattractive -- but one could easily envisage an architecture where low-value transactions take place on "auxiliary" side-chains before being periodically aggregated (and hence settled) net on the main BTC chain.   



* Clearly, there is no "central bank" in Bitcoin but the entire network can be seen as analogous to one (it controls the money supply, provides regulation (difficulty adjustments, rejection of invalid transactions, etc), etc, etc).


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: oatmo on June 21, 2013, 07:12:24 PM
It seems like, after some study, that most of the crypto currencies act the same here. The ones that generate blocks faster just wait for more blocks to finish to call it confirmed. The ones which generate blocks faster will give you an initial low confidence confirm (inclusion in the first block) faster, but you still need to wait for multiple blocks before there is high enough certainty.

Oatmo


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: ProfMac on June 21, 2013, 07:18:29 PM
So currently there is no good way to have both fast bitcoin transactions and double spending prevention?

You need a trusted third party for this.

If you run a bar & grill and a regular pays you, it's good enough when it shows up on blockchain.info.  Of course, this is a person who will eventually forget his wallet and have to go home before he pays a tab, and you will trust him that much anyway.



Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: NewLiberty on June 21, 2013, 07:19:32 PM
Alright, so maybe Bitcoin clears faster than any other financial mechanism ever, then :)
Gold coins in person.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: ProfMac on June 21, 2013, 07:22:00 PM
Alright, so maybe Bitcoin clears faster than any other financial mechanism ever, then :)
Gold coins in person.
Senior, I notice that you are burdened by a heavy load of gold coins.  Perhaps I can help you with them?


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: Mike Hearn on June 21, 2013, 08:14:53 PM
You're talking about CHAPS, the system that settles "same day" and that's considered good? The one that costs 20-30 pounds per transfer? The one that only operates during office hours?

I'm pretty sure there are no systems that move money irreversibly faster than Bitcoin. And bear in mind, zero confirm transactions work, and can be made even stronger in future.


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: gendal on June 21, 2013, 09:50:44 PM
You're talking about CHAPS, the system that settles "same day" and that's considered good? The one that costs 20-30 pounds per transfer? The one that only operates during office hours?

Yes. CHAPS. The UK's RTGS which settles in near real-time, with finality, on the books of the central bank.  Not sure why you put "same day" in quotes... it's near instantaneous.

http://www.bankofengland.co.uk/markets/Documents/paymentsystems/rtgsguide.pdf

However, you put your finger on the problem: there are only sixteen members of CHAPS, which means all other participants must route their transactions through one of those sixteen (and it can take time to get funds in to / out of these institutions). And it is expensive. And it is only open for certain hours.

Which is, of course, why payments for coffee in Starbucks are not settled across it and why almost all payments in GBP are aggregated in BACS/FPS/MC/VISA/etc and settled net in CHAPS at periodic intervals.

The same applies for Fedwire/USD and Target2/EUR, etc, etc.

I'm pretty sure there are no systems that move money irreversibly faster than Bitcoin. And bear in mind, zero confirm transactions work, and can be made even stronger in future.

CHAPS, Fedwire and Target2 are three counterexamples to that claim.  However, they are, I admit, practically irrelevant to this discussion since membership criteria are so strict and they suffer from so many other complexities.

So I think we're in violent agreement:  Bitcoin brings almost all of the hitherto inaccessible benefits of an RTGS to domains where, previously, only DNSs were available

But it does mean that Bitcoin finds itself in a strange hybrid situation -- not quite as fast as a true RTGS to provide assurances of transaction finality yet lacking the netting capabilities that prevent Starbucks payments cluttering up the same ledger that is used for multi-billion dollar inter-bank transfers!

(As for zero confirm transactions, I agree.... for most practical purposes, they are good enough and, on that measure, Bitcoin is almost certainly quicker than anything else out there.)


Title: Re: What exactly is the reason bitcoin processes transactions so slowly?
Post by: Peter Lambert on June 24, 2013, 09:31:55 PM
Alright, so maybe Bitcoin clears faster than any other financial mechanism ever, then :)
Gold coins in person.

You forgot to add in the time it takes to dig the gold out of where you buried it for safekeeping, and travelling to get to where you are going to make the transaction, and maybe the guy you are meeting is running late, so that would add extra wait time too.