Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fullsync for verkle transition #7236

Open
matkt opened this issue Jun 18, 2024 · 1 comment
Open

Fullsync for verkle transition #7236

matkt opened this issue Jun 18, 2024 · 1 comment

Comments

@matkt
Copy link
Contributor

matkt commented Jun 18, 2024

Description

For the Verkle transition, we will need to perform a full sync between the Verkle fork block and the head during the transition. In other words, nodes that choose to sync from scratch during the transition will first download the state frozen at the time of the fork and then perform a full sync from the fork block to the head to update the Verkle tree and catch up to the head. This is necessary because we do not want to implement a special sync for the transition and will be using the legacy flat database (via Keccak) during the transition to avoid additional disk access for SLOAD operations. Indeed, we will not be able to update the Keccak flat database with post-Verkle fork data other than through a full sync. And we do not want to have both a PMT flat database and a Verkle flat database during the transition to avoid excessive disk access. After the transition, we will switch to a full Verkle flat database, and there will no longer be an issue.

Therefore, we need to examine the performance of the full sync and see if we can optimize it. We do not yet know how long the transition will be, but if it take several weeks, it means that a node wanting to sync during the transition will have to, after downloading the frozen state, perform a full sync of several weeks.

@non-fungible-nelson
Copy link
Contributor

@jframe let's discuss in context of sync work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants