-
-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Default bls12_381 is incompatible with Ethereum beacon chain #128
Comments
fwiw the same result occurs if I use the
|
Ethereum uses the following
Maybe the hash to curve algorithm is different in noble? |
I haven't had luck using |
They are compatible. Proof: https://github.com/paulmillr/bls12-381-keygen, readme example generates same keys. For verification you need to specify DST or encodeDST correctly. |
So my claim is simply that the default configuration does not verify Ethereum signatures. I see now that the reason is the DST for Ethereum beacon chain differs from the noble curves default DST. My suggestion is to add this to the README and possibly include an example of using the Ethereum DST correctly. The link you provided is about key generation, which is not precisely relevant to signature generation and verification. |
I don’t know which DST is correct for eth. If you would like to clarify usage with eth, you can test it and add proper example to readme with pull request |
Thank you so much for your help. I created this #129. |
1.4.0 is out |
outputs
using
Given that both are purporting to use BLS12-381, and the Chainsafe version is actually used on Ethereum, I suggest that the Noble version at least have a warning that the default configuration is not compatible with Ethereum (if indeed there is not a more nefarious bug).
The text was updated successfully, but these errors were encountered: