The recent switch to implementing Casper (Ethereum’s version of Proof of Stake) alongside Sharding has led to many questions around the impact of what it will eventually bring.
I’ve recently started diving deeper into the latest Casper+Sharding chain v2.1spec and wanted to share some findings around the impact it will have on network throughput. To be clear, this is just my interpretation of the spec and what I think the impacts will likely be. I’m sure there are some deeper technical aspects I’m missing but I believe the numbers should be close regardless.
First, it’s important to understand the fundamentals around blocks, gas, and network capacity on the current Ethereum chain. Every transaction that occurs on Ethereum consumes a certain amount of “gas” which is the total computational power it took to execute the transaction. Every block that is mined includes a certain set of transactions. However, each block has a limit on the total gas it can include and that is called the “block gas limit”. The reason this limit exists is twofold: 1. it reduces block propagation times across the network and 2. it reduces centralization of mining.
This means that the Ethereum network has a capacity every block, and therefore every day, on how much it can process. Here is a look at the capacity on the current chain:
This will all change dramatically in Shasper due to the introduction of shards and Proof of Stake, both allowing for faster block times. The current spec calls for 1024 shards and slot times of 8 seconds. Every shard will be its own PoS chain where blocks are produced and transactions are stored. This means that the daily gas cap goes up ~1850x. The result is as follows: