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

Improved batch verification for Lelantus one-of-many proofs #1034

Merged
merged 2 commits into from
Mar 2, 2022

Conversation

AaronFeickert
Copy link
Contributor

@AaronFeickert AaronFeickert commented May 14, 2021

Improves batch verification for Lelantus one-of-many proofs by reducing to a single multiscalar multiplication operation. Adds additional sanity checks for the prover and verifier routines. Removes redundant code while retaining backwards compatibility.

Review requested.

@lgtm-com
Copy link

lgtm-com bot commented May 14, 2021

This pull request introduces 1 alert and fixes 2 when merging 8f3591c into 677b54c - view on LGTM.com

new alerts:

  • 1 for Unused static function

fixed alerts:

  • 2 for Unused static function

@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch 2 times, most recently from 794bd91 to 00168ca Compare May 17, 2021 21:02
@lgtm-com
Copy link

lgtm-com bot commented May 18, 2021

This pull request introduces 1 alert and fixes 2 when merging 00168ca into 677b54c - view on LGTM.com

new alerts:

  • 1 for Comparison result is always the same

fixed alerts:

  • 2 for Unused static function

@lgtm-com
Copy link

lgtm-com bot commented May 26, 2021

This pull request fixes 2 alerts when merging df2f52b into 677b54c - view on LGTM.com

fixed alerts:

  • 2 for Unused static function

@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch from df2f52b to dde7f67 Compare May 28, 2021 18:40
@AaronFeickert AaronFeickert changed the title Improved batch verification for one-of-many proofs Improved batch verification for Lelantus one-of-many proofs May 28, 2021
@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch from dde7f67 to 9e8187e Compare June 2, 2021 18:28
@AaronFeickert AaronFeickert marked this pull request as ready for review June 3, 2021 13:59
@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch from 9e8187e to 14287d8 Compare June 9, 2021 15:15
@lgtm-com
Copy link

lgtm-com bot commented Jun 9, 2021

This pull request fixes 2 alerts when merging 14287d8 into e2c8db6 - view on LGTM.com

fixed alerts:

  • 2 for Unused static function

@reubenyap reubenyap added this to the v0.14.7.1 milestone Jun 22, 2021
@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch 3 times, most recently from 73fef79 to a28e859 Compare June 28, 2021 15:16
@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch from a28e859 to 695012a Compare July 6, 2021 17:35
@lgtm-com
Copy link

lgtm-com bot commented Jul 6, 2021

This pull request fixes 3 alerts when merging 695012a into e3f929c - view on LGTM.com

fixed alerts:

  • 3 for Unused static function

@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch 3 times, most recently from bfa9454 to e21f215 Compare July 12, 2021 17:59
@lgtm-com
Copy link

lgtm-com bot commented Jul 12, 2021

This pull request introduces 2 alerts when merging e21f215 into 8192c5f - view on LGTM.com

new alerts:

  • 2 for Unused static function

@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch from e21f215 to 87cf95b Compare July 15, 2021 15:16
@reubenyap reubenyap modified the milestones: v0.14.7.1, v0.14.8.1 ProgPOW Jul 15, 2021
@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch from a6763e0 to 0ebcdc6 Compare July 15, 2021 17:09
@lgtm-com
Copy link

lgtm-com bot commented Jul 15, 2021

This pull request introduces 2 alerts when merging 0ebcdc6 into c4918fd - view on LGTM.com

new alerts:

  • 2 for Unused static function

@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch 2 times, most recently from a1cb61f to 02d1381 Compare July 21, 2021 19:43
@lgtm-com
Copy link

lgtm-com bot commented Jul 22, 2021

This pull request fixes 4 alerts when merging 02d1381 into 7960de9 - view on LGTM.com

fixed alerts:

  • 4 for Unused static function

@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch from 02d1381 to 365df8a Compare July 23, 2021 01:32
@AaronFeickert AaronFeickert force-pushed the one-of-many-batching branch 2 times, most recently from 6b27c50 to 381a73b Compare August 17, 2021 18:08
@lgtm-com
Copy link

lgtm-com bot commented Aug 17, 2021

This pull request fixes 3 alerts when merging 381a73b into b2eba12 - view on LGTM.com

fixed alerts:

  • 3 for Unused static function

@reubenyap reubenyap modified the milestones: v0.14.9.0 FiroPoW, v0.14.9.1 Maintenance Release Sep 26, 2021
@levonpetrosyan93
Copy link
Contributor

Here are the performance numbers
N = 65536 n = 16 m = 4 M = 1
Verify time New 907 ms
Verify time Old 899 ms
N = 65536 n = 16 m = 4 M = 5
Verify time New 945 ms
Verify time Old 941 ms
N = 65536 n = 16 m = 4 M = 10
Verify time New 1036 ms
Verify time Old 1027 ms
N = 65536 n = 16 m = 4 M = 50
Verify time New 1407 ms
Verify time Old 1501 ms
N = 65536 n = 16 m = 4 M = 100
Verify time New 1914 ms
Verify time Old 2071 ms
N = 65536 n = 16 m = 4 M = 500
Verify time New 6113 ms
Verify time Old 8149 ms
N = 65536 n = 16 m = 4 M = 1000
Verify time New 11347 ms
Verify time Old 12348 ms

@reubenyap reubenyap merged commit 9f2c3b9 into firoorg:master Mar 2, 2022
@AaronFeickert AaronFeickert deleted the one-of-many-batching branch March 2, 2022 17:06
levonpetrosyan93 pushed a commit that referenced this pull request May 17, 2023
* Improved batch verification for Lelantus one-of-many proofs

* Simplify types
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants