opBNB, a Layer 2 scaling solution on the BNB Chain, has successfully doubled its throughput capacity to 10,000 transactions per second (TPS) by increasing the block gas limit from 100M/s to 200M/s, according to the BNB Chain Blog.
Performance Milestone
The significant performance milestone was achieved through a series of optimizations aimed at enhancing the efficiency and speed of transaction processing. These optimizations include improvements in the network performance computing cost, deployment strategies, and block production processes.
Testing Environment and Deployment
During the pressure testing phase, the opBNB team observed that direct connections required additional computing resources, which could impact transaction efficiency. To address this, they opted for a peer-to-peer (p2p) connection via a proxy node, minimizing resource waste and ensuring the bottleneck was not on the network connection.
In the test environment, the team simulated real mainnet data with 12,500k accounts, including 10k active accounts, to achieve a realistic assessment of opBNB’s capabilities.
Block Production Process
opBNB utilizes the OP Stack and comprises two clients: RollupDriver (op-node) and EngineAPI (op-geth). The RollupDriver manages the entire mining process, triggering the EngineAPI to include Layer 2 (L2) transactions into a block. The block production process involves several steps, from initiating the process to finalizing the block, ensuring efficient and reliable transaction processing.
Optimization Techniques
Scheduling Optimization
The initial design had a 600ms hard limit for block production and finalizing processes. To optimize performance, opBNB removed this hard limit, allowing more time for block production and transaction inclusion. This change significantly reduced the time required for kickoff and block production, enhancing overall efficiency.
Kickoff Optimization
By introducing a dedicated process to pre-fetch the Layer 1 (L1) state and save it in a cache, opBNB reduced the L1 state retrieval time from over 200ms to less than 10ms. This asynchronous mode of fetching the L1 state eliminated the need for sequencers to wait for L1 endpoints, thereby boosting performance.
Block Production Optimization
Transaction execution during block production was optimized through caching and concurrency. The cached transaction execution results could be reused, reducing the steps required for block validation and commitment. Additionally, block commitment processes were separated into concurrent steps, further enhancing throughput.
Hardware and Test Results
The testing was conducted using AWS m6in 12X large with an IO2 disk (6000 IOPS, 1500MB/s throughput). The opBNB tech stack included op-geth 0.4.3 and op-node 0.4.3. Following the optimizations, the TPS for transfer transactions ranged between 10,500 and 11,500, demonstrating a substantial improvement in performance.
Conclusion
Through continuous improvement and innovation, opBNB has successfully doubled its throughput capacity to 10,000 TPS by increasing the block gas limit to 200M/s. These enhancements make opBNB a high-performance environment suitable for demanding applications such as trading dApps and blockchain games.
Image source: Shutterstock