L1 comparison
The promise of a World Computer and the emergence of a Blockchain Singularity has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it's important to take stock, every now and then, to note how we're doing, and to check if we're on track to achieve the goals of decentralization, scalability, usability, and functionality.
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it's within this scope that we attempt to map the blockchain landscape on this page.
We compare top performing blockchain projects across a number of metrics that we expect to yield a 'good' Web3 experience under the categories of core protocol, developer experience, and user experience.
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.
Base comparisons
Here we compare standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it's not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blinly like-for-like. The a16z blog has a nice article describing how the industry should think about metrics.
Metrics / L1 | ICP | Cardano | Avalanche | Algorand | Ethereum | Near | Solana |
---|---|---|---|---|---|---|---|
Average TPS | 9’720 | 2.37 | 49.52 | 15.5 | 11.1 | 8.25 | 286 |
Average finality | 1.4secs | 2.3secs | 3.5secs | 15mins | 2.4secs | ||
Average tx Cost | $0.0000022 | $0.1 | $0.0066 (C-Chain only) | $0.00025 | $2.39 | $0.0031 | $0.000026 |
Average energy consumption wh/tx | 0.008 | 51.59 | 4.76 | 2.7 | 6.29 | 0.166 | |
Size of network (nodes) | 823 | 1050 | 1195 | 1530 | 798 | 1872 | |
On-Chain storage | $5 (3.95T cycles x 1XDR) | $17,035 - $113,507 (53,236 – 354708ADA) | $206,875 (15,62 5AVAX) | $15,494,409 (12,643.75 ETH) | $48,625 (3,477.69 SOL) |
- Average TPS measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.
- Average finality refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).
- Average tx Cost measures the cost of a transaction. Note that the definition of 'transaction' varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in Messari dashboard.)
- Average energy Consumption measures the energy consumption
- Size of network (nodes) notes the number of nodes
- On-chain Storage gives the dollar cost and the native token cost of storing 1GB of data on chain.
Comparing developer experience
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.
Metrics / L1 | ICP | Cardano | Avalanche | Algorand | Ethereum | Near | Solana |
---|---|---|---|---|---|---|---|
Fixed tx cost | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
HTTPs outcalls | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Smart contract language support | Motoko (native), Rust, TypeScript, Python | Plutus (native), Haskell | Solidity | Teal (native), Python | Solidity (native), Vyper, Yul, FE | Rust, Javascript | Rust C, C++ |
Max stack size | 4 GiB | 4 MB | 32 KiB | 256 KiB | |||
Max persisted memory (per smart-contract) | 52 GiB | 1 MB | 2^261 B (however, 15,494,409$ per GiB) | 32 KiB | |||
On-Chain storage | $5 (3.95T cycles x 1XDR) | $17,035 - $113,507 (53,236 – 354708ADA) | $206,875 (15,62 5AVAX) |
$15,494,409 (12,643.75 ETH) || || $48,625 (3,477.69 SOL) |
- Fixed tx cost provides the ability to have predictable costs for computation.
- HTTPs Outcalls is the ability to communitcate with Web2 services (outside of the network)
- Max stack size is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform
- Max persisted memory is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls
- On-Chain Storage measures the cost of storing data on-chain
Comparing user experience
Metrics / L1 | ICP | Cardano | Avalanche | Algorand | Ethereum | Near | Solana |
---|---|---|---|---|---|---|---|
Privacy-preserving identity management | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Prerequisites to use | Browser | Browser, Extension, Gas | Browser, Extension, Gas | Browser, Extension, Fees | Browser, Extension, Gas | ||
Staking ratio | 73.89% | 71.58% | 61.78% | 51.17% | 13.57% | 43.19% | 68.59% |
Metrics
- TPS measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.
- Finality refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).
- Tx Cost measures the cost of a transaction. Note that the definition of 'transaction' varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in Messari dashboard.)
- Energy Consumption measures the energy consumption
- On-Chain Storage measures the cost of storing data on-chain
- Nodes/Validators measures the number of nodes
- Repos, DAOs, Dapps, Tokens showcases the leading applications supported by the network
- Max stack size is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform
- Max persisted memory is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls
A note about average transactions cost
- Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. Algorand fees
- Cardano: Cardano fees Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is a times size(tx) + b, where:
- a/b are protocol parameters
- size(tx) is the transaction size in bytes
- Solana: Solana fees
References
- ICP : IC Dashboard
- ADA : Cardano explorer and cexplorer
- AVAX : Snowtrace and Avalanche explorer
- ALGO : Algorand website and Algorand metrics site
- ETH : Etherscan
- NEAR : Near explorer and Near docs
- SOL : Solana website and Solana beach