The voting on ethereum analysis by Dominik Schiener calculated that it would take 40 days to hold the UK general elections on the ethereum blockchain due to the transaction and gas limits.
I redid his math with some more current figures, here is what I calculated:
- the gas limit is 3,141,592 (pi million)
- transaction costs 21,000 gas (let's assume nothing else is attached)
- that's 149.5996 transactions per block
- with a blocktime of around 17.43 seconds
- that's 4956.971 blocks per day
The result is the network allows for this use cas only 741560.9 votes (transactions) per day. But what if we require a volume of let's say 10x or 100x the transaction rate? How does the ethereum network scale? How fast can gas limits be adjusted? How many transactions can the network handle?
Best Answer
Although your calculation is mostly correct, it did not take into consideration the network's capability to slowly increase the block gas limit. If a block becomes full with transactions, miners are allowed to bump the limit of the next block by a certain amount (for details please see Yellow paper, page 6, equations 40-42 + surrounding context).
Based on the above rationale, there is no theoretical limit to the number of transactions that can be squished into a block, just needs a bit of time to adjust. Practically you need to get those transactions to the miners, they have to process it, distribute the results etc, so based on how optimal the implementations are, there's an upper limit. What that is with the current network, nobody can really say. We did extensive spam tests on the Olympic test network where we actually rewarded people to keep pushing junk into the network, and reached a transaction throughput of about 25 tx/sec. Since then a huge amount of work went into the implementations, so they would probably be able to handle even more. However, calculating with this 3/4 year old experimental results, you would get about 2.16M votes per day.
That number is probably higher now, but you get the order of magnitude that the network seems to be able to handle. To push this number further up, there's extensive research being done in scalability and proof of stake, which would enable orders of magnitude larger transaction counts, but that's a long term goal.