cronos-labs / cronos-zkevm

Apache License 2.0
5 stars 2 forks source link

[Core] Explore new proof system #27

Open thomas-nguy opened 11 months ago

thomas-nguy commented 11 months ago

Some resources

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

JayT106 commented 11 months ago

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

thomas-nguy commented 11 months ago

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 commented 11 months ago

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

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 commented 11 months ago

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.