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

Draft mini RFC for SnarkyJS API to expose ECDSA/Keccak gadgets #694

Closed
bkase opened this issue Jan 13, 2023 · 2 comments
Closed

Draft mini RFC for SnarkyJS API to expose ECDSA/Keccak gadgets #694

bkase opened this issue Jan 13, 2023 · 2 comments
Labels
to-discuss Issues to be discussed further

Comments

@bkase
Copy link
Member

bkase commented Jan 13, 2023

Initially the crypto team is going to expose these gadgets to SnarkyJS via OCaml bindings with the plan to push them down to the Rust layer later.

Foreign fields are triples of native fields which we should make opaque at the SnarkyJS layer.

Sometime in the latter half of May, crypto team should be able to provide stub APIs to work towards in SnarkyJS in order to parallelise the work.

Since this exposes the ability to prove a new thing, it would entail exposing a new surface area to the SanrkyJS API. As such, we can prepare by putting together a mini RFC that determines the API, interaction flows and test plan.

The feature essentially allows SnarkyJS to prove with an ECDSA signature that the signer owns a particular ethereum address. What does that look like in SnarkyJS? How would it fit into an interaction flow within a UI?

PRD for primitive support can be found here.

@bkase bkase added the to-discuss Issues to be discussed further label Jan 13, 2023
@stevenpack
Copy link

stevenpack commented May 3, 2023

@nicc pushing this higher in the backlog for discussion next sprint planning.

ECDSA verification is blocking some of the more promising commercial / large scale uses of SnarkyJS. I tried to get a handle on all the moving parts here: https://www.notion.so/minaprotocol/Ethereum-Primitives-Dependencies-21e56244b1cd43b1807aac39fdd25117?pvs=4

It sounds like there are 2 things for Product eng. here:

  1. Expose to SnarkyJS (item 3 in the doc)
  2. Consume in SnarkyJS (item 5 in the doc).

If I got it right, 5) is a no-brainer for Product Eng, but it sounded like there was a chance to parallelize if Product eng could item 3, with crypto team providing a 'stub API' to work off, so the two streams could happen in parallel.

cc @bkase

@nicc nicc changed the title Prepare for (initially) OCaml bindings for ECDSA/Keccak Draft mini RFC for SnarkyJS API to expose ECDSA/Keccak gadgets May 5, 2023
@Trivo25
Copy link
Member

Trivo25 commented Nov 29, 2023

see o1-labs/rfcs#9

@Trivo25 Trivo25 closed this as completed Nov 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
to-discuss Issues to be discussed further
Projects
None yet
Development

No branches or pull requests

3 participants