algorand / go-algorand

Algorand's official implementation in Go.
https://developer.algorand.org/
Other
1.35k stars 471 forks source link

Speed up private network start time with many participation keys. #4826

Open winder opened 1 year ago

winder commented 1 year ago

Problem

Private network startup is slow. A major culprit is Falcon key generation.

The Falcon key generation phase is very slow, so most private networks need to use a small number of participation keys. This causes networks to quickly stall, especially in tests that use dev-mode to quickly generate many rounds.

Solution

This problem could be solved by providing pre-generated keys when creating a new private network:

There are other alternatives, for example:

winder commented 1 year ago

Related to #2048

algoanne commented 1 year ago

Falcon keys are separate from participation keys. Falcon key generation is the slow part.

algoanne commented 1 year ago

We should also write a little benchmark for this, since it's a performance-related issue. Doesn't have to be super robust but we would like to know just how much it saves us.

jannotti commented 1 year ago

Do we generate them concurrently today?

mciccarello commented 1 year ago

unsubscribe