serenita-org / vero

Vero is a multi-node validator client software implementation, targeting Ethereum and Gnosis Chain.
https://serenita.io/public-goods
MIT License
12 stars 0 forks source link

Reduce event loop lag by signing aggregation selection proofs in batches #3

Closed eth2353 closed 1 month ago

eth2353 commented 1 month ago

Running a high number of validators on Gnosis Chain revealed that the event loop lag regularly increased to very high values. This in turn caused blocks to be submitted late, especially during the first slot of an epoch.

This PR changes the way aggregation duty selection proofs are signed, signing them in batches instead of all at the same time. A warning-level log message is also added to indicate issues with a high event loop lag.

Before:

image

After:

image

There's likely more room for improvement in terms of resource contention, but this fix does reduce the event loop lag to manageable levels even for a high number of validators.