-
Notifications
You must be signed in to change notification settings - Fork 289
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
Initial Version of Fast Sync #4465
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
GheisMohammadi
force-pushed
the
feature/fastsync
branch
from
July 13, 2023 11:44
54e26c3
to
5d0bf91
Compare
GheisMohammadi
force-pushed
the
feature/fastsync
branch
2 times, most recently
from
October 5, 2023 07:22
8d85364
to
e0a742c
Compare
…ue to insert pivot block and its receipts
…rrent block in a few stages, improve pivot calculation
…es,remove extra comments, cleanup and goimports
GheisMohammadi
force-pushed
the
feature/fastsync
branch
from
December 11, 2023 14:36
02a6f62
to
f3ce9f3
Compare
adsorptionenthalpy
approved these changes
Dec 12, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed the proposed changes and agree they should be merged into dev.
ONECasey
approved these changes
Dec 12, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
Fast sync is a synchronization method. When a new node joins the network, it needs to download and verify the entire blockchain history to ensure it has a complete and accurate copy of the network's state. However, in traditional full synchronization, this process can be time-consuming and resource-intensive, as it requires downloading and processing every block from the genesis block to the latest block.
Fast sync is designed to expedite this synchronization process by allowing new nodes to download only the most recent state of the blockchain, rather than the entire history. Instead of starting from the genesis block, fast sync enables nodes to download a snapshot of the current blockchain state and verifies it. Then, it retrieves recent block headers and validates them against the snapshot. By doing so, the new node can quickly catch up to the current state of the network without downloading the entire history.
During fast sync, the node relies on other nodes in the network to provide the necessary block headers and state information. This method significantly reduces the time and resources required for synchronization, making it a more efficient way for new nodes to join the network.
It's important to note that fast sync is a one-time process performed when a new node initially joins the network. Once the node is synchronized, it transitions to normal operation, where it receives and validates new blocks in the blockchain as they are produced.