Ethereum 2.0 progress shows ‘improved initial sync block processing times’
Prysmatic Labs, a team of developers building code on Ethereum, recently published a report on the latest Ethereum 2.0 development updates. The report detailed the changes that have been implemented, while also expanding on the steps taken to ease the further development of the upgraded blockchain.
According to Prysmatic Labs, Prysm nodes on the testnet observed a finalized checkpoint reversion on 21 November, causing incoming attestations to be rejected. On further investigation, the team found an edge case in the fork choice specification, a finding which led to a “catastrophic difference in perspective on what the right finalized checkpoint was.”
In response, the team wrote tools to extract the bad node’s database for playback and used “a lot of Prometheus graphs to help narrow down the problem.” Additionally, the team claimed to have significantly improved initial sync block processing times by reducing concurrency issues on the database, while enabling data compression to reduce storage requirements.
“A modern consumer grade laptop can sync 50 to 60 blocks per second on the Prysm test network and the final database size ends up at less than 600Mb when combined with experimental feature flag ‘prune-states’. This means you can sync to the testnet’s head block in under 1 hour at 150k slots!”
The report also provided details about other new features added over the last few weeks, such as allowing the filtering of active validators in the ListValidators API call and returning whether or not an epoch is finalized in its GetValidatorParticipation endpoint. Further, the team also enabled explicit filtering of genesis data for beacon blocks and attestations.
Listed under the ‘Upcoming Work’ section of the report, Prysmatic Labs added that they would be actively working on integrating Slasher with the Beacon Node, while fixing P2P network peering by attempting to “enhance the P2P connection manager from libp2p to have a hard limit on peers.”