-
Notifications
You must be signed in to change notification settings - Fork 115
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
Add BLS-on-BN254 scheme for EVM networks #1304
Add BLS-on-BN254 scheme for EVM networks #1304
Conversation
lgtm! Just waiting on the kyber stuff to get reviewed then we can update the |
aafcc7d
to
11b6447
Compare
I've updated kyber to the newly cut 1.3.0 release which contains other changes besides the addition of BN254. Also deployed the updated verifier contracts just to make sure everything works end-to-end :) |
11b6447
to
bc1d48c
Compare
core/util_test.go
Outdated
// See: https://github.com/jonboulle/clockwork/commit/276013b7b35d157f1a3e88c12ba6cf7480f8669f | ||
dt.clock = clock.NewFakeClockAt(time.Date(1984, time.April, 4, 0, 0, 0, 0, time.UTC)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Weird, this seems to predate creation of drand itself, so we should always have been using the "new" value from 2015.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah this is very weird indeed. I first changed it to the newer value before I realised the test had the old value hardcoded.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this was previously buried in the clockworks library - hence why we had a unix epoch literal in the test before
So. The only thing that's currently preventing me from merging this is that we're actually doing most of the recent dev on the branch |
will do! |
bc1d48c
to
38a685e
Compare
Have you tried running all tests using the SCHEME_ID env variable as well? drand/.github/workflows/tests.yaml Line 41 in 9609cf4
|
@AnomalRoil I found a couple of issues running the tests under the new scheme (please see the inline comments). Sorry I should have double checked the drand tests when working on kyber, some of these could have been avoided. Also I cannot get the |
I opened a new PR on kyber to address the race issues and get the drand tests passing: drand/kyber#59 |
67f61f7
to
316544a
Compare
I updated kyber to the latest commit (no tag yet), and all tests appear to be passing on my machine with SCHEME_ID=bls-bn254-unchained-on-g1. Also added this scheme to the rest of the other CI test jobs, so hopefully everything passes there 🤞 |
15282bd
into
drand:feature/drand-v2.0.0
* add bls-bn254-unchained-on-g1 scheme * check equality of chain info/public key using Equal instead of comparing values in tests * update kyber * add bls-bn254-unchained-on-g1 scheme to all other CI test jobs
* add bls-bn254-unchained-on-g1 scheme * check equality of chain info/public key using Equal instead of comparing values in tests * update kyber * add bls-bn254-unchained-on-g1 scheme to all other CI test jobs
Many new rollups & networks are coming online, and many of them need good quality onchain randomness! This PR adds a BLS-on-BN254 scheme that is maximally compatible with EVM networks, with signatures on G1.
A test network has been deployed here.
A verifier contract has been deployed to Base. The repo can be found at fairylabs/anyrand. Example fulfillment tx.