24,270 tokens. 27,358 pending transactions. 463,713 digital kittens.

Ethereum has been hosting a lot of activity recently, and although many crypto enthusiasts see this as a positive sign, while the use of the network is skyrocketing, its story is getting longer and longer. his blockchain is more undisciplined.

And while network congestion causing transaction delays and rising costs has been brought to light, this scale is causing another problem: a growing database that imposes significant storage costs on users wishing to run a node full.

This database, called the Ethereum, contains all the calculations that must be memorized by the computers supporting the platform and the blockchain Ethereum itself. And with the cost (both time and money) of state storage, fewer and fewer people are choosing to use full nodes, which worries many to centralize the network between some referees.

And the developers recognize the problem.

On the one hand, ethereum developers are in the process of modifying protocol-level changes such as sharding, aimed at minimizing the database.

But as these technologies are still in development, other stakeholders, namely those who manage ethereum clients – the software needed for users to communicate with the blockchain – are under new pressure to cope with the problem. growth of the state database.

"The fact that the improvement of this material is critical is known since the end of 2016, ideas have been circulating for half a year to more than a year." Where are the implementations? "says ethereum creator Vitalik Buterin on a development chain recently.

Frustration is palpable at Buterin and Afri Schoedon, who manages technical communications at Parity, the ethereum client client. Schoedon tells CoinDesk:

"At the current growth rate, it is foreseeable that the state will grow very quickly this year, to a point where it would be difficult to mange on small devices."

In an effort to limit the effects of the heavy state, the two most popular Ethereum customers – Geth and Parity – have recently released updates that attempt to improve the situation.

Turbocharged

The first update, released last week by Parity, has reduced storage requirements by eliminating unnecessary temporary files produced as the software remembers the history of the ethereum.

By dramatically minimizing storage requirements, users connecting to run full nodes experience faster synchronization times. And with that, the company said that its ethereum software could now run on a hard drive instead of a solid state drive (SSD), a feat particularly important since the long synchronization periods prevented the etéumum to run on a hard drive since last summer.

The update even received an enthusiastic response from Buterin, who said on a developer channel: "Wow, how did you manage to do that?"

As a result of the update, users reported a significantly improved experience.

At the same time, independent developer Alexey Akhunov is working on rewriting the geth client, called "turbo geth". Described by Akhunov as an "obsession," the project aims to eliminate many unnecessary repetitions in the way that customers of Ethereums treat the overall state.

Although it is far from ready, it has opened interesting avenues of "speculative optimization," said Mr Akhunov during a recent interview with a developer. .

For example, Akhunov suggests "hard coding" some information about the ethereal state in the clients themselves. In the end, the goal is to adapt the software so that it simply works by using RAM, or RAM, which could make customers much faster – allowing them to synchronize potentially with the network instantly.

The developers of Geth himself are also working on optimizations, to try to correct an anomaly in the way information is stored when a client synchronizes with the network in what is called the "fast" mode. Described by Péter Szilágyi, the main developer of Geth, as "really horrible", the existing code is likely to be replaced by a bunch of updates that make synchronization much faster and less intensive in storage.

The Limits

Research is ongoing on a type of client called "stateless clients", which only store a compression of the overall state.

Even Buterin is interested in the idea, by recently undertaking a study that describes a scenario where "miners and complete nodes in general no longer need to store any state". In addition, Buterin later said in a development channel, stateless customers would also alleviate the need to clean up the state by other measures, such as pruning old and irrelevant data for example, empty or inactive accounts.

"I am now in favor of the stateless client's approach," wrote Buterin.

And there is even speculation that stateless customers may be possible without making changes to the protocol.

Proposing such clients as a possible solution to the scale problems ethereum has faced following the success of CryptoKitties, Akhunov wrote in a recent blog: "I believe that (stateless customers) can be implemented right now, without any difficulty "simply" by changing ethereum clients … This means that nodes do not need to access storage from files and that block validation times should go down in a significative way. "

However, customer optimizations may not be the only thing that the network supports to reduce the concerns of the state.

According to Szilágyi, ultimately, customer optimizations will reach their limit. Then, developers will have to turn to the current technologies, such as sharding, which divides the ethereum database into smaller parts stored at different nodes, to ease the storage pressure of the entire database. on each client.

Perhaps in response to recent network tensions, the development of sharding has progressed in recent months, with a first-stage specification sketched out on Github.

"We can optimize the database and make it ten times faster and more optimal, which allows us to reach ten times our current size," said Szilágyi, adding:

"But finally, we will get to the point where we will no longer be able to perform database optimizations, and by that time, we must be able to partition our data. "

Hard disk image via Shutterstock

Leader in blockchain information, CoinDesk is an independent media company that strives to achieve the highest journalistic standards and adheres to a strict set of editorial policies. Do you want to offer your expertise or ideas for our reporting? Contact us at news@coindesk.com.

