Turbo-Geth started in 2017 (yes, during the crazy CryptoKitties-induced congestion) as a purely curious project. It started out as an exploration of alternatives to trie-based database schemas. In March 2018, the Turbo-Geth project received a small bonus ($25,000) from the Ethereum Foundation. In the first and second quarters of 2019, Turbo-Geth was used as a state analysis platform for State Rent research. By the third and fourth quarters of 2019, Turbo-Geth was also used to perform back testing of stateless Ethereum. Before Devcon5, I thought it was already solid in concept. At Devcon5, I proposed to stop accepting EIPs within a year so that all implementations can be converted to similar data models. However, due to doubts and lack of enthusiasm from the "core developers" group, my proposal was not adopted. The skepticism was mainly around ways to efficiently compute and update the state root hash. At EthCC 2020 in March 2020, we proposed a solution: an additional data structure called “Intermediate Hashes”. We fully implemented this solution in the following months. The idea for staged sync came from observing per-table write churn measurements. The solution to data churn is to insert data in a pre-ordered sequence. We observed these phenomena carefully in late 2019, but our first experimental implementation showed significant performance benefits in February 2020. Phased synchronization was a very significant change at the architectural level (but without major changes to the data model), and we implemented this feature from March to July 2020. Thanks to it, we were able to significantly (10 times) reduce the synchronization time. In August 2020, we found a way to reduce the state representation data from 50 GB to 10 GB. In September 2020, the “intermediate hash value” feature was made more granular, increasing the speed of calculating the state root hash by 4 times (from 200 ms to 50 ms) while reducing its data size from 7 GB to 2.5 GB. We are currently developing a proper indexing of logs. So what does all this mean? In fact, this doesn't mean anything, because the current implementation has not yet reached the efficiency limit. There are still a few "unsolved mysteries":
SilkwormThe idea of creating a modular Ethereum implementation written in C++ under the Apache 2.0 protocol began in early 2019, as we saw that the "Aleth" project had been largely abandoned. But it wasn't a good time. In May-June 2020, the time finally came. There were four major turning points:
futureStarting the Silkworm project also opened up our minds, for example, we can migrate the implementation piece by piece to other programming languages (such as Rust). I believe that Ethereum 1.0 can expand throughput by at least 10 times even without the introduction of sharding. We are facing three main challenges:
Link to this article: https://www.8btc.com/article/649566 |
<<: Survey shows 26% of institutional investors intend to increase their cryptocurrency holdings
>>: Mining difficulty hits a new high, dry season is approaching, BTC miners are really worried
From ancient times to the present, men have had g...
The CPI announced by the United States last night...
It is said that eyes are the windows to the soul....
There is a very popular activity nowadays, called...
The thrill of a cryptocurrency bull run can be ex...
Most bitcoin prices fluctuated at high levels in ...
In fact, a woman can often be identified through ...
A woman with a mole on her forehead is blessed If...
Nuclear Finance APP reported on November 12 that ...
Different appearances actually have different for...
If you zoom out from the day-to-day fluctuations ...
Original source: The Chain Bulletin Original auth...
Wu Blockchain exclusively learned that the produc...
What really matters about strategic bitcoin reser...
How to analyze a woman’s facial features when her...