Blockchain-based identity management solutions firm, iden3, recently published the results of an analysis it had conducted to test transaction throughput on the Ethereum blockchain, before and after the Istanbul upgrade and ZKRollup.
The analysis concluded that Ethereum, after the Istanbul upgrade, using ZKRollup, could handle up to a theoretical maximum of 2048 tps, a figure that is lower than Ethereum developer Eric Conner’s claims of 3000 tps, but still higher than VISA’s 2000 tps. Prior to the upgrade, Ethereum could only handle 30 transactions per second.
The Istanbul upgrade brought with it two Ethereum Improvement Proposals (EIPs) — EIP-1108 which made zk-SNARKs cheaper through a gas repricing, and EIP-2028 which lowered the gas cost of call data from 68 gas per byte to around 16 gas per byte. From costing 21,000 gas to send a transaction on the vanilla Ethereum blockchain, ZKRollup brought the cost down the just 945 gas, and Istanbul pushed it further down to a mere 300 gas.
The analysis also warned that the 2048 tps mentioned is only a theoretical maximum, adding that practically speaking, things aren’t so simple. A 2048 tps throughput would require fitting 15 batches into a single block and would entail a batch creation time of just one second (assuming 15 second block times). The iden3 team also spoke of how each zkRollup batch requires a short cryptographic proof (zk-SNARK) that proves the integrity of the transactions in that batch. The firm also explained how generating this proof is computationally very expensive, adding that it is a major bottleneck to achieving the theoretical throughput limit.
14 BTC & 30,000 Free Spins for every player, only in mBitcasino’s Crypto Spring Journey! Play Now!
“To give you an idea, at the moment, using one CPU and three GPUs, it takes us several minutes to generate such a proof.”
Even putting aside the proof generation bottleneck, setting up servers capable of handling over 2000 transactions a second is no trivial issue. According to the analysis, an advanced block explorer would be required just to handle all the information. As Ethereum devs continue to build the network, parallelization, bringing down proof generation times, and keeping costs reasonable, may be possible in the future.