EIP-2537 says pairing of k pairs cost 23000*k + 115000 gas. Gas limit per block is 30M gas, and (30M-115000)/23000 is about 1299. Does it mean that there can be at most 1299 transactions to be verified in a block? If block time is 12 to 14 seconds, a node should compute 100 pairings per second, am I correct?
1 Answer
No. There is no correlation between complexity and time. None.
A confirmed transaction is included in a block. It has already occurred. Receiving nodes are therefore catching up to the rest of the chain at all times.
Although one could argue that complexity leads to more work for the node, the total work (gas) in the block is all that matters and its capped at the block gas limit.
Therefore, to keep up, a node just has to be capable of processing the worst case workload, about 15M gas, in less than the average block time, about 15 seconds.
Complexity of an individual transaction that happens to be part of a block isn't relevant.
Hope it helps.
-
Thank you for your answer. I'm also curious about that whether there is a way to estimate how many transactions per second should a node be able to validate? I saw that TPS of eth2.0 will be 100k. If there are 64 shards, does it mean each node should validate 100k/64=1.56k transactions per second? It seems difficult to validate BLS signatures so fast.– lukeCommented Sep 12, 2022 at 5:11
-
Each node must be able to process the transactions that are confirmed in each block, or it won't be able to keep up. It could be a handful of large transactions, or many small ones. Gas is a close approximation of "work" and it is limited to the block gasLimit. Eth 2.0 is quite a separate topic. Thanks for accepting my answer ;-) Commented Sep 13, 2022 at 1:14