ssvlabs / ssv-dkg

GNU General Public License v3.0
13 stars 10 forks source link

4.2 Unnecessary Use of BLS12-381 Curve #131

Open pavelkrolevets opened 2 months ago

pavelkrolevets commented 2 months ago

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