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

[Core] Explore new proof system #27

Open
thomas-nguy opened this issue Jul 24, 2023 · 4 comments
Open

[Core] Explore new proof system #27

thomas-nguy opened this issue Jul 24, 2023 · 4 comments
Assignees

Comments

@thomas-nguy
Copy link
Member

Some resources

https://github.com/matter-labs/era-boojum
https://github.com/matter-labs/era-boojum-validator-cli

@JayT106
Copy link
Contributor

JayT106 commented Jul 24, 2023

This article has better explanation of this new proof system and current status.
https://zksync.mirror.xyz/HJ2Pj45EJkRdt5Pau-ZXwkV2ctPx8qFL19STM5jdYhc

@thomas-nguy
Copy link
Member Author

thomas-nguy commented Jul 25, 2023

The main repository has been updated to use the new proof system in parallel with the old one (double verification mechanism)

I will try some experimentation to see if I can make it work independently of the old one

@thomas-nguy thomas-nguy self-assigned this Jul 25, 2023
@JayT106 JayT106 self-assigned this Jul 27, 2023
@thomas-nguy
Copy link
Member Author

thomas-nguy commented Jul 28, 2023

To run the new prover:

First start the system as usual with
zk init

Then run the zk server to generate artifacts zk server

The zk server will create two tasks

  • One task is for the prover server zk_prover
  • Another task is for the new prover server zk_prover_fri

We can ignore the first task, and focus on the second one.

The task is stored in a special db table prover_fri and we need to run the prover_fri binary to generate the proof

./bin/zk f cargo +nightly run --release --bin zksync_prover_fri

this is currently failing because of the cargo project dependency. Boojum expect arrayvec > v0.6.x but the project use arrayvec ^v0.4 )

@JayT106
Copy link
Contributor

JayT106 commented Jul 28, 2023

this is currently failing because of the cargo project dependency. Boojum expect arrayvec > v0.6.x but the project use arrayvec ^v0.4 )

The blake2 libraries (blake2s_const, blake2s_simd) are using arrayvec v0.5 and blake2-rfc_bellman_edition is using arrayvec v0.4 but looks like they haven't released the source code yet.

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

No branches or pull requests

2 participants