After watching some of one of the 28c3 talks, It got me thinking about just how scalable Bitcoin really is.

With the size of the blockchain currently, given the number of transactions/users, will the size of the blockchain be manageable as Bitcoin adoption increases?

As an example (no answers about "this will never happen" please), if Bitcoin was as large as a company like VISA, hundreds/thousands of megabytes would have to be transmitted over the network daily and stored in the blockchain. This is not including other things being stored in the blockchain that essentially shouldn't be (Eligius putting prayers in the blockchain for example).

This would mean that most casual users would need to use a thin client as storing the blockchain and keeping it up to date would require super fast internet and masses of hard drive space. (imagine Visa's 92 billion transactions per year)

Are there any studies into the scalability of the blockchain? Or is the assumption that technology will be so advanced by the time of this ever occurring that it will not be an issue? (which doesn't sound like the greatest conclusion in my opinion)

Also, quoting the wiki:

At very high transaction rates each block can be over a gigabyte in size. These blocks must be stored somewhere. Whilst for speed it'd be ideal to store the block chain entirely in RAM, for cheapness storing only the hot parts in RAM and the rest on disk is the way to go. A 3 terabyte hard disk costs less than $200 today and will be cheaper still in future, so you'd need one such disk for every 21 days of operation (at 1gb per block).

3 TB every 21 days? 52 TB a year for the blockchain alone? Is that REALLY scalable?

  • 6
    This, I think, is the least widely recognized aspect of BitCoin. Lots of BTC users consider it to be P2P money that does not rely on large market makers. But at the end of the day it's safe to bet that the same banks will run the large mining farms and once again users of the currency will find themselves at the "mercies" of institutions. – Assaf Lavie Apr 22 '13 at 20:29

Satoshi Nakamoto addressed this issue in the original crypto forum thread.

Long before the network gets anywhere near as large as that, it would be safe for users to use Simplified Payment Verification (section 8) to check for double spending, which only requires having the chain of block headers, or about 12KB per day. Only people trying to create new coins would need to run network nodes. At first, most users would run network nodes, but as the network grows beyond a certain point, it would be left more and more to specialists with server farms of specialized hardware. A server farm would only need to have one node on the network and the rest of the LAN connects with that one node.

The bandwidth might not be as prohibitive as you think. A typical transaction would be about 400 bytes (ECC is nicely compact). Each transaction has to be broadcast twice, so lets say 1KB per transaction. Visa processed 37 billion transactions in FY2008, or an average of 100 million transactions per day.
That many transactions would take 100GB of bandwidth, or the size of 12 DVD or 2 HD quality movies, or about $18 worth of bandwidth at current prices.

If the network were to get that big, it would take several years, and by then, sending 2 HD movies over the Internet would probably not seem like a big deal.

  • 1
    Question is not whether it could scale to VISA size, but whether it could scale beyond that. – Pacerier May 23 '14 at 15:55

I don't know of any formal studies into this, but here are a few points to consider:

  1. It is generally assumed that in the future not every user will run a full network node. For a "supernode" of which a few thousands will exist in the world, the hardware requirements will be bearable - Even if we take the 52TB/year figure at face value and ignore technological advancements, it's a feasible level of storage, and translates to 1.6 MB/s bandwidth (13 Mb/s) which is very reasonable.

  2. Spent outputs can be pruned. 52 TB worth of new transactions will allow the pruning of more or less 52TB worth of old transactions, so the overall storage requirement will not grow that quickly.

  3. Not all Bitcoin payments will appear as transactions on the blockchain. It's reasonable that the vast majority of them will be between eWallets or utilize more advanced payment protocols, such as the one suggested here.

  4. I think the correct way to approach this is by calculating the amortized cost of broadcasting a transaction. Let's say a transaction is 2KB. Creating a transaction means it will need to be stored on all nodes, of which let's say there are 5K (which is enough to be decentralized). That means a total of 10MB stored. Let's say 1TB of storage costs $200, then 10MB costs $0.002. As long as the user paid 0.2 cents transaction cost, he has covered the load his transaction put on the network.

  5. Moore's law does exist and is going strong for the foreseeable future. The costs outlined above will most likely be lower in the future. The existing banking system does not benefit from advances in computer technology, the Bitcoin system does.

All in all, I don't think there's anything to worry about with regards to scalability.

  • 2
    So won't hashpower drop significantly or pools centralized around super nodes become common? As it'd be quite hard for the average user to run his own bitcoind and mine with that, would it not? – Sean Chapman Jan 31 '12 at 10:48
  • 1
    Theoretically (hasn't been implemented yet), the pool (the agent that smooths out rewards) doesn't need to be the same as the node which constructs blocks. You can mine solo but connect to a supernode to supply you with blocks (which will do this for a small fee), or if you run a node you can mine in a pool while having control over the blocks, or get blocks from a node you choose and submit to a pool. The nodes will compete in this market of node services which will also include thin-client support and so on. – Meni Rosenfeld Feb 1 '12 at 6:34
  • 4
    I smell centralization. Just under a different form. – RLH Nov 4 '13 at 20:01
  • 2
    You're talking about network. What about the cost of computational power? As the difficulty increases, won't ASICs would stop being profitable? – Vanuan Nov 21 '13 at 12:32
  • 1
    @Vanuan: This is completely unrelated to the question. And you seem to misunderstand difficulty, it is self-adjusting. If mining isn't profitable, less people will mine, the difficulty will go down and it will be again profitable to mine. – Meni Rosenfeld Nov 21 '13 at 14:54

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.