As we look to increase block size, we'd like to make sure that there's no path for transactions that are computationally heavy from significantly affecting the block production rate. To understand this we should research the effect of the following:
A 8MB block full of computationally intensive transactions
A 8MB block full of I/O intensive transactions
Concretely, I assume for the first point we could use IBC UpdateClient transactions (as they require signature verification). For the second we could try MsgSend. The metric would be to measure the time taken of:
PrepareProposal and ProcessProposal
CheckTx
DeliverTx
These could be done as benchmarks so we can monitor them (or modify them) in the future
(We may need a reference point to compare with but we can decide this after getting the initial numbers)
Summary
As we look to increase block size, we'd like to make sure that there's no path for transactions that are computationally heavy from significantly affecting the block production rate. To understand this we should research the effect of the following:
Concretely, I assume for the first point we could use IBC UpdateClient transactions (as they require signature verification). For the second we could try
MsgSend
. The metric would be to measure the time taken of:PrepareProposal
andProcessProposal
CheckTx
DeliverTx
These could be done as benchmarks so we can monitor them (or modify them) in the future
(We may need a reference point to compare with but we can decide this after getting the initial numbers)