Erigon 3, Alpha 2: Introducing blazingly fast sync on archive nodes with OtterSync and other improvements
During the past 2 weeks, after the release of the first alpha release of Erigon 3, the team has been hard at work to fix bugs, improve performance and coming up with new ideas to improve user experience for people looking to run Ethereum nodes at home. And in these two weeks, we made a breakthrough in the department of spinning up nodes quickly from scratch, which we are now releasing in alpha 2 for everyone to try, alongside other improvements to overall perfomance such as:
A slight 25% improvements in chain tip performance
Slightly smaller disk footprint
A 50% improvement to Caplin’s chain tip performance
A lot of bug fixing
And, as we mentioned before, we developed a new blazingly fast syncing algorithm to spin up archive nodes in mere hours.
Introducing OtterSync: The fastest sync algorithm for Ethereum nodes ever created.
OtterSync is a new sync protocol/algorithm designed to drastically reduce the time required to sync Ethereum nodes (both full and archive nodes). Leveraging Erigon’s 3.0 static files model, it allows 98% of the computation to be shifted from the CPU to network bandwidth for initial sync.
In Erigon 3.0, most of the state is designed to be downloadable through a secondary protocol (such as BitTorrent) rather than being retrieved through execution. However, the existing method of serving BitTorrent data was not quickly adaptable and required a release each time to allow for a new set of data to be available for download. This was primarily due to checksum checks and the need to maintain some degree of decentralization.
Dynamic Data Availability: By refining the way data is distributed and checked, OtterSync eliminates the need for frequent releases, enabling faster and more flexible data availability.
Mantained Decentralization: Despite the improvements in data distribution, OtterSync maintains an high degree of decentralization, ensuring data integrity and security.
Integrity: OtterSync does integrity checks on the data downloaded to assure that users do not end up on neither a malicious nor wrong chain.
In other words, OtterSync is an extension and major improvement over the previous Snapshot downloader that Erigon 3.0 and Erigon 2.0 used to rely on.
But how does it actually perform? How good is it?
For reference, on these same machines Geth and Reth takes respectively ~12 hours and ~3.5 days to sync a Full Node on Ethereum Mainnet.
From the new alpha release onwards, OtterSync will be the default sync on Erigon 3.0, and you can start playing with it with Alpha 2.
Additionally, this is only the First iteration of OtterSync as we are striving (and also have a path forward) to push the boundary of what is possible even more.
Alpha 2: Secondary improvements - Chain Tip performance, Disk footprint reductions
There were minor improvements in Chain Tip performance across the board, mostly in preparation for a significant optimization expected in the next alpha release. Users can expect an improvement of about 22% in block importing times compared to alpha 1.0. Consequently, this also allowed us to consistently stay in sync with Polygon on Erigon 3.0 for the first time. Moreover, we managed to halve Caplin’s block importing time with this release, earning us significant time savings on our internal Consensus Layer as well.
Regarding disk footprint, we managed to reduce it by roughly 2% by fine-tuning our underlying database. Similarly to chain tip sync times, we are also expecting a significant improvement in the near future in terms of disk footprint.
Aside from all of the above, we have been fixing many bugs that emerged with the first alpha release, and we look forward to fixing even more with the upcoming second alpha release.
At the current state, we encourage users to run Erigon 3.0 alpha nodes on powerful machines as chain tip performance is not yet optimal.