BlockSTM — Parallel Execution
Overview
BlockSTM executes non-conflicting transactions in parallel using optimistic concurrency. This increases throughput while preserving deterministic results.
Developer Guidance
- Minimize write conflicts: design contracts/modules so that common transactions touch disjoint storage/resources.
- Batch reads: group read-heavy operations to reduce contention.
- Idempotent semantics: ensure handlers tolerate retries in speculative execution.
Practical Tips
- EVM: avoid multiple users writing to the same storage slot in hot paths; consider sharding via keys.
- Move: structure resources so unrelated operations touch distinct objects/resources.
Observability
- Monitor gas usage and failure modes during spikes.
- Use simulation on Move and
eth_estimateGas
on EVM to forecast cost under load.