February 24, 2025 - 9 min read
Blockchains are transforming human society by enabling Byzantine fault-tolerant decentralized trust. Their potential is widely recognized as immense, but realizing this potential depends on designing efficient and effective systems. The Supra Layer 1 blockchain is built for extreme performance, offering vertically integrated services such as price feed oracles, verifiable randomness, automation, support for MultiVM (multiple smart contract platforms), blockchain interoperability solutions, and various innovations in Decentralized Finance (DeFi) applications.
To achieve this high level of integration, Supra Research rigorously examines every component and building block from both security and performance perspectives. Having led innovations in consensus and data dissemination, we now focus on making significant advancements in efficient blockchain transaction execution. This led us to explore the existing literature and state-of-the-art systems designed for optimizing transaction execution on multi-core validator machines.
In any smart contract platform, every node must arrive at the same final state. Traditional blockchains process their transactions sequentially — wherein every node executes each transaction one after another to maintain a consistent state.
While sequential execution ensures consistency, it limits throughput, especially when many transactions don’t actually interfere with each other. In fact, our analysis of Ethereum workloads indicates that more than 60% of transactions can be parallelized. But what happens when they do? How to safely execute smart contract transactions in parallel when they conflict (i.e., overlapping read/write sets)? That’s the core challenge our research tackles, leading to our novel SupraSTM model that introduces a new specification-aware parallel execution strategy to optimize performance beyond what has been possible so far.
We consider two transactions, T1 and T2, that are required to execute in a specific order — T1 must come before T2 (denoted as T1 → T2). The execution scenario unfolds as follows with the two transactions accessing accounts A1 and A2 with values initiated to 0:
If T2 commits before T1, it might read an outdated balance for Account A2 — leading to an incorrect state. Even worse, if T1 later commits and writes its updates, the final state may not correspond to any valid sequential execution that respects the intended order (T1 → T2). The safe way to ensure that the final state remains consistent with the intended order (T1 → T2) is to enforce that T2 does not commit until T1 has committed. Note that transactions T1 and T2 are in conflict because they access a shared state and both perform reads and writes on that state.
We need to carefully manage these dependencies because if the execution order deviates from the intended sequence for conflicting transactions, it can easily lead to an inconsistent and unusable blockchain state. Some chains have applied optimistic execution strategies to manage this, but these strategies come with aborts and re-executions due to dependencies between the transactions, which creates substantial overhead. Determining the dependencies between transactions beforehand is crucial to minimizing this inefficiency.
To identify such dependencies prior to execution, we are developing a Conflict Analyzer that helps minimize the overhead of optimistic execution. This gives us a precise pre-analysis of each transaction’s read and write sets using a confluence of techniques including static bytecode analysis and transaction input parameters (value transfer transactions). It also does not require transactions to be loaded with read and write sets, states being read and written during execution (Solana’s approach), which increases the bandwidth requirements, and thus dampens the maximum throughput possible due to bandwidth constraints.
With this Conflict Analyzer, we introduce Specification Aware Parallel Execution, wherein the system’s threads (the ones executing the transactions) are made aware of dependencies before executing them.
The conflict analysis helps the system detect that T2 depends on the outcome of T1, beforehand. Consequently, T2 is deferred until T1 completes, ensuring that dependent transactions are executed only when dependencies are resolved, therefore the final state remains deterministic and consistent. On the other hand, if T1 and T2 do not conflict — meaning they access entirely separate state — the Conflict Analyzer identifies the absence of dependencies. In that scenario, both transactions can be executed concurrently without waiting for one another, fully leveraging parallelism while preserving correctness. This is the power of Specification Aware Parallel Execution.
We may not have exact specifications all the time. All we need is safe specifications, which are over-approximate in the sense that when no conflict is indicated between two transactions then there is definitely no conflict for sure, but a specified conflict may be spurious.
It may not always be possible to schedule two non-conflicting transactions in parallel may be because of high conflict in the given ordered block of transactions. In that case the regular speculative strategy still comes into play, where a transaction is re-executed upon conflict. But we show in our paper that even though there are aborts and re-executions here, they come down significantly when conflict specifications are leveraged.
It allows the operators to execute transactions only after prerequisite dependencies have been resolved, reducing the number of redundant computations, while independent transactions could be executed in any order. By analyzing each transaction’s access patterns — specifically, their read and write sets — we can determine in advance which transactions are independent and which have dependencies. This pre-determination enables us to:
We developed and evaluated two distinct algorithms that embody our approach:
We rigorously tested these algorithms on both the Ethereum Virtual Machine (EVM) and the MoveVM, using a mix of synthetic workloads (e.g., high-volume ERC20 transfers with tail-distributed account accesses) and real-world historical data (including blocks from critical periods like the CryptoKitties launch and the Ethereum 2.0 merge).
Not only does this demonstrate that our approach is broadly applicable across different smart contract systems (EVM and MoveVM), but it also lays out the extent of the impact these solutions can have on the key performance metrics which determine the quality of on-chain experience for users and developers alike. The key findings include:
At Supra, our commitment is to continuously push the boundaries of blockchain performance and scalability. This research is a cornerstone in our broader vision of a high-performance, resilient Layer 1 blockchain. With these innovations:
While these results are exciting, they are just the beginning. Our ongoing research includes:
We believe that by sharing our progress and learnings, we can foster a more informed and excited community ready to leverage these advancements for real-world applications. If you love diving into the technical depths and geeking out over beautiful execution algorithms, please do explore the whitepaper to learn more. A detailed technical report including the full details of our conflict analyzer and the proofs of correctness for our STM algorithms will be available on the Arxiv Computing Repository soon.
Note: These developments are still in the final stages of research. While we ship Supra EVM today, these ideas will be slated for implementation once fully tested and built in upcoming network upgrades.
RECENT POSTS
Sign up for the Supra newsletter for company news, industry insights, and more. You’ll also be the first to know when we come out of stealth mode.
©2025 Supra | Entropy Foundation (Switzerland: CHE.383.364.961). All Rights Reserved