Posted by Joseph Bonneau a16z Crypto Researcher
Performance and scalability are challenges facing the crypto world and have been a hotly discussed topic, closely related to L1 projects (standalone blockchains) and L2 solutions such as rollups and off-chain channels. However, we do not yet have standardized metrics or benchmarks to measure against. Data reporting is often inconsistent and incomplete, making accurate comparisons between projects very difficult and often obscuring what is most important in practice.
We need a more nuanced and thorough way to measure and compare blockchain performance—performance should be broken down into components and comparative trade-offs across multiple axes. In this article, I define basic terms, outline difficult challenges, and provide guidelines and key principles to keep in mind when evaluating blockchain performance.
Scalability vs. Performance
First, let’s define two terms, scalability and performance, which have standard computer science meanings and are often misused in the context of blockchain. Performance is used to measure what the system is currently able to achieve. As we’ll discuss below, performance metrics might include transactions per second or median transaction confirmation time. Scalability, on the other hand, measures the ability of a system to increase performance by adding resources.
This distinction is important: if defined correctly, many ways to improve performance do not improve scalability at all. A simple example is the use of more efficient digital signature mechanisms, such as BLS signatures, which are about half the length of Schnorr or ECDSA signatures. If Bitcoin switched from ECDSA signing to BLS, the number of transactions per block could increase by 20-30%, improving performance overnight. But we can only do this once – there is no other more space-efficient signature mechanism to switch to (BLS signatures can also be aggregated to save more space, but that’s another one-time trick).
There are other one-off tricks you can use in…