With the development of blockchain industry, the ecosystem based on the Ethereum network is becoming larger and larger. In addition to the transaction package of various assets issued based on the Ethereum network, it also needs to meet a variety of smart contract package transactions, such as the business contracts related to the DeFi protocol (Uniswap), Oracle protocol(NEST protocol), and the game (Decentraland). This makes the Ethereum network need to deal with more and more transactions, so that we often see the congestion of Ethereum and the increase of miners’ fees when the market fluctuates.
According to the natural growth rate of the current Ethereum blockchain state, the Ethereum network will face some problems before long. Because, with the continuous growth of Ethereum block data, the threshold for us to run the whole Ethereum node will be higher and higher, which will lead to the more centralized Ethereum network. (currently, an Ethereum node needs about 220GB of storage space)
With the increase of network delay, its speed may become slower and slower; with the emergence of “state expansion“, block verification may become more difficult. Finally, as the transaction TPS reaches the upper limit, and the improvement of the client is more difficult to achieve, the end users and core developers of Ethereum will be hit, which will affect the sustainable development of Ethereum ecology.
At the macro level, the problem that Ethereum 1.0 network is facing is that the Ethereum blockchain is becoming larger and larger! In terms of segmentation, the variables that make the problem more prominent are data storage, transaction status and block size. Today, we mainly analyze the core factor of “Ethereum block size“, and specifically understand how to determine the block size of the Ethereum network.
Unlike Bitcoin networks, Ethereum does not explicitly limit the size of each block by memory, but forces the size of each block by block GasLimit.
The block GasLimit setting of Ethereum effectively limits the amount of transactions that can be packaged in a block. The GasLimit parameter is determined by the Ethereum miners collectively, that is, to dynamically increase or decrease the GasLimit value by voting. The most recent vote was in the second half of 2019. The miners voted to increase the block GasLimit of Ethereum from the original 8 million gas units to 10 million, increasing the size of each block by about 25% compared with the previous block, which theoretically improves the TPS of Ethereum network.
Increasing the GasLimit of a block means that the data volume of a single block package transaction increases and the block becomes larger, which slows down the information transmission speed, which will increase the probability of out of block of the uncle block. Even though Ethereum uncle block has some ETH mining rewards, the miners don’t want to meet it.Therefore, there is a balance between the upper limit of GasLimit in a single block and the miner group. (Note: in the Ethereum system, if multiple miners dig out new blocks at the same block height, one of these blocks will become the block on the longest chain, while the other blocks, if referenced by subsequent blocks, will be called Uncle block)
Therefore, the GasLimit of a single block of the Ethereum network can not be significantly prompted in a short time, but it should be dynamically adjusted according to the development state of the Ethereum network to balance the efficiency required by the ecological development and the interests of the miners.
So far, there is a scientific conclusion about the “safe” block size upper limit data, but we generally believe that the TPS improvement brought by increasing the single block GasLimit upper limit is not enough to achieve the development of Ethereum in the next three years. In addition, there are many other related problems.
Finally, we look forward to the early arrival of eth 2.0!