The “Iceberg” release 1.8 of Ethereum’s most important client, Geth, comes with a lot of upgrades. Most notable is the stabilization of the light mode as well as the improvement of the performance.

With 1.8 there is a new big release for Geth, which continues to be the most important node software for Ethereum. The work of numerous developers and about 170 changes has been completed, many of which significantly improve performance. We’ll take a quick look at the key upgrades.

The light node

One of the most important changes concerns the light node. Geth has several ways to sync a node: Full, Fast, and Light. As the name implies, the light mode takes up the least amount of hard disk space. With Geth 1.7.3, the developers have integrated a new version of the Light mode, which should be a big improvement, as it allows certain important filter operations – but it had an error and therefore did not work.

With 1.8 this error is now eliminated. Light nodes can connect to other nodes in seconds and synchronize within minutes. For the medium-term scalability of Ethereum, the light mode could be extremely important.

One of Geth’s biggest issues is the synchronization. If you are not in light mode, this can take a long time. For version 1.8, the developers have made several bugs and errors in the synchronization that have emerged with the growth of the network more frequently. They were able to stabilize the synchronization for most cases and significantly reduce the consumption of memory.

State pruning in fast mode

Ethereum saves the status in a gigantic tree structure. If you want to know an old balance of an address, you have to save every historical version of this Merkle tree, which currently requires almost a terabyte of data. But since only the current state of the network is important, the synchronization in fast mode skips the historical trees and gets directly to the current state.

However, when the Fast mode has arrived in the present, it does the same thing as the Full mode: it saves every new version of the tree, which sooner or later consumes a huge amount of hard disk space. The challenge for the developers is now to find a way to save stupid new copies of the tree, but to elegantly shake off old, dead leaves and add new ones. Geth 1.8 takes a step in this direction by initially keeping new leaves or nodes of the tree in memory, writing them directly onto the disk.

This is only part of the solution, but it already shows a significant effect: hard drive hunger in fast mode is reduced by about a third, and the read and write load on the hard drive drops even more. Geth tackles one of the issues that has become increasingly pressing for Ethereum users in recent months.

Further upgrades

Since version 1.5, Geth has been running an internal Javascript that tracks user transactions in the blockchain. With version 1.8, this script has been extensively rebuilt, which speeds up execution by five times. This relieves, at least at this point, the CPU significantly. At the same time, Geth has introduced new API target points that allow transactions to be parallelized to multiple CPU cores, increasing speed when needed.

There are also many other small and medium sized updates in this release. Who uses Geth, has probably already downloaded the latest version. Anyone who stopped using Geth because the synchronization took endless or the disk was full can now try again.