- Stateless Ethereum is now going to perform a binary state tree experiment in their network.
- Stateless clients depend on “block witness data”, block witness data is nothing just a unique piece of data that will propagate with the corresponding block.
- After testing Ethereum mainnet data, switching to the binary tree mode can significantly improve the efficiency of generating witness data.
Stateless Ethereum is now going to perform a binary state tree experiment in their network. So what are stateless Ethereum? Also, what is the state tree experiment?
Firstly as we all know to execute the transaction and verify blocks, any network needs to know its current state of the whole blockchain, which meant to be the balance, and stored data of each account. All this data is mainly stored in the database and loaded into a Merkel tree whenever it needs validation.
However, when we talk about stateless Ethereum client here, the working procedure is different. As per the name stateless client does not use a hard disk database to execute the block.
Stateless clients depend on “block witness data”, block witness data is nothing just a unique piece of data that will propagate with the corresponding block and only this branch is sufficient to execute all the transaction in a block.
The network requirement for the stateless client is higher than ordinary node and because of this; the witness data block size becomes vast. This implementation is to perform using a Merkel tree, in Merkel tree if you have the correct root value, which is also sometimes referred to the hash value.
Then it does not require all the data of the entire list, only replacement of non-empty with corresponding hash value is needed. The problem with this hexadecimal Merkel tree is, in any case, assume that the entire tree filled with data.
Now to verify the data we need a small part of Merkel tree node, after getting the data we need to replace the data of other components with the hash values to make the sub-tree verifiable nowhere problem is each time a hash value is added our block witness data become larger and larger significantly.
If we transform this hexadecimal Merkel tree with binary Merkel tree, then we can easily tackle the problem raised by the hexadecimal tree, because in the binary market tree it only consists two children (because of its binary property).
With the help of this, at most, one byte is needed to be replaced with the hash value, and doing so may reduce the cost or size of the witness data.
Why binary tree Merkel?
As per many reports and experiment performed on the binary Merkel tree give many positive results which can be the reason for the replacement of hexadecimal Merkel tree with binary Merkel tree.
After testing Ethereum mainnet data, switching to the binary tree mode can significantly improve the efficiency of generating witness data (the reduced witness block data is 47-49% on average).
However, the improvement is not significant as mention In the theory, the reason maybe the mainnet data is more complicated than it expected.