4.2 Unnecessary Use of BLS12-381 Curve #131
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem: in pkgs/dkg/drand, ECIES is instantiated using the BLS12-381. While this is perfectly functional and secure, ECIES does not require the pairing functionality carried by BLS and is usually deployed with pairing-unfriendly curves that are more performant in this use case. For instance, Kyber supports ECIES with Curve25519.
Solution: change Longerm and Auth at Kyber config to
edwards25519
Result: Kyber supports only same schemas for VSS and Auth messages: if we use BLS12-381 for VSS and edwards25519/Curve25519 for ECIES, then we get an error at this place https://github.com/drand/kyber/blob/master/share/dkg/dkg.go#L220
Conclusion: we cant use different schemes for VSS and ECIES, so we continue to use BLS12-381 despite its slower