We should investigate the feasibility of saving the state periodically instead at each block.
Specifically, we should determine:
The performance improvements resulting from this
Whether it is compatible with all our current APIs, especially the tracing ones
What are the required tasks and estimated time required to implement this feature.