Hsiao-Wei Wang d27f2350a2
Update BLS test suite to BLS standard draft v2 format
1. Make sure that BLS -Verify APIs would only return `True` or `False` , no exceptions.
2. Use `eth2spec.utils.bls` instead of py_ecc for test generator
3. Add assertions in test generator
4. Add some special test cases for the -Verify APIs
5. Clean up the test format documents
2020-05-15 00:55:06 +08:00
..
2020-01-22 11:04:45 +11:00

BLS Test Generator

Explanation of BLS12-381 type hierarchy The base unit is bytes48 of which only 381 bits are used

  • FQ: uint381 modulo field modulus
  • FQ2: (FQ, FQ)
  • G2: (FQ2, FQ2, FQ2)

Resources

Comments

Compared to Zcash, Ethereum specs always requires the compressed form (c_flag / most significant bit always set). Also note that pubkeys and privkeys are reversed.