-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Rationale
At present, more and more blockchains are exploring parallel execution of transactions. Parallel execution can improve transaction processing capabilities and reduce gas fees.
Transaction execution and verification of traditional blockchains are usually performed serially. This is because in order to obtain a globally consistent state data set, it is necessary to ensure that the execution results of each transaction on each node are consistent. Serial execution is the simplest and most feasible way. However, with the continuous development of technology, some infra teams have made big progress in parallel execution. Here are some well-known projects and their sketch:
Aptos
Its parallel execution is called Block-STM, which adopts optimistic assumptions, executes transactions in parallel and performs conflict detection during execution

BscChain
Similar to Aptos, it also directly verifies transactions in blocks in parallel. But considering that the underlying storage of Move and EVM are different, there are some differences between the two in terms of transaction dispatch and conflict detection.

Polygon
Polygon has also conducted in-depth research on parallel execution. The main difference between the above two is that Polygon introduces a builder role (similar to ETH's MEV-builder / PBS). The builder is responsible for proposing blocks and generating the DAG of the transactions in the block, then appending this information to the meta of the block. The rest of the nodes directly process transactions in parallel through the DAG without needing additional conflict detection, which is theoretically more efficient.
However, this solution increases the complexity of the system due to the introduction of additional modules, and will also introduce a series of problems currently faced by Ethereum MEV-boost (such as arbitrage, bribery, attacks, etc.), and the incentives of the builder strategies are also need to consider to ensure stability and security of the network.
Ethereum
No substantial progress has been seen so far, but judging from the evolution of the existing Ethereum architecture, there is a high probability that the same route as Polygon will be adopted
TRON
The difference between TRON and the existing EVM chain: In addition to the TVM module which is EVM-compatible, TRON also has many independent native transaction types. The native transactions are classified into multiple categories, and the types may continue to be expanded in the future, so if TRON wants to achieve parallel execution, not only the TVM but also native transactions need to be considered.
The following are the points that need to be focused on:
- Benefits of parallel execution: Each chain has its own characteristics. Because Aptos uses the Move virtual machine, one feature of this virtual machine is that account data is independent, so optimistic execution theoretically will introduce greater benefits. But for EVM chains such as BSC and Polygon, hot contracts often occupy the main traffic on the chain. BSC claims that the transaction conflict rate on its chain is as high as 30%. TRON is currently the most popular chain for USDT circulation, and there are also hot contracts, so it needs to be confirmed the conflict rate of transactions on TRON, to confirm the value of parallel execution implemented on TRON
- The detailed parallel execution implementations of the above blockchains
- Parallel TVM: Considering that there is no big difference between TVM and EVM, the parallel execution strategy of TRON may be more biased towards BSC or polygon, not Aptos
- Parallel native transactions: It is necessary to sort out the parts of TRON native transactions that involve global state changes and try to eliminate them. For example, each transfer transaction will update the burn address, resulting that all transfer transactions cannot be executed in parallel
- Whether to adopt the builder module: The advantage is that the repeated calculations are unnecessary and higher performance is achieved with an external builder module to propose the block. The disadvantage is that additional complexity is introduced, which needs to be adapted in terms of security, economic model, compatibility, etc.
There are more details that need to be discussed. Hope more devs can join and make a deal.
Implementation
- TODO
Do you have ideas regarding the implementation of this feature?
Are you willing to implement this feature?