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 new crate chia-bls #68

Merged
merged 4 commits into from
Nov 10, 2022
Merged

add new crate chia-bls #68

merged 4 commits into from
Nov 10, 2022

Conversation

arvidn
Copy link
Contributor

@arvidn arvidn commented Oct 10, 2022

with support for all Chia key operations, from BIP39, hardened and unhardened key derivation, signatures, aggregation and verification.

The overview of the functions added in this crate, see the README.

The unit tests include some regression tests against blspy, with manual python code snippets.

There are two fuzz targets, one that loads blspy and validates results against it (here) and one that checks internal consistency of these functions (here). e.g. unhardened derivation of secret key and public key independently still validate the signature.

There are 3 benchmark targets. This implementation takes about 2.3 times longer to verify a signature compared to blspy/bls-signatures.

     Running benches/verify.rs
verify, small msg       time:   [2.3635 ms 2.3666 ms 2.3706 ms]
                        change: [-0.2317% -0.0294% +0.1766%] (p = 0.80 > 0.05)
                        No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
  2 (2.00%) high mild
  8 (8.00%) high severe

verify, 4kiB msg        time:   [2.3765 ms 2.3797 ms 2.3838 ms]
                        change: [-0.5150% -0.2241% +0.0461%] (p = 0.12 > 0.05)
                        No change in performance detected.
Found 14 outliers among 100 measurements (14.00%)
  3 (3.00%) high mild
  11 (11.00%) high severe

@arvidn arvidn force-pushed the chia-keys branch 3 times, most recently from 2a0aff4 to 81ff75f Compare October 14, 2022 21:57
@arvidn arvidn changed the title add new crate chia-keys add new crate chia-bls Oct 14, 2022
…rom BIP39, hardened and unhardened key derivation, signatures, aggregation and verification

exclude the python wheel from the cargo workspace. PyO3 doesn't like cargo test or cargo bench
@arvidn arvidn marked this pull request as ready for review November 1, 2022 10:13
richardkiss
richardkiss previously approved these changes Nov 1, 2022
@arvidn arvidn closed this Nov 1, 2022
@arvidn arvidn reopened this Nov 1, 2022
@arvidn arvidn closed this Nov 9, 2022
@arvidn arvidn reopened this Nov 9, 2022
@arvidn arvidn merged commit 9ba3b3b into main Nov 10, 2022
@arvidn arvidn deleted the chia-keys branch November 10, 2022 09:25
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

Successfully merging this pull request may close these issues.

2 participants