In cosmos-sdk sig verification result can't be simply cached between incarnations because it rely on account state (see #25912), specifically pubKey and accNum.
Solution
Dedicated pipeline for sequence and signature checking, and try to optimize it in parallel batch processing.
- batch fetching account data from db.
- storage layer can optimize for batch get.
- after fetched account data, signature checking can be paralleled easily.
- sequence checking is also trivial after tx decoded and account data in memory.
In cosmos-sdk sig verification result can't be simply cached between incarnations because it rely on account state (see #25912), specifically pubKey and accNum.
Solution
Dedicated pipeline for sequence and signature checking, and try to optimize it in parallel batch processing.