Closed mratsim closed 2 years ago
The library is currently using the hash_to_curve draft 6 scheme.
It is incompatible with what is used in Ethereum Consensus layer (H2C draft 7 minimum), in particular due to the changes in sgn0 introduced in https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/pull/230/files
sgn0
See vectors: https://github.com/ethereum/bls12-381-tests
There shouldn't be any impact on the execution layer because there is no hash-to-curve precompile (yet) but EIP2537 will be added soon: https://arachnid.github.io/EIPs/EIPS/eip-2537
Actually scratch that, I read the wrong "sign" function and got confused after reading #30
https://github.com/kilic/bls12-381/blob/3a0f2553a3b9888a7201144592780f2300ad9ffb/field_element.go#L160-L171
The library is currently using the hash_to_curve draft 6 scheme.
It is incompatible with what is used in Ethereum Consensus layer (H2C draft 7 minimum), in particular due to the changes in
sgn0
introduced in https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/pull/230/filesSee vectors: https://github.com/ethereum/bls12-381-tests
There shouldn't be any impact on the execution layer because there is no hash-to-curve precompile (yet) but EIP2537 will be added soon: https://arachnid.github.io/EIPs/EIPS/eip-2537