Skip to main content

Benchmarking Blockchain

· 8 min read
Matias Benary
Developer

While each blockchain has its own theoretical finality and transaction price, we wanted to know: how long does my app actually need to wait for a transaction to be final, and how much will it pay?

To answer these questions, we sent transactions across 6 different chains to compare both finality times and transaction fees.

Understanding Finality in Blockchain

When you send a transaction on a blockchain, how long does it take to be truly irreversible? This question is critical for developers building applications, especially those handling DeFi.

When talking about finality, it is important to remember that generally there are two types of finality:

  • Soft Finality (Optimistic): The transaction is included in a block and is highly unlikely to be reversed
  • Hard Finality: The transaction is irreversibly committed to the blockchain with cryptographic guarantees

For example, here are the theoretical optimistic and final finality times for 6 popular blockchains, ordered from fastest to slowest (theoretically) in Hard Finality:

BlockchainOptimistic FinalityHard Finality
Sui500ms500ms
Aptos130ms650ms
NEAR Protocol600ms1.2 seconds
Solana400-600ms13 seconds
Arbitrum250ms~15 minutes
Ethereum Sepolia2.4 minutes (12 blocks)~15 minutes

Despite what these theoretical numbers say, real-world performance can differ based on different factors, such as:

  • Overhead from the RPC: free RPCs are expected to have higher delays
  • Overhead from the network: chances are that your transaction will fall in-between blocks and need to wait for it to be processed

Because of this, we decided to run an empirical benchmark to measure actual finality times and transaction fees across these blockchains.

Benchmarking the Chains

To measure the empirical finality of the six blockchains mentioned above (NEAR, Aptos, Solana, Sui, Ethereum Sepolia, Arbitrum), we built a simple benchmarking script which makes 30 transactions per network, and computes how much - on average - a transaction takes to settle when using both optimistic and hard finality.

To be as fair as possible, we:

  • Used the mainnet network of all chains
  • Used the simplest possible operation: a native token transfer
  • Used free and public RPC endpoints

Defining Empirical Finalities

It is important to remark that there is not a single definition on what optimistic finality means, and it can vary between blockchains. Here is how each blockchain in our benchmark defines optimistic finality:

NEAR Protocol

On NEAR, optimistic finality is reached when the transactions reaches EXECUTED_OPTIMISTIC finality, which means the transaction is included in a block and all non-refund receipts have finished their execution.

For hard finality, one can simply wait for the transaction to reach FINAL.

Aptos

For Aptos, optimistic finality is measured as the time when the transaction is submitted and the transaction hash is returned, without waiting for confirmation. This represents the fastest possible response but with the least guarantees.

For hard finality, we use waitForTransaction which waits until the transaction is committed to the blockchain and execution succeeds.

Solana

Solana uses the confirmed commitment level for optimistic finality, which means 66%+ of the validator stake has voted on the block. For hard finality, the finalized commitment level requires 31+ confirmed blocks to be built on top of the transaction's block, making it economically irreversible.

Sui

On Sui, their API exposes a function WaitForLocalExecution which waits for the local node to execute the transaction.

For hard finality, the method WaitForEffectsCert waits for an effects certificate, which is a guarantee that the transaction will be included in a checkpoint and cannot be reverted.

Ethereum

We did not find consensus on what defines optimistic finality in Ethereum, but multiple forums suggested to use 12 confirmations.

For hard finality we can simply wait until the block is tagged as finalized, which indicates the block has been accepted as canonical by more than 2/3 of validators, typically occurring after two epochs (~12-13 minutes for Ethereum).

Arbitrum

Arbitrum is a layer 2 solution on Ethereum, meaning that it processes transactions off-chain and submits them to Ethereum for finality. For optimistic finality, we simply measured the time it takes for a transaction to be included in an Arbitrum block (i.e. waited for 1 confirmation).

For hard finality, Arbitrum relies on Ethereum's finality guarantees, meaning that it will take as long as Ethereum to reach hard finality (~15 minutes), plus some time for the API to reflect the finality status.

Results

Finality Times

Here is a table with the average finality times observed during our benchmark, ordered from fastest to slowest in Hard Finality:

BlockchainOptimistic FinalityHard FinalityTheoretical Hard Finality
Aptos0.20s ± 0.01s0.62s ± 0.04s650ms
Sui1.49s ± 0.08s3.15s ± 0.03s500ms
NEAR Protocol2.35s ± 0.31s3.50s ± 0.24s1.2 seconds
Solana0.94s ± 0.25s12.97s ± 0.28s13 seconds
Ethereum36.62s ± 15.05s1150.56s ± 5.92s~15 minutes
Arbitrum3.21s ± 0.31s1440.02s ± 161.90s~15 minutes

We can see that Aptos was the closest to its theoretical finality times, while for the rest of the chains there is an overhead cause by the network and RPC layers.

Transaction Fees

Here is a summary of the average transaction fees observed, ordered from cheapest to most expensive in USD:

BlockchainAvg Fee (Native)Avg Fee* (USD)Fee Documentation
Arbitrum0.00000021$0.00000004Docs
Aptos0.000012$0.00002Docs
NEAR0.000045$0.00007Docs
Solana0.0000050$0.0006Docs
Sui0.0015028$0.002Docs
Ethereum0.0000035$0.01Docs

* Based on token prices at the time of the benchmark

It is important to note that transaction fees can vary based on network congestion, gas price, and of course the token price at the time of the transaction. However, they will not vary based on the finality model used, since both optimistic and hard finality transactions pay the same fee structure.

Token Prices at Benchmark Time
BlockchainToken Price
Ethereum$3070
Sui$1.49
Solana$129.00
Aptos$1.59
NEAR$1.56
Arbitrum$0.20

Finality and Hardware Requirements

Finally, we looked into the hardware requirements needed to run a full node or validator for each blockchain. Here is a summary of the minimum recommended hardware specs:

BlockchainHardware Requirements
Aptos32 cores, 64GB RAM, 3TB SSD
Sui24 cores, 128GB RAM, 4TB NVMe
Solana12 cores, 256GB RAM, 2TB SSD, 1Gbps
NEAR Protocol8 cores, 8GB RAM, 1TB SSD
Arbitrum4 cores, 16GB RAM, NVMe SSD
Ethereum Sepolia4 cores, 16GB RAM, 2TB SSD

Interestingly, there is a correlation between higher hardware requirements and better performance (lower finality times). This explains how Aptos and Sui achieved the fastest finality times, as they both require significantly more powerful hardware for their validators - with the exception of Solana, which despite its high hardware requirements, has a slower hard finality due to its consensus design.

Summary

BlockchainHard FinalitySoft FinalityCheapest FeesLowest Hardware
Aptos1st1st2nd6th
Sui2nd3rd5th5th
NEAR3rd4th3rd3rd
Solana4th2nd4th4th
Ethereum5th6th6th2nd
Arbitrum6th5th1st1st

Resources

The complete benchmark data and analysis tools are open source and available on GitHub:

info

While conducting this benchmark, we discovered that Aptos performed similar testing against Arbitrum, Avalanche, Base, Near, Optimism, Polygon, Solana, and Sui.


Want to build on NEAR? Check out our developer documentation to get started.