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

Add Supranational BLS implementation #2453

Merged
merged 101 commits into from
Jul 31, 2020
Merged

Commits on Jun 25, 2020

  1. Draft initial experiments

    Nashatyrev committed Jun 25, 2020
    Configuration menu
    Copy the full SHA
    fc11c9f View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2020

  1. Configuration menu
    Copy the full SHA
    1532577 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2020

  1. Add JNA library draft

    Nashatyrev committed Jul 7, 2020
    Configuration menu
    Copy the full SHA
    745ca3a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f442a69 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2020

  1. Updated SWIG wrappers

    Nashatyrev committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    986c4a8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3eff96d View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2020

  1. Configuration menu
    Copy the full SHA
    7413682 View commit details
    Browse the repository at this point in the history
  2. Update the draft

    Nashatyrev committed Jul 10, 2020
    Configuration menu
    Copy the full SHA
    5cb89b4 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2020

  1. Configuration menu
    Copy the full SHA
    54f7a01 View commit details
    Browse the repository at this point in the history
  2. temp commit

    Nashatyrev committed Jul 15, 2020
    Configuration menu
    Copy the full SHA
    9256c93 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2020

  1. Upgrade blst classes

    Nashatyrev committed Jul 16, 2020
    Configuration menu
    Copy the full SHA
    67b1a9d View commit details
    Browse the repository at this point in the history
  2. Update tests

    Nashatyrev committed Jul 16, 2020
    Configuration menu
    Copy the full SHA
    f8da728 View commit details
    Browse the repository at this point in the history
  3. Update dll

    Nashatyrev committed Jul 16, 2020
    Configuration menu
    Copy the full SHA
    a7439d5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    939e301 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7fd531b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    69300d6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8724e7f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    84691cd View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2020

  1. Configuration menu
    Copy the full SHA
    a8bafde View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b5762f4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    27aace7 View commit details
    Browse the repository at this point in the history
  4. Fix warnings

    Nashatyrev committed Jul 17, 2020
    Configuration menu
    Copy the full SHA
    5f93ac4 View commit details
    Browse the repository at this point in the history
  5. Fix more warns

    Nashatyrev committed Jul 17, 2020
    Configuration menu
    Copy the full SHA
    7c4faf6 View commit details
    Browse the repository at this point in the history
  6. Merge remote-tracking branch 'pegasys/master' into feature-bls-interf…

    …aces
    
    # Conflicts:
    #	bls/src/main/java/tech/pegasys/teku/bls/BLS.java
    #	bls/src/main/java/tech/pegasys/teku/bls/BLSPublicKey.java
    #	bls/src/test/java/tech/pegasys/teku/bls/BLSPublicKeyTest.java
    #	data/provider/src/main/java/tech/pegasys/teku/api/schema/BLSPubKey.java
    Nashatyrev committed Jul 17, 2020
    Configuration menu
    Copy the full SHA
    c221980 View commit details
    Browse the repository at this point in the history
  7. Resolve merge conflicts

    Nashatyrev committed Jul 17, 2020
    Configuration menu
    Copy the full SHA
    8c41c8d View commit details
    Browse the repository at this point in the history
  8. Fix the test

    Nashatyrev committed Jul 17, 2020
    Configuration menu
    Copy the full SHA
    aab091f View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2020

  1. Fix the test

    Nashatyrev committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    2040313 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    69313d7 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'feature-bls-interfaces' into experimental-supra

    # Conflicts:
    #	bls/build.gradle
    #	bls/src/test/java/tech/pegasys/teku/bls/impl/mikuli/hash2g2/ReferenceTests.java
    Nashatyrev committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    59e59c1 View commit details
    Browse the repository at this point in the history
  4. Remove JNA binding

    Nashatyrev committed Jul 20, 2020
    Configuration menu
    Copy the full SHA
    5b48be7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6c4314b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3c653a5 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2020

  1. Merge remote-tracking branch 'pegasys/master' into feature-blst

    # Conflicts:
    #	bls/src/main/java/tech/pegasys/teku/bls/BLS.java
    #	bls/src/main/java/tech/pegasys/teku/bls/impl/Signature.java
    #	bls/src/main/java/tech/pegasys/teku/bls/impl/mikuli/MikuliBLS12381.java
    #	bls/src/main/java/tech/pegasys/teku/bls/impl/mikuli/MikuliPublicKey.java
    #	bls/src/main/java/tech/pegasys/teku/bls/impl/mikuli/MikuliSignature.java
    #	bls/src/main/java/tech/pegasys/teku/bls/impl/noop/NoopBLS12381.java
    #	bls/src/main/java/tech/pegasys/teku/bls/impl/noop/NoopSignature.java
    Nashatyrev committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    edf288a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a6aafa1 View commit details
    Browse the repository at this point in the history
  3. BlstSecretKey should be created from 48 bytes and return 48 bytes fro…

    …m toBytes() according to interface
    Nashatyrev committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    763bdde View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    950622b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c20d6cb View commit details
    Browse the repository at this point in the history
  6. Add latest Blst DLL

    Nashatyrev committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    d32eed8 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2020

  1. Configuration menu
    Copy the full SHA
    28f099a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cc7f83b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    27f8cb3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f06b765 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    922254f View commit details
    Browse the repository at this point in the history
  6. Make BLSPublicKey fromBytesCompressed/toBytesCompressed operating wit…

    …h Bytes48 type. SecretKey.toBytes() returns Bytes32
    Nashatyrev committed Jul 22, 2020
    Configuration menu
    Copy the full SHA
    dd744d1 View commit details
    Browse the repository at this point in the history
  7. Rename BLSPublicKey/BLSSignature.from/toBytes() methods to from/toSSZ…

    …Bytes() to be more explicit
    Nashatyrev committed Jul 22, 2020
    Configuration menu
    Copy the full SHA
    dcef1b3 View commit details
    Browse the repository at this point in the history
  8. Hide constructors. Make PublicKey and Signature implementations to be…

    … lazily evaluated inside corresponding BLS wrappers
    Nashatyrev committed Jul 22, 2020
    Configuration menu
    Copy the full SHA
    a8ae35b View commit details
    Browse the repository at this point in the history
  9. Fix DLL binary attribute

    Nashatyrev committed Jul 22, 2020
    Configuration menu
    Copy the full SHA
    3e13b6e View commit details
    Browse the repository at this point in the history
  10. Again add DLL

    Nashatyrev committed Jul 22, 2020
    Configuration menu
    Copy the full SHA
    2f4d590 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    706f888 View commit details
    Browse the repository at this point in the history
  12. Add comments

    Nashatyrev committed Jul 22, 2020
    Configuration menu
    Copy the full SHA
    66a854c View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    4db7dc4 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2020

  1. Configuration menu
    Copy the full SHA
    14e7f97 View commit details
    Browse the repository at this point in the history
  2. Add a BLS test

    Nashatyrev committed Jul 23, 2020
    Configuration menu
    Copy the full SHA
    1b2f04b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    54c6d4e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d65ec86 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    87d4cd5 View commit details
    Browse the repository at this point in the history
  6. For BLSPublicKey/BLSSignature use bytes representation for hashCode()…

    … and equals() since we need ability to compare valid (from SSZ standpoint) 'empty' instances, but shouldn't decode them to real instances
    Nashatyrev committed Jul 23, 2020
    Configuration menu
    Copy the full SHA
    d4e5ca8 View commit details
    Browse the repository at this point in the history
  7. Move the test case to BLSSignatureTest since empty() case is not hand…

    …led by the implementation
    Nashatyrev committed Jul 23, 2020
    Configuration menu
    Copy the full SHA
    5b308dd View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1af5520 View commit details
    Browse the repository at this point in the history
  9. In case of fail fast when deserializing invalid signature bytes, just…

    … mark the signature invalid. This is to deal with empty signatures (valid from SSZ perspective)
    Nashatyrev committed Jul 23, 2020
    Configuration menu
    Copy the full SHA
    e87006d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    902ec56 View commit details
    Browse the repository at this point in the history
  11. Merge remote-tracking branch 'pegasys/master' into feature-blst

    # Conflicts:
    #	data/provider/src/test/java/tech/pegasys/teku/api/ValidatorDataProviderTest.java
    Nashatyrev committed Jul 23, 2020
    Configuration menu
    Copy the full SHA
    47ca1c6 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2020

  1. Configuration menu
    Copy the full SHA
    b204b52 View commit details
    Browse the repository at this point in the history
  2. Apply spotless

    Nashatyrev committed Jul 24, 2020
    Configuration menu
    Copy the full SHA
    569e742 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e683667 View commit details
    Browse the repository at this point in the history
  4. Fix errorprone warns

    Nashatyrev committed Jul 24, 2020
    Configuration menu
    Copy the full SHA
    41e647a View commit details
    Browse the repository at this point in the history
  5. Update license for jblst

    Nashatyrev committed Jul 24, 2020
    Configuration menu
    Copy the full SHA
    e08b756 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    65f0f50 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2020

  1. Configuration menu
    Copy the full SHA
    acebcca View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    db88ac0 View commit details
    Browse the repository at this point in the history
  3. Apply spotless

    Nashatyrev committed Jul 27, 2020
    Configuration menu
    Copy the full SHA
    6047663 View commit details
    Browse the repository at this point in the history
  4. Resolve warnings

    Nashatyrev committed Jul 27, 2020
    Configuration menu
    Copy the full SHA
    8318548 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1f9f688 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2020

  1. Generate KeyPair from seed in an implementation independent way. Thro…

    …w exception when instantiating SecretKey from non-valid BLS12381 scalar value
    Nashatyrev committed Jul 28, 2020
    Configuration menu
    Copy the full SHA
    aae5ea0 View commit details
    Browse the repository at this point in the history
  2. Fix tests

    Nashatyrev committed Jul 28, 2020
    Configuration menu
    Copy the full SHA
    193c8f5 View commit details
    Browse the repository at this point in the history
  3. Apply spotless

    Nashatyrev committed Jul 28, 2020
    Configuration menu
    Copy the full SHA
    90a35da View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ce26e6a View commit details
    Browse the repository at this point in the history
  5. Fix test compilation error

    Nashatyrev committed Jul 28, 2020
    Configuration menu
    Copy the full SHA
    6c02825 View commit details
    Browse the repository at this point in the history
  6. Apply spotless

    Nashatyrev committed Jul 28, 2020
    Configuration menu
    Copy the full SHA
    8a2069c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d82db16 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1de2060 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    1659356 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d0b27d4 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2020

  1. Configuration menu
    Copy the full SHA
    4978c2b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ef1fa1c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fa8ec98 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2020

  1. Remove obsolete comment

    Nashatyrev committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    f9577a0 View commit details
    Browse the repository at this point in the history
  2. Moved BlstSignature specific methods from BlstBLS12381 to BlstSignatu…

    …re and make them private
    Nashatyrev committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    0c248d9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7447b6f View commit details
    Browse the repository at this point in the history
  4. Add lost test case

    Nashatyrev committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    fd219cc View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    654e2fa View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ea92796 View commit details
    Browse the repository at this point in the history
  7. Apply spotless

    Nashatyrev committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    d903419 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d17224f View commit details
    Browse the repository at this point in the history
  9. Move BLS constants to BLSConstants class. Make a clear separation of …

    …BLSPublicKey fromSSZBytes() and fromBytesCompressed() though they are equivalent with current SSZ implementation
    Nashatyrev committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    25fb802 View commit details
    Browse the repository at this point in the history
  10. Make a distinction of BLSSignature from/toSSZBytes() and from/toBytes…

    …Compressed() though they are equivalent with the current SSZ implementation
    Nashatyrev committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    5dca043 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    913e484 View commit details
    Browse the repository at this point in the history
  12. Minor BLS tests cleanups

    Nashatyrev committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    7ade0ab View commit details
    Browse the repository at this point in the history
  13. Move BLS.aggregatePublicKeys() -> BLSPublicKey.aggregate(), rename BL…

    …S.aggregateSignatures() -> BLS.aggregate()
    Nashatyrev committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    b60a046 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    377eaf1 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2020

  1. Configuration menu
    Copy the full SHA
    d7559ca View commit details
    Browse the repository at this point in the history