Skip to main content

Performance Enhancement Beta

· 2 min read

On December 11 around 3 PM PDT we rolled out a new beta release.

Block Weather

While our PoCv4 changes have improved the performance of the chain somewhat, we're still regularly missing our 60 block production target, with an average block production time of 76s at the time of this writing. We've also seen increasing problems with block sync as the increased performance of receipts has roughly tripled the average block size. This beta is meant to address both of these issues and improve performance in the medium term so that the chain performs acceptably until we have time to make changes that address the root of the problems rather than the symptoms.

Going forward, we are reworking our targeting such that it does not require knowledge of all of the Hotspots on the network, which should speed up targeting and validation of PoC challenges quite alot. Additionally, we'll be investigating why sync streams are failing so often with bigger blocks. Reducing the rate of failures will speed the initial sync of new Hotspots.

Contents

  • Targeting performance changes: We were doing too much work here, so we stopped. PR: miner/268
  • Validation performance changes: Since receipt validation needs to re-do the work of targeting, performed the same optimization here as well. PR: blockchain-core/320
  • Stream monitoring: A part of our p2p networking layer would stall when a failure was too quick and not recover in a timely fashion, which slowed down syncing to the assumed valid block quite a lot. This fix speeds recovery quite a lot. PR: libp2p/232

Deployment Plan

We plan to let this beta overnight and deploy in the morning PST on Thursday the 12th.