<p>You could potentially be asking the wrong question. This has been brought up in discussion in #bitcoin-dev on Freenode a few dozen times, and eventually it comes down to the fact that having to wait 30 minutes or more for a transaction to clear as valid (vs several seconds on a credit card at a working terminal) will hinder Bitcoin adoption in the wild.</p>

<p>A lot of people predict the rise of Bitcoin banks, where the only people that transact with the chain primarily will be banks and large businesses, and everyone else will have Bitcoin bank cards that they use at terminals, or Bitcoin bank account numbers that transact instantly.</p>

<p>So, if/when this happens, you won't see 1TB of transactions (which, by the way, I suspect is rather high; several million transactions a day would not be 1TB, although it'd be in the GBs), you'll see roughly the traffic we have now as banks and merchants settle their balances with each other periodically.</p>

<p>There is also the problem that the client does not currently compress the chain while storing it on disk. Several TB of data could be several hundred GB of data if it compresses well, and that is very easy to store on today's conventional drives. Someone should look into adding lrzip support (better than LZMA, written by Con Kolivas, the guy behind the BFS kernel patch and the cgminer Bitcoin GPU miner) to the mainline client.</p>

CC BY-SA 3.0
2011-10-24T01:16:15.663Z
+1 if Bitcoin ever reaches end-users, most of their transactions will be "off-chain", only recorded in the internal clearing accounts of these wallet services. To counter the argument that this would be just like now, the two big improvements are that you only need to trust your everyday transaction funds to those banks (and can keep your savings on your PC), and that the underlying currency is safe from central bank tampering (i.e. printing more money).
Thilo
CC BY-SA 3.0
2011-10-23T23:52:42.237Z
2011-10-25T00:06:17.153Z
2011-10-25T00:06:17.153Z
Diablo-D3
<p>We are a long way away from VISA scale transaction volume (>4K transactions per second) however there are some methods for Bitcoin to deal with the data on that scale</p>

<p><strong>Remote blockchain.</strong> In the current implementation of the mainline client, every client downloads and store a complete copy of the blockchain.  This is the best way to boostsrap the bitcoin network while transaction volume is low.  However at peak transaction volume most users will have no interest in downloading and storing terrabytes worth of data.  In the future if a client trusts an online entity they could query transactions against that entity rahter than store the block chain locally.  Obivously this requires a level of trust so it would be important to choose a trustworth "block chain provider" however it has the advantage of each client only needing to query transactions they are interested in (for example client could ask for all transactions involving a particular address (to get current balance) or number of confirms for a particular transactions (to update the confirmation status). Before someone cries "centralization" there would be no official blockchain provider but instead numerous independent entities offering this as a service (either paid or free). If someone is paranoid they could use/build a client which queries two different block chain providers to ensure they return same data.  Lastly if a person is sufficiently concerned about security they could trust no-one and compute the entire blockchain themselves.</p>

<p><strong>GPU Acceleration of transaction verification.</strong>
GPU are currently used to find a hash to sign the block as this is cryptographically intensive and any performance increase pays huge dividends.  This isn't true for transaction verification as transaction volume is low.  As a result the bitcoind uses non-openCL CPU calculations to verify transactions.  If necessary an Open-CL GPU powered client would be able to verify significantly higher transaction volume.</p>

<p>A rough estimation of future computation power required.  The paper linked by author indicates it would take a modern CPU can only handle ~100 tps (transactions per second). For integer math (like used in cryptographic hashing) a high end GPU is (as of writing) roughly 20x as powerful as a high end CPU. That allows in the ballpark of ~2000 peak tps per GPU.  Furthermore even with say 50% annual transaction volume growth we are two decades away from VISA level transaction volume.  Moore's law would indicate that average CPU/GPU in 20 years would be roughly 1000x as powerful.  That would be on the range of 100,000 tps per CPU and 2 mil tps per GPU in 20 years. Even if growth in computational power slows as long as it isn't slower than the growth in transaction volume it will ensure that all transactions can be verified by off the shelf hardware.</p>

<p><strong>Actual transaction volumes.</strong>
Bitcoin is digital cash.  Many people today chose not to use cash for online and offline transactions favoring instead indirect payment methods (check, debit card, credit card, gift card, etc).  It is probable that higher level payments systems built on top of bitcoin network will emerge.  Users of these systems should cause significantly lower transaction volume.  For an example lets look at how VISA transactions work.  An individual may have 200 VISA transactions in a month but only makes a single payment to the card issuer (a 200:1 multiplier between purchases and actual currency movement).  Likewise a company may have a thousands of VISA transactions in a day but recives that as a single currency payment (usually ACH).  Another thing to consider is "VISA level" is more an end game scenario.  A more likely interim goal (say over next 2 decades) would be a "PayPal level transaction volume" which despite being a modest 100 tps (vs VISA >4K tps) would indicate Bitcoin is a massive success.</p>

CC BY-SA 3.0
2011-10-24T00:17:50.057Z
2011-10-24T13:09:39.883Z
2011-10-24T13:09:39.883Z
DeathAndTaxes
<p>I`ve recently read a presentation that mentioned a couple things about how big would be the potential bandwidth if Bitcoins would handle the transaction volume of Visa:</p>

<p><a href="http://www.slideshare.net/dakami/black-ops-of-tcpip-2011-black-hat-usa-2011">http://www.slideshare.net/dakami/black-ops-of-tcpip-2011-black-hat-usa-2011</a></p>

<p>It stated, that storing all Visa transactions would take about 1TB of storage per week. This certainly limits the feasibility of using the Bitcoin protocol as an alternative to existing payment processors. Are there any plausible concepts of what part of the economy Bitcoins might be capable of replacing entirely, and which would be harder or impossible to substitute with 'coins?</p>

<scalability><transaction-capacity><visa>
Capabilities of Bitcoins and their place in the future
ThePiachu
# Capabilities of Bitcoins and their place in the future

(Asked by: username_0 on 2011-10-23)

I`ve recently read a presentation that mentioned a couple things about how big would be the potential bandwidth if Bitcoins would handle the transaction volume of Visa:

<http://www.slideshare.net/dakami/black-ops-of-tcpip-2011-black-hat-usa-2011>

It stated, that storing all Visa transactions would take about 1TB of storage per week. This certainly limits the feasibility of using the Bitcoin protocol as an alternative to existing payment processors. Are there any plausible concepts of what part of the economy Bitcoins might be capable of replacing entirely, and which would be harder or impossible to substitute with 'coins?

**Tags:** scalability, transaction-capacity, visa


---

## 2 answers

### Answer by username_3 on 2011-10-24. Score: 12 | Accepted answer

We are a long way away from VISA scale transaction volume (>4K transactions per second) however there are some methods for Bitcoin to deal with the data on that scale

**Remote blockchain.** In the current implementation of the mainline client, every client downloads and store a complete copy of the blockchain. This is the best way to boostsrap the bitcoin network while transaction volume is low. However at peak transaction volume most users will have no interest in downloading and storing terrabytes worth of data. In the future if a client trusts an online entity they could query transactions against that entity rahter than store the block chain locally. Obivously this requires a level of trust so it would be important to choose a trustworth "block chain provider" however it has the advantage of each client only needing to query transactions they are interested in (for example client could ask for all transactions involving a particular address (to get current balance) or number of confirms for a particular transactions (to update the confirmation status). Before someone cries "centralization" there would be no official blockchain provider but instead numerous independent entities offering this as a service (either paid or free). If someone is paranoid they could use/build a client which queries two different block chain providers to ensure they return same data. Lastly if a person is sufficiently concerned about security they could trust no-one and compute the entire blockchain themselves.

**GPU Acceleration of transaction verification.**
GPU are currently used to find a hash to sign the block as this is cryptographically intensive and any performance increase pays huge dividends. This isn't true for transaction verification as transaction volume is low. As a result the bitcoind uses non-openCL CPU calculations to verify transactions. If necessary an Open-CL GPU powered client would be able to verify significantly higher transaction volume.

A rough estimation of future computation power required. The paper linked by author indicates it would take a modern CPU can only handle ~100 tps (transactions per second). For integer math (like used in cryptographic hashing) a high end GPU is (as of writing) roughly 20x as powerful as a high end CPU. That allows in the ballpark of ~2000 peak tps per GPU. Furthermore even with say 50% annual transaction volume growth we are two decades away from VISA level transaction volume. Moore's law would indicate that average CPU/GPU in 20 years would be roughly 1000x as powerful. That would be on the range of 100,000 tps per CPU and 2 mil tps per GPU in 20 years. Even if growth in computational power slows as long as it isn't slower than the growth in transaction volume it will ensure that all transactions can be verified by off the shelf hardware.

**Actual transaction volumes.**
Bitcoin is digital cash. Many people today chose not to use cash for online and offline transactions favoring instead indirect payment methods (check, debit card, credit card, gift card, etc). It is probable that higher level payments systems built on top of bitcoin network will emerge. Users of these systems should cause significantly lower transaction volume. For an example lets look at how VISA transactions work. An individual may have 200 VISA transactions in a month but only makes a single payment to the card issuer (a 200:1 multiplier between purchases and actual currency movement). Likewise a company may have a thousands of VISA transactions in a day but recives that as a single currency payment (usually ACH). Another thing to consider is "VISA level" is more an end game scenario. A more likely interim goal (say over next 2 decades) would be a "PayPal level transaction volume" which despite being a modest 100 tps (vs VISA >4K tps) would indicate Bitcoin is a massive success.


---

### Answer by username_1 on 2011-10-23. Score: 8

You could potentially be asking the wrong question. This has been brought up in discussion in #bitcoin-dev on Freenode a few dozen times, and eventually it comes down to the fact that having to wait 30 minutes or more for a transaction to clear as valid (vs several seconds on a credit card at a working terminal) will hinder Bitcoin adoption in the wild.

A lot of people predict the rise of Bitcoin banks, where the only people that transact with the chain primarily will be banks and large businesses, and everyone else will have Bitcoin bank cards that they use at terminals, or Bitcoin bank account numbers that transact instantly.

So, if/when this happens, you won't see 1TB of transactions (which, by the way, I suspect is rather high; several million transactions a day would not be 1TB, although it'd be in the GBs), you'll see roughly the traffic we have now as banks and merchants settle their balances with each other periodically.

There is also the problem that the client does not currently compress the chain while storing it on disk. Several TB of data could be several hundred GB of data if it compresses well, and that is very easy to store on today's conventional drives. Someone should look into adding lrzip support (better than LZMA, written by Con Kolivas, the guy behind the BFS kernel patch and the cgminer Bitcoin GPU miner) to the mainline client.

> **Comments:**
> **username_2**: +1 if Bitcoin ever reaches end-users, most of their transactions will be "off-chain", only recorded in the internal clearing accounts of these wallet services. To counter the argument that this would be just like now, the two big improvements are that you only need to trust your everyday transaction funds to those banks (and can keep your savings on your PC), and that the underlying currency is safe from central bank tampering (i.e. printing more money).  

---

