Right now I believe all Ethereum clients execute transactions one-by-one (correct me if I’m wrong). The Block STM algorithm was invented and used by the Aptos team to execute over 160k transactions per second. I’ll explain here how it works briefly.
Transactions are executed all at once, and those with conflicting write/read sets (storage slots write to/read from) are re-run serially according to the order preset by the block. This optimistic algorithm allows for massively parallelized waiting for storage results while the CPU is saturated completely with useful work.
Since most transactions in a blockchain workload don’t conflict with each other, it’s possible to run them in parallel and detect concurrency conflicts instead of avoiding them in advance.
I’m wondering to what extent this has been investigated for Ethereum and if so what were the results? Is this a way to scale Ethereum as an L1?