State verification machine is a middleware for EVM, which could pre-planning and divide transactions into no conflicting threads.
- No rollback, no re-execute: Existing parallel projects use optimistic parallel execution where transactions are executed in parallel and then rolled back if conflicts are found, and re-executed.
- Pre planning with off-chain: Build pre-order transactions using on-chain computing resources is a waste.
- PBS (Proposer-Builder Separation): Just like PBS, we separate the nodes for pre-planning and actually execution to prevent malicious behavior.
~~ Production ~~
├── dag: DAG functions.
├── example: All examples of this project, like DAG construction, DAG patition.
├── history-transactions: Download, update, load history of transactions from block A to block B.
├── node: Basic nodes functions.
├── p2p: Make sequencer p2p function available.
├── transactions-x-x.pkl: Some data of transactions.
├── pre-order-go: Make all transactions ordered before really excuted in Go.
├── pre-order-python: Make all transactions ordered before really excuted in Python.
└── README.md: Now you are looking at me.
- Optimism: https://github.com/ethereum-optimism/optimism
- Block-STM - Scaling Blockchain Execution by Turning Ordering Curse to a Performance Blessing: https://arxiv.org/abs/2203.06871