Changes brought by the new Berlin Update
As announced by the Ethereum Foundation, the Berlin Update will take place on 14th April 2021, which will be the next major update after the Istanbul Update from 2019. Specifically, the update will be rolled out when block 12.244.000 is reached.
The controversial introduction of EIP 1559 will not be part of the new version and is scheduled for publication with the next release (London ~July).The newly introduced proposals (Ethereum Improvement Proposals) are EIP-2565, EIP-2718, EIP-2929, EIP-2930 with the aim of improving the security of the network and reducing transaction costs (gas).
This proposal is an update of the algorithms introduced with EIP-198 (mainly RSA signature verification). The main aim is to optimise the techniques used and bring them up to date. This makes the execution more efficient and thereby reduces the resulting costs.
One problem for the continuous development of Ethereum is that you have to find a consensus on how to interpret the transactions, which consist of a fixed amount of fields. A transaction is effectively a list of bytes, and it must be ensured that each of them will be understood correctly and that transactions that have already been completed will also be interpreted correctly. This proposal now introduces a consensus that allows identification of the transaction type by the first byte of a transaction, making it much easier to introduce new transaction types in the future.
This proposal is about increasing transaction costs. Specifically, it is about the functions (SLOAD, *CALL, BALANCE, EXT* but also SELFDESTRUCT) which, according to the Ethereum Foundation, have always been too cheap and were also successfully used for a DOS attack in 2016. The problem with these operations is that an attacker can relatively cheaply make the network nodes perform lengthy disk accesses and thereby disrupt the network. The price for the first execution of these functions in a transaction has been tripled (further calls remain cheaper), ensuring a relatively quick execution (before: 20-80 seconds; after: 7 – 27 seconds) even in the worst case. Furthermore it will reduce the maximum witness size to simplify the validation of the blocks (also with a perspective on the ETH2.0 release). As a small side effect pre-compiler calls become much cheaper (same effect as EIP 2046).
This proposal seeks to reduce the cost increases of EIP-2929 for the contracts based on it. For this purpose, a new transaction type is created, which contains the addresses to be accessed in the transaction whereby accesses are then charged at the cheaper fee rate. In conjunction with the change from EIP-2929, this in turn reduces the costs. Those who want to get more technical exposure should have a look at the documentation.
The Berlin update paves the way for further updates and shows that Ethereum is on a good track to further realise its technical potential. If you want to learn more about it, you can watch the published explanatory videos or take a look at the documentation/technical details, which are very informative. Vitalik used a presentation in his video which can be found here and gives a very good overview of how EIP-2929 and EIP-2930 work as well as their impact on the network.
Since I wanted to find out what will actually change with the new update and because I thought that others might also be interested in that, I have written a small post about it. I'm sure it's nothing new for many people and there are other good posts, but I hope I've helped a few of you anyway.