Is there a way to estimate the maximum number of transactions per minute Bitcoin can handle as it is today?
7 messages, 31 Jan to 1 Feb 2015. Started by Angel Leon.
Angel Leon (2), Nick Simpson, Allen Piscitello, Wladimir J. van der Laan, Mike Hearn, Tom Harding
On the Chinese "Single's Day" (sort of like the american Black Friday) according to MIT's Tech Review <http://www.technologyreview.com/news/534001/alipay-leads-a-digital-finance-revolution-in-china/> magazine
"Alipay handled up to 2.85 million transactions per minute, and 54 percent of its transactions are made via mobile device."
For a few weeks I've been reading the conversations about block sizes and the experiments being done on the subject with larger blocks.
On the day with the most transactions, the Bitcoin block chain averages about 73 transactions per minute. I kept wondering what blocksize we'd need for handling 100,000 transactions per minute, and estimated that roughly we'd need a blocksize of about 1300x times larger than what we have now, so bigger than 1Gb block... but seeing the numbers Alipay gets to handle just in China make me wonder how scalable is Bitcoin if it were to truly compete with worldwide financial services.
If you were to include double the number Alipay can handle, you'd be shooting about 6 million transactions per minute, or roughly 60 million transactions per block.
If you average every transaction around 250 bytes, then you'd need ~15 Gigabytes per block to be broadcast and hashed by all the full nodes every 10 minutes, eating good 2Tb of storage daily... do miners have enough bandwidth and CPU power to handle this?
are my scalability concerns absurd?
This has been discussed before. I believe most people don't expect Bitcoin to replace all of the various methods of payment. Scalability is always a concern, just not to the level of Alipay this year (or the next or the next for that matter.)
Nick On Jan 30, 2015 7:08 PM, "Angel Leon" <gubatron@gmail•com> wrote:
Quoted text (46 lines)
> On the Chinese "Single's Day" (sort of like the american Black Friday) > according to MIT's Tech Review > <http://www.technologyreview.com/news/534001/alipay-leads-a-digital-finance-revolution-in-china/> > magazine > > "Alipay handled up to 2.85 million transactions per minute, and 54 percent > of its transactions are made via mobile device." > > For a few weeks I've been reading the conversations about block sizes and > the experiments being done on the subject with larger blocks. > > On the day with the most transactions, the Bitcoin block chain averages > about 73 transactions per minute. I kept wondering what blocksize we'd need > for handling 100,000 transactions per minute, and estimated that roughly > we'd need a blocksize of about 1300x times larger than what we have now, so > bigger than 1Gb block... but seeing the numbers Alipay gets to handle just > in China make me wonder how scalable is Bitcoin if it were to truly compete > with worldwide financial services. > > If you were to include double the number Alipay can handle, you'd be > shooting about 6 million transactions per minute, or roughly 60 million > transactions per block. > > If you average every transaction around 250 bytes, then you'd need ~15 > Gigabytes per block to be broadcast and hashed by all the full nodes every > 10 minutes, eating good 2Tb of storage daily... do miners have enough > bandwidth and CPU power to handle this? > > are my scalability concerns absurd? > > http://twitter.com/gubatron > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming. The Go Parallel Website, > sponsored by Intel and developed in partnership with Slashdot Media, is > your > hub for all things parallel software development, from weekly thought > leadership blogs to news, videos, case studies, tutorials and more. Take a > look and join the conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists•sourceforge•net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > >
You are assuming that the only way to use Bitcoin is on-chain transactions and that is the only way for it to scale. This is a mistake.
On Fri, Jan 30, 2015 at 6:48 PM, Angel Leon <gubatron@gmail•com> wrote:
Quoted text (46 lines)
> On the Chinese "Single's Day" (sort of like the american Black Friday) > according to MIT's Tech Review > <http://www.technologyreview.com/news/534001/alipay-leads-a-digital-finance-revolution-in-china/> > magazine > > "Alipay handled up to 2.85 million transactions per minute, and 54 percent > of its transactions are made via mobile device." > > For a few weeks I've been reading the conversations about block sizes and > the experiments being done on the subject with larger blocks. > > On the day with the most transactions, the Bitcoin block chain averages > about 73 transactions per minute. I kept wondering what blocksize we'd need > for handling 100,000 transactions per minute, and estimated that roughly > we'd need a blocksize of about 1300x times larger than what we have now, so > bigger than 1Gb block... but seeing the numbers Alipay gets to handle just > in China make me wonder how scalable is Bitcoin if it were to truly compete > with worldwide financial services. > > If you were to include double the number Alipay can handle, you'd be > shooting about 6 million transactions per minute, or roughly 60 million > transactions per block. > > If you average every transaction around 250 bytes, then you'd need ~15 > Gigabytes per block to be broadcast and hashed by all the full nodes every > 10 minutes, eating good 2Tb of storage daily... do miners have enough > bandwidth and CPU power to handle this? > > are my scalability concerns absurd? > > http://twitter.com/gubatron > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming. The Go Parallel Website, > sponsored by Intel and developed in partnership with Slashdot Media, is > your > hub for all things parallel software development, from weekly thought > leadership blogs to news, videos, case studies, tutorials and more. Take a > look and join the conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists•sourceforge•net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > >
On Fri, 30 Jan 2015, Nick Simpson wrote:
Quoted text (2 lines)
> This has been discussed before. I believe most people don't expect Bitcoin to replace all of the various methods of payment. Scalability is > always a concern, just not to the level of Alipay this year (or the next or the next for that matter.)
Yes, that about summarizes it.
The block chain is a single channel broadcasted over the entire world, and I don't believe it will ever be possible nor desirable to broadcast all the world's transactions over one channel.
The everyone-validates-everything approach doesn't scale. It is however useful to settle larger transactions in an irreversible, zero-trust way. That's what makes the bitcoin system, as it is now, valuable.
But it is absurd for the whole world to have to validate every purchase of a cup of coffee or a bus ticket by six billion others.
Naively scaling up the block size will get some leeway in the short term, but I believe a future scalable payment system based on bitcoin will be mostly based on off-blockchain transactions (in some form) or that there will be a hierarchical or subdivided system (e.g. temporary or per-locale sidechains).
Wladimir
Quoted text (4 lines)
> > "Alipay handled up to 2.85 million transactions per minute, and 54 percent > of its transactions are made via mobile device." >
I know China is a very big place but even so - 47,500 transactions per second would be almost quintiple what Visa handles across the entire world. With only 300 million users and primarily online usage (?) this claim feels a little suspect to me.
Given the wording "up to 2.85 million" I wonder if that is some freak spike caused by people's behaviour being synchronised externally (e.g. a fixed start time for the sale that people are waiting for). It's hard to imagine that they sustained anything close to that for the entire day.
So this is really a discussion about peak performance.
If you average every transaction around 250 bytes, then you'd need ~15
Quoted text (4 lines)
> Gigabytes per block to be broadcast and hashed by all the full nodes every > 10 minutes, eating good 2Tb of storage daily... do miners have enough > bandwidth and CPU power to handle this? >
There's a discussion of such things here that might be useful:
https://en.bitcoin.it/wiki/Scalability
It discusses various optimisations, like not actually sending tx data twice.
I wouldn't worry about it too much. It took decades for Visa to even approach 10,000 txns/sec. PayPal, I believe, still "only" handles a few hundred. And those services had the benefits of minimal competition, working in people's local currencies, integrated dispute mediation and not representing any real threat to the political status quo. Bitcoin isn't going to be needing to handle Alipay's level of traffic any time soon.
Frankly, scaling is a nice problem to have, it means you're popular. It'd be a mistake to just blindly assume Bitcoin will take over the world. Growing market share is difficult. Worry more about how to get 300 million crazy users than the precise broadcast protocol that'd be needed to handle them ;)
My concerns come from 2 projects that could easily raise the current transaction volume 10x daily in the short term, perhaps even 100x a year from now after the media blows it out.
Think legal bittorrent file sales: ebooks, indie music (albums and singles), films, art, stock photography.
Think p2p amazon (OpenBazaar) and how that could grow exponentially in terms of transactional volume when ecommerce penetrates geos currently underserved.
Thanks for your explanations. it seems as of now we must rely on the likes of centralized solutions like Bitpay, Coinbase to manage the transactional volume we expect, or just wait for the technology to be ready finally handle it in a real p2p fashion, no intermediaries.
On Sat, Jan 31, 2015, 6:04 PM Mike Hearn <mike@plan99•net> wrote:
Quoted text (42 lines)
> "Alipay handled up to 2.85 million transactions per minute, and 54 percent >> of its transactions are made via mobile device." >> > > I know China is a very big place but even so - 47,500 transactions per > second would be almost quintiple what Visa handles across the entire world. > With only 300 million users and primarily online usage (?) this claim feels > a little suspect to me. > > Given the wording "up to 2.85 million" I wonder if that is some freak > spike caused by people's behaviour being synchronised externally (e.g. a > fixed start time for the sale that people are waiting for). It's hard to > imagine that they sustained anything close to that for the entire day. > > So this is really a discussion about peak performance. > > If you average every transaction around 250 bytes, then you'd need ~15 >> Gigabytes per block to be broadcast and hashed by all the full nodes every >> 10 minutes, eating good 2Tb of storage daily... do miners have enough >> bandwidth and CPU power to handle this? >> > > There's a discussion of such things here that might be useful: > > https://en.bitcoin.it/wiki/Scalability > > It discusses various optimisations, like not actually sending tx data > twice. > > I wouldn't worry about it too much. It took decades for Visa to even > approach 10,000 txns/sec. PayPal, I believe, still "only" handles a few > hundred. And those services had the benefits of minimal competition, > working in people's local currencies, integrated dispute mediation and not > representing any real threat to the political status quo. Bitcoin isn't > going to be needing to handle Alipay's level of traffic any time soon. > > Frankly, scaling is a nice problem to have, it means you're popular. It'd > be a mistake to just blindly assume Bitcoin will take over the world. > Growing market share is difficult. Worry more about how to get 300 million > crazy users than the precise broadcast protocol that'd be needed to handle > them ;) >
On 1/31/2015 5:11 AM, Wladimir wrote:
Quoted text (10 lines)
> The block chain is a single channel broadcasted over the entire world, > and I don't believe it will ever be possible nor desirable to > broadcast all the world's transactions over one channel. > > The everyone-validates-everything approach doesn't scale. It is however > useful to settle larger transactions in an irreversible, zero-trust > way. That's what makes the bitcoin system, as it is now, valuable. > > But it is absurd for the whole world to have to validate every > purchase of a cup of coffee or a bus ticket by six billion others.
Well to be fair, nobody suggested 6 billion full nodes. Although some residential connections today do have Angel's 15G/10min... (sadly, not mine).
One of the best points Gavin made is, it would be unwise to artificially limit the number of transactions below the technical capabilities of the network. That's how competitions are lost. http://gavintech.blogspot.com/2015/01/twenty-megabytes-testing-results.html