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

Enhance the BLS library to be fit-for-purpose #1

Closed
paulhauner opened this issue Jul 8, 2018 · 4 comments
Closed

Enhance the BLS library to be fit-for-purpose #1

paulhauner opened this issue Jul 8, 2018 · 4 comments
Assignees

Comments

@paulhauner
Copy link
Member

paulhauner commented Jul 8, 2018

Presently the code-base is missing the following features for BLS signatures and public keys:

  1. Support for aggregate pub keys. Presently there is support for aggregate signatures, but not aggregate public keys, meaning each pubkey needs to be individually checked against the aggregate sig.
  2. Ability to be cloned (i.e., they don't have the Clone trait)
  3. Ability to be encoded to some primitive then have that be decoded back to a proper struct. For example, writing to a byte-array/integer then reading back again.
  4. Closely related to (and dependent on) (2), they need to support RLP encoding and decoding. This probably requires the EF researchers to pick a format for this.

With regards to (1), I'm not even certain if aggregating the keys then verifying them even gives a better result. I.e., is it actually quicker to add them all together then verify once, or is it quicker to just verify them all individually? I'm presently assuming the latter is quicker but I don't know for sure.

@paulhauner paulhauner changed the title Signatures are not represented in RLP Add serialization to BLS sigs/keys Jul 15, 2018
@paulhauner
Copy link
Member Author

The ability to clone a PublicKey was added to the SigP BLS repo here:

sigp/bls@cc0c75c

We likely don't need to implement clone for SecretKey/KeyPair.

@paulhauner
Copy link
Member Author

paulhauner commented Jul 16, 2018

Some resources for you @AgeManning:

Note: tests take ages to run on the BLS lib. Use cargo's pattern matching to skip the long tests or drop the 0..500 for loops down to something more reasonable.

@paulhauner paulhauner changed the title Add serialization to BLS sigs/keys Enhance the BLS library to be fit-for-purpose Jul 16, 2018
@paulhauner
Copy link
Member Author

paulhauner commented Jul 16, 2018

There's some interesting stuff going on here:

https://github.com/sigp/bls/blob/cc0c75cdf12ac46454a1be406e23e2f3e8dc99df/src/lib.rs#L97-L111

It seems to require a different message for each public key.

@paulhauner
Copy link
Member Author

Issue is no longer current -- this can be addressed in the future.

kirk-baird pushed a commit that referenced this issue Mar 18, 2019
Merged from master project
paulhauner pushed a commit that referenced this issue Nov 3, 2019
…logic

Integrated slashing_protec with placeholder name for files
michaelsproul pushed a commit that referenced this issue May 14, 2020
removed state-cache-size related lines from store/src/config.rs
bors bot pushed a commit that referenced this issue Feb 8, 2022
Suggestions for fee recipieint changes from paulhauner
bors bot pushed a commit that referenced this issue Feb 7, 2023
bors bot pushed a commit that referenced this issue Feb 27, 2023
bors bot pushed a commit that referenced this issue Aug 1, 2023
antondlr referenced this issue in antondlr/lighthouse Dec 20, 2023
Upgrade libp2p to enable yamux gains
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants