[Ethereum] How does Ethereum deal with blockchain scalability


The Bitcoin community are currently trying to solve the problems of blockchain scalability. Some are advocating an increase in block size, others are talking about things like Segregated Witness. Lots of arguments have ensued.

Firstly, what is the (maximum) size of Ethereum's blocks, and how many transactions can they hold? Are they bigger than Bitcoin's blocks, or are the technologies different enough that a direct comparison can't be made?

Following on from this, how does Ethereum deal with the problem of scalability, if at all?

Best Answer

Ethereum blocks are limited by the block gas limit (currently around 4.7 million gas). Each transaction specifies how much gas it's willing to spend. A block can only fit as much as the block gas limit, so if someone specifies a transaction of 4.7 million gas, a miner cannot fit any more transactions in that block.

So you can see some differences against Bitcoin. Another important one, is dynamic behavior that every time a block is mined, the miner of that block can nudge the block gas limit (BGL) either higher or lower (from the previous block gas limit), by a factor of 1/1024. For example if the current BGL is 1024, the miner of the next block can set the BGL to be as low as 1023, as high as 1025, or somewhere in between.

Other scalability challenges:

Above is about on-chain scalability. A complimentary approach to scalability is to do things off-the-blockchain while being able to still use the blockchain when necessary. Examples:

For more current discussions, see the live research and EIP channels. And keep an eye on the Ethereum Improvement Proposals.

Related Topic