Skip to content
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

[Merged by Bors] - Support multiple BLS implementations #1335

Closed
wants to merge 79 commits into from

Conversation

paulhauner
Copy link
Member

@paulhauner paulhauner commented Jul 6, 2020

Issue Addressed

NA

Proposed Changes

  • Refactor the bls crate to support multiple BLS "backends" (e.g., milagro, blst, etc).
  • Removes some duplicate, unused code in common/rest_types/src/validator.rs.
  • Removes the old "upgrade legacy keypairs" functionality (these were unencrypted keys that haven't been supported for a few testnets, no one should be using them anymore).

Additional Info

Most of the files changed are just inconsequential changes to function names.

TODO

@paulhauner paulhauner added the work-in-progress PR is a work-in-progress label Jul 6, 2020

#[cfg(feature = "arbitrary")]
impl<Pub: 'static> arbitrary::Arbitrary for GenericPublicKeyBytes<Pub> {
impl_arbitrary!(PUBLIC_KEY_BYTES_LEN);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume most of the generated values will be invalid. Doesn't it make more sense to impl Arbitrary just for the keypair and make sure the keypair represents actual valid keys?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question. I've just re-implemented what was already existing.

@kirk-baird are you happy with this as-is?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea that's a good point! However we are using arbitrary to do fuzzing, and when fuzzing it'll almost certainly have signature verification off (cause the chance of generating valid signatures is practically 0).

So I'm happy to leave as is.

/// `GenericSecretKey`.
pub trait TSecretKey<SignaturePoint, PublicKeyPoint>: Sized {
/// Instantiate `Self` from some source of entropy.
fn random() -> Self;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps it's worth including in the name or the comment if the randomness comes from a secure source.

self.sign(msg.as_bytes(), DST, &[])
}

fn serialize(&self) -> SecretHash {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The name SecretHash could be more descriptive. Something like AutoZeroizingSecretKey perhaps?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call! I named it ZeroizeHash :)

@paulhauner paulhauner mentioned this pull request Jul 21, 2020
@paulhauner
Copy link
Member Author

@adaszko thanks for the review, all comments addressed. Regarding the Arbitrary, if we don't hear from Kirk I think we just merge anyway since it's maintaining existing functionality.

@paulhauner paulhauner added ready-for-review The code is ready for review and removed work-in-progress PR is a work-in-progress labels Jul 23, 2020
paulhauner added a commit that referenced this pull request Jul 24, 2020
Squashed commit of the following:

commit 9d9b357
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 24 10:40:06 2020 +1000

    Address clippy lints

commit 1e60f79
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 24 09:10:18 2020 +1000

    Rename SecretHash -> ZeroizeHash

commit 85ed2ae
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 24 09:01:01 2020 +1000

    Add "secure" to random keygen comments

commit f69f2b4
Merge: af9e63e 23a8f31
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 24 08:56:48 2020 +1000

    Merge branch 'master' into multi-bls

commit af9e63e
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 16:33:44 2020 +1000

    Fix bls features

commit 0ae278a
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 16:26:09 2020 +1000

    Rename to AggregateSignature::infinity

commit 43b9ac6
Merge: 8f06c0e b885d79
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 15:53:24 2020 +1000

    Merge branch 'master' into multi-bls

commit 8f06c0e
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 15:50:12 2020 +1000

    Add milagro to ef_tests

commit 6324d21
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 14:31:40 2020 +1000

    Remove opt-level restriction

commit acd4184
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 14:21:17 2020 +1000

    Add test comments

commit 54fa3fd
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 14:20:08 2020 +1000

    Add signature set testing

commit 30094a6
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 11:52:08 2020 +1000

    Remove `GenericAggregatePublicKey`

commit d4ef68f
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 11:34:33 2020 +1000

    Fix ssz round trip issue with agg sig

commit 6c7b5e1
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 18:14:27 2020 +1000

    Improve tests, add TODO to unsafe code

commit d6df596
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 17:44:55 2020 +1000

    Change how blst and milagro get infinity keys

commit d44723d
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 17:36:13 2020 +1000

    Remove unnecessary casts

commit ad2b3f8
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 17:24:28 2020 +1000

    Fix zero/infinity mixup

commit 8105af8
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 16:43:29 2020 +1000

    Add some partial eq tests

commit 8eb77e0
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 16:32:13 2020 +1000

    Add more comments, tests

commit 2e08dd8
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 16:25:29 2020 +1000

    Add more testing

commit 872e5e3
Author: Paul Hauner <[email protected]>
Date:   Sat Jul 18 17:00:22 2020 +1000

    Start adding tests

commit c8717bd
Author: Paul Hauner <[email protected]>
Date:   Sat Jul 18 15:15:58 2020 +1000

    Add special-case for infinity point

commit 7387542
Author: Paul Hauner <[email protected]>
Date:   Sat Jul 18 15:15:29 2020 +1000

    Fix cargo.toml git mistake

commit 044f740
Author: Paul Hauner <[email protected]>
Date:   Sat Jul 18 14:25:19 2020 +1000

    Fix supranational typo

commit 717cb51
Author: Paul Hauner <[email protected]>
Date:   Sat Jul 18 14:23:06 2020 +1000

    Remove build.rs

commit abb81a4
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 16:18:13 2020 +1000

    Loose Eq constraints

commit b7daf5e
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 16:18:04 2020 +1000

    Update BLS library target

commit d33d84f
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 16:06:35 2020 +1000

    Refactor blst signature set verification

commit fb28192
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:35:12 2020 +1000

    Export generic structs

commit 4432051
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:28:02 2020 +1000

    Shift around impls mod

commit cd465f8
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:25:13 2020 +1000

    Rename generic files, fix some missed structs

commit e6409f9
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:18:19 2020 +1000

    Fix clippy errors

commit 4a56954
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:07:35 2020 +1000

    Finish adding Generic prefix

commit 9e765f2
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:00:15 2020 +1000

    Start adding Generic prefix

commit 55e2a98
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 14:40:23 2020 +1000

    Fix random secret key gen for BLST

commit ef209aa
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 14:18:22 2020 +1000

    Remove legacy key upgrading

commit f749a18
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 14:11:06 2020 +1000

    Remove some unused functions

commit 1b57083
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 13:51:36 2020 +1000

    Fix double 0x serialization

commit 55d50bc
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 13:42:14 2020 +1000

    Add comments, tidy

commit ad92f1c
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 11:45:38 2020 +1000

    Add more comments

commit daaac86
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 11:30:34 2020 +1000

    Start tidying, adding comments

commit 5f662b9
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 10:34:03 2020 +1000

    Fix test compile error

commit d298c8e
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 10:28:21 2020 +1000

    Swap from format! to to_hex_string

commit 7575623
Merge: 8085a35 fc5e6cb
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 10:03:47 2020 +1000

    Merge branch 'master' into multi-bls

commit 8085a35
Author: Paul Hauner <[email protected]>
Date:   Thu Jul 16 17:20:03 2020 +1000

    Update main docs

commit 1dc4bf5
Author: Paul Hauner <[email protected]>
Date:   Thu Jul 16 16:21:55 2020 +1000

    Update Cargo.lock

commit 5682ce7
Merge: 1e8862b 4a01f44
Author: Paul Hauner <[email protected]>
Date:   Thu Jul 16 16:09:42 2020 +1000

    Merge branch 'master' into multi-bls

commit 1e8862b
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 17:17:32 2020 +1000

    Update cargo.lock

commit f7e68a8
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 17:17:11 2020 +1000

    Use supranational by defualt

commit 974986f
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 17:16:58 2020 +1000

    Switch to sigp blst repo

commit 7a08ddf
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 17:16:31 2020 +1000

    Small cosmetic changes

commit af35587
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 17:16:06 2020 +1000

    Change profile version

commit 2805cd8
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 13:03:11 2020 +1000

    Fix blst agg sig zero

commit 304cee3
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 12:46:54 2020 +1000

    Add zero support to blst agg sig

commit a98229e
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 12:46:41 2020 +1000

    Check for empty lists

commit 7c72eba
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 11:57:29 2020 +1000

    Reduce code duplication

commit 4d0a90e
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 11:53:27 2020 +1000

    Add partial eq, clone to blst

commit 241e648
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 18:34:04 2020 +1000

    Start integrating blst

commit cab9b60
Merge: b47a0d7 f500b24
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 17:25:20 2020 +1000

    Merge branch 'master' into multi-bls

commit b47a0d7
Merge: 413d4c8 5977c00
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 17:06:06 2020 +1000

    Merge branch 'master' into multi-bls

commit 413d4c8
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 17:03:50 2020 +1000

    Remove commented-out code

commit 2616ab4
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 17:03:13 2020 +1000

    Remove keypair serialization

commit d44d37e
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 17:01:38 2020 +1000

    Fix some failing tests

commit 609b024
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 16:34:09 2020 +1000

    Integrate into tests

commit f0657e5
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 15:52:53 2020 +1000

    Update fake-crypto, features

commit 28ba558
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 13:02:39 2020 +1000

    Fix some failing ef_tests

commit 8886ca3
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 11:21:15 2020 +1000

    Fix secret key byte len issue

commit 2239f3c
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 10:36:32 2020 +1000

    Make ef tests pass

commit a05ccc1
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 10:18:13 2020 +1000

    Allow for compile up to ef_tests

commit fa749d0
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 09:54:47 2020 +1000

    Add progress towards compilation

commit ad52e96
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 19:01:12 2020 +1000

    Add aggregates to bls

commit 614cd17
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 16:39:16 2020 +1000

    Add progress on fast_agg_verify

commit 158c44a
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 16:07:33 2020 +1000

    Add progress on ef_tests

commit bddc83a
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 15:11:06 2020 +1000

    Fix `lighthouse` binary compile errors

commit cc57bd4
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 14:21:50 2020 +1000

    Add progress on integration

commit 9e25d66
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 12:16:20 2020 +1000

    Fix eth2_keystore compile errors

commit 12d0995
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 11:25:38 2020 +1000

    Make `bls` compile, start integration

commit 7cd13a3
Merge: 7b2b698 536728b
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 10:03:21 2020 +1000

    Merge branch 'master' into multi-bls

commit 7b2b698
Author: Paul Hauner <[email protected]>
Date:   Fri Jun 26 08:50:53 2020 +1000

    Start reviving bls-refactor branch
@paulhauner
Copy link
Member Author

I'm going to double-check this builds and works on my RasPi4 before merging...

paulhauner added a commit that referenced this pull request Jul 25, 2020
Squashed commit of the following:

commit 9d9b357
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 24 10:40:06 2020 +1000

    Address clippy lints

commit 1e60f79
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 24 09:10:18 2020 +1000

    Rename SecretHash -> ZeroizeHash

commit 85ed2ae
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 24 09:01:01 2020 +1000

    Add "secure" to random keygen comments

commit f69f2b4
Merge: af9e63e 23a8f31
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 24 08:56:48 2020 +1000

    Merge branch 'master' into multi-bls

commit af9e63e
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 16:33:44 2020 +1000

    Fix bls features

commit 0ae278a
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 16:26:09 2020 +1000

    Rename to AggregateSignature::infinity

commit 43b9ac6
Merge: 8f06c0e b885d79
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 15:53:24 2020 +1000

    Merge branch 'master' into multi-bls

commit 8f06c0e
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 15:50:12 2020 +1000

    Add milagro to ef_tests

commit 6324d21
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 14:31:40 2020 +1000

    Remove opt-level restriction

commit acd4184
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 14:21:17 2020 +1000

    Add test comments

commit 54fa3fd
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 14:20:08 2020 +1000

    Add signature set testing

commit 30094a6
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 11:52:08 2020 +1000

    Remove `GenericAggregatePublicKey`

commit d4ef68f
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 20 11:34:33 2020 +1000

    Fix ssz round trip issue with agg sig

commit 6c7b5e1
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 18:14:27 2020 +1000

    Improve tests, add TODO to unsafe code

commit d6df596
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 17:44:55 2020 +1000

    Change how blst and milagro get infinity keys

commit d44723d
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 17:36:13 2020 +1000

    Remove unnecessary casts

commit ad2b3f8
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 17:24:28 2020 +1000

    Fix zero/infinity mixup

commit 8105af8
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 16:43:29 2020 +1000

    Add some partial eq tests

commit 8eb77e0
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 16:32:13 2020 +1000

    Add more comments, tests

commit 2e08dd8
Author: Paul Hauner <[email protected]>
Date:   Sun Jul 19 16:25:29 2020 +1000

    Add more testing

commit 872e5e3
Author: Paul Hauner <[email protected]>
Date:   Sat Jul 18 17:00:22 2020 +1000

    Start adding tests

commit c8717bd
Author: Paul Hauner <[email protected]>
Date:   Sat Jul 18 15:15:58 2020 +1000

    Add special-case for infinity point

commit 7387542
Author: Paul Hauner <[email protected]>
Date:   Sat Jul 18 15:15:29 2020 +1000

    Fix cargo.toml git mistake

commit 044f740
Author: Paul Hauner <[email protected]>
Date:   Sat Jul 18 14:25:19 2020 +1000

    Fix supranational typo

commit 717cb51
Author: Paul Hauner <[email protected]>
Date:   Sat Jul 18 14:23:06 2020 +1000

    Remove build.rs

commit abb81a4
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 16:18:13 2020 +1000

    Loose Eq constraints

commit b7daf5e
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 16:18:04 2020 +1000

    Update BLS library target

commit d33d84f
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 16:06:35 2020 +1000

    Refactor blst signature set verification

commit fb28192
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:35:12 2020 +1000

    Export generic structs

commit 4432051
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:28:02 2020 +1000

    Shift around impls mod

commit cd465f8
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:25:13 2020 +1000

    Rename generic files, fix some missed structs

commit e6409f9
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:18:19 2020 +1000

    Fix clippy errors

commit 4a56954
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:07:35 2020 +1000

    Finish adding Generic prefix

commit 9e765f2
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 15:00:15 2020 +1000

    Start adding Generic prefix

commit 55e2a98
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 14:40:23 2020 +1000

    Fix random secret key gen for BLST

commit ef209aa
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 14:18:22 2020 +1000

    Remove legacy key upgrading

commit f749a18
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 14:11:06 2020 +1000

    Remove some unused functions

commit 1b57083
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 13:51:36 2020 +1000

    Fix double 0x serialization

commit 55d50bc
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 13:42:14 2020 +1000

    Add comments, tidy

commit ad92f1c
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 11:45:38 2020 +1000

    Add more comments

commit daaac86
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 11:30:34 2020 +1000

    Start tidying, adding comments

commit 5f662b9
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 10:34:03 2020 +1000

    Fix test compile error

commit d298c8e
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 10:28:21 2020 +1000

    Swap from format! to to_hex_string

commit 7575623
Merge: 8085a35 fc5e6cb
Author: Paul Hauner <[email protected]>
Date:   Fri Jul 17 10:03:47 2020 +1000

    Merge branch 'master' into multi-bls

commit 8085a35
Author: Paul Hauner <[email protected]>
Date:   Thu Jul 16 17:20:03 2020 +1000

    Update main docs

commit 1dc4bf5
Author: Paul Hauner <[email protected]>
Date:   Thu Jul 16 16:21:55 2020 +1000

    Update Cargo.lock

commit 5682ce7
Merge: 1e8862b 4a01f44
Author: Paul Hauner <[email protected]>
Date:   Thu Jul 16 16:09:42 2020 +1000

    Merge branch 'master' into multi-bls

commit 1e8862b
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 17:17:32 2020 +1000

    Update cargo.lock

commit f7e68a8
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 17:17:11 2020 +1000

    Use supranational by defualt

commit 974986f
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 17:16:58 2020 +1000

    Switch to sigp blst repo

commit 7a08ddf
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 17:16:31 2020 +1000

    Small cosmetic changes

commit af35587
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 17:16:06 2020 +1000

    Change profile version

commit 2805cd8
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 13:03:11 2020 +1000

    Fix blst agg sig zero

commit 304cee3
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 12:46:54 2020 +1000

    Add zero support to blst agg sig

commit a98229e
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 12:46:41 2020 +1000

    Check for empty lists

commit 7c72eba
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 11:57:29 2020 +1000

    Reduce code duplication

commit 4d0a90e
Author: Paul Hauner <[email protected]>
Date:   Wed Jul 8 11:53:27 2020 +1000

    Add partial eq, clone to blst

commit 241e648
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 18:34:04 2020 +1000

    Start integrating blst

commit cab9b60
Merge: b47a0d7 f500b24
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 17:25:20 2020 +1000

    Merge branch 'master' into multi-bls

commit b47a0d7
Merge: 413d4c8 5977c00
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 17:06:06 2020 +1000

    Merge branch 'master' into multi-bls

commit 413d4c8
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 17:03:50 2020 +1000

    Remove commented-out code

commit 2616ab4
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 17:03:13 2020 +1000

    Remove keypair serialization

commit d44d37e
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 17:01:38 2020 +1000

    Fix some failing tests

commit 609b024
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 16:34:09 2020 +1000

    Integrate into tests

commit f0657e5
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 15:52:53 2020 +1000

    Update fake-crypto, features

commit 28ba558
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 13:02:39 2020 +1000

    Fix some failing ef_tests

commit 8886ca3
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 11:21:15 2020 +1000

    Fix secret key byte len issue

commit 2239f3c
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 10:36:32 2020 +1000

    Make ef tests pass

commit a05ccc1
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 10:18:13 2020 +1000

    Allow for compile up to ef_tests

commit fa749d0
Author: Paul Hauner <[email protected]>
Date:   Tue Jul 7 09:54:47 2020 +1000

    Add progress towards compilation

commit ad52e96
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 19:01:12 2020 +1000

    Add aggregates to bls

commit 614cd17
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 16:39:16 2020 +1000

    Add progress on fast_agg_verify

commit 158c44a
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 16:07:33 2020 +1000

    Add progress on ef_tests

commit bddc83a
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 15:11:06 2020 +1000

    Fix `lighthouse` binary compile errors

commit cc57bd4
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 14:21:50 2020 +1000

    Add progress on integration

commit 9e25d66
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 12:16:20 2020 +1000

    Fix eth2_keystore compile errors

commit 12d0995
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 11:25:38 2020 +1000

    Make `bls` compile, start integration

commit 7cd13a3
Merge: 7b2b698 536728b
Author: Paul Hauner <[email protected]>
Date:   Mon Jul 6 10:03:21 2020 +1000

    Merge branch 'master' into multi-bls

commit 7b2b698
Author: Paul Hauner <[email protected]>
Date:   Fri Jun 26 08:50:53 2020 +1000

    Start reviving bls-refactor branch
@paulhauner paulhauner marked this pull request as ready for review July 25, 2020 01:59
@paulhauner paulhauner added ready-for-merge This PR is ready to merge. and removed ready-for-review The code is ready for review labels Jul 25, 2020
@paulhauner
Copy link
Member Author

I'm going to double-check this builds and works on my RasPi4 before merging...

Yep, syncs Altona on my PI.

bors r+

bors bot pushed a commit that referenced this pull request Jul 25, 2020
## Issue Addressed

NA

## Proposed Changes

- Refactor the `bls` crate to support multiple BLS "backends" (e.g., milagro, blst, etc).
- Removes some duplicate, unused code in `common/rest_types/src/validator.rs`.
- Removes the old "upgrade legacy keypairs" functionality (these were unencrypted keys that haven't been supported for a few testnets, no one should be using them anymore).

## Additional Info

Most of the files changed are just inconsequential changes to function names.

## TODO

- [x] Optimization levels
- [x] Infinity point: supranational/blst#11
- [x] Ensure milagro *and* blst are tested via CI
- [x] What to do with unsafe code?
- [x] Test infinity point in signature sets
@bors
Copy link

bors bot commented Jul 25, 2020

@bors bors bot changed the title Support multiple BLS implementations [Merged by Bors] - Support multiple BLS implementations Jul 25, 2020
@bors bors bot closed this Jul 25, 2020
@paulhauner paulhauner deleted the multi-bls branch September 18, 2020 06:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-for-merge This PR is ready to merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants