Skip to content

[WIP] Batch verification for ECDSA#22

Open
davidnevadoc wants to merge 9 commits into
privacy-ethereum:masterfrom
davidnevadoc:batch_verify
Open

[WIP] Batch verification for ECDSA#22
davidnevadoc wants to merge 9 commits into
privacy-ethereum:masterfrom
davidnevadoc:batch_verify

Conversation

@davidnevadoc

@davidnevadoc davidnevadoc commented Mar 19, 2022

Copy link
Copy Markdown
Contributor

The purpose of this PR is to explore different methods for efficient batch verification of ECDSA signatures.
Particularly in the secp256k1 curve.

Approach 1

To accomplish this we make 2 changes in this PR:

  1. Add mul_batch_ecdsa function for ecc chip
  2. Add batch_verify function to the ecdsa chip
Batch size NºRows
1 143 K
4 568 K
6 851 K
8 1.143 K

(142K rows per signature)

Approach 2

Using ECDSA* signatures. (For this approach to be really usable it will need to be integrated with the challenge interface.)
The prover must provide the correct point R for the signature's r parameter.

Batch size NºRows
8 659 K
12 926K
(77.2K rows per signature)

@davidnevadoc davidnevadoc marked this pull request as ready for review March 23, 2022 18:03
@davidnevadoc davidnevadoc changed the title Batch verification for ECDSA [WIP] Batch verification for ECDSA May 27, 2022
@enricobottazzi

Copy link
Copy Markdown
Contributor

Hi @davidnevadoc, is this PR still being worked on?

I'd love such feature :)

@davidnevadoc

Copy link
Copy Markdown
Contributor Author

Hey @enricobottazzi ! I'm not working in this feature anymore. Maybe we could merge this, WDYT @kilic ?
I'm still looking into improving ECDSA verification but through other avenues. Mainly, using GLV multiplication (#70) and fixing the generator (if possible).

@enricobottazzi

Copy link
Copy Markdown
Contributor

Cool!

A little off topic: do you think it would be worth creating a chip PubKeyToAddress or it's better to do this operation outside of the circuit (which in my case means on a smart contract level)

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