I am trying to understand more about chain states. Basically Geth is capable of downloading blocks pretty fast now, but getting "known" and "pulled" states takes much longer and seems to be bottlenecked in an unclear way.

syncing chain states exclusively doesn't use much CPU, it seems to use a lot less network bandwidth, and not much disk I/O

Is there any insight into why this can't be done faster? It most likely could be optimized, I am just wondering what it is actually doing? I am guessing it asks other nodes for states and sees what the consensus of those states are before processing it again locally. Still seems like certain states could be processed in parallel, like in some kind of graph or tree until it finds a state that is related to a on another branch and waits for that branch to catch up.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.