Let’s start from the basics. Everyone knows that the blockchain stores the data almost forever. Consequently, the question arises: How much storage should the validator have to be able to validate the entire blockchain? The answer is: a lot!
How is the data stored on the blockchain?
Since there are millions of transactions that happen every day on the Ethereum blockchain, as well as on the L2 blockchains, which are basically based on Ethereum, we have to face the truth: soon the amount of data that blockchain holds will be so big that anyone couldn’t simply run the node. We need a solution, and it is Verkle Trees. Before understanding it, I would like to briefly explain the current technology called Merkle Tree.
Part#1 - Merkle Tree
The Merkle tree is not a revolutionary technology; it existed before. However, in the blockchain, it was first introduced during the Bitcoin epoch. The main idea is, when a validator needs to prove something that was in the block.number N, the validator firstly need to find this block, so to find it he takes the hash above(in the circle), this hash basically stores the root to the block we are looking for and for a lot of other blocks as well. The validator takes this hash and essentially start to 'open' all the way down through other hashes(called nodes), leading to the necessary information stored at the bottom(called leaves 🍁 ). You could imagine it like a Russian matreshka
The primary challenge with the Merkle Tree is that during the process of 'proving something,' almost all hashes need to be opened, even if they do not contain the required information. Consequently, as the Ethereum blockchain expands, running a node and verifying data integrity becomes increasingly challenging, since more and more information is stored . Without proper technological advancements, we could face the problem of being unable to run nodes and verify data, potentially leading to "blockchain shutdowns" or, worse, "centralization." Therefore, there is a need to create something more efficient that allows for smoother and more effective data verification, without the necessity to open everything along the way. This is why developers are currently working on a new technology called the Verkle Tree.
“ The problem with Merkle Tree is that if you want to find the specific hash of the tx and prove it, you have to ‘open‘ everything along the way and it takes enormous amount of the data.“
Part#2 - Verkle Tree
Verkle tree is more effective because it reduces the distance during validation and it eliminates the need to “open” everything all the way down.
Verkle Tree Structure
Let's right now understand what is going on here. I tried to reduce the complexity of the explanation as much as I can, so the total beginner can understand the fundament of this technology.
The first part is called the "Stem tree." When you provide some key value to verify, it will go all the way through the Stem tree, and at some point, it will face the "Extension node" that basically checks in which direction you should go further.
The second part is called "Extension." Here you have to understand that the way of hashing the data is different from the current standard; it is done to allow ZK integration. The main point is the data is hashed in 32 bytes, where 31 bytes are the actual key (your request) called 'Stem,' and the last 1 byte is 'Suffix.' The suffix plays a crucial role because it basically points out which direction we should go further.
As you can see, the process starts from the first part - the Stem tree. It goes all the way down to the Extension part.
On this Extension part
the Verkle Tree mechanism take a look on the suffix and tries to understand to which group this suffix points. Based on it the necessary group is chosen in the Suffix Tree
and the process goes further. Basically this step eliminates the need to download and prove all other leaf nodes, which is significantly reduces the size and distance of the proof.
Overall
We can see how this perspective technology can revolutionise the Ethereum and make it more accessible and more advance. Nevertheless, the are a lot of challenges right now so i think it should take more time to be integrated in our every day life. I want also to point out that even it is very broad topic, and i didn’t have the opportunity to cover every tiny details and still hope that i give you the overview what this technology should do. I highly encourage you to take a look on the resources below which i have also used for this report.