succinctlabs / rsp

A minimal implementation of ZKPs of Ethereum block execution using Reth. Supports both Ethereum and OP Stack.
Apache License 2.0
39 stars 11 forks source link

bug: proving not working with unsupported SP1 version #39

Open LampardNguyen234 opened 1 week ago

LampardNguyen234 commented 1 week ago

What command did I run? rsp --block-number=124958848 --chain-id=10 --cache-dir=.cache --prove Which commit did I run my rsp code on? 0b5b90c04fb629c428015c01b247d8a9498397c9

I built SP1 using the introduction here, but as I ran the above command, this error was thrown.

2024-09-05T06:23:12.634034Z  INFO execute: sp1_core_executor::executor: clk = 0 pc = 0x2f1f14
stdout: WARNING: Using insecure random number generator.
2024-09-05T06:23:12.997136Z  INFO execute: sp1_core_executor::executor: clk = 10000000 pc = 0x2f1b14
2024-09-05T06:23:13.258982Z  INFO execute: sp1_core_executor::executor: clk = 20000000 pc = 0x2f1c50
2024-09-05T06:23:13.532750Z  INFO execute: sp1_core_executor::executor: clk = 30000000 pc = 0x4f798c
2024-09-05T06:23:13.814284Z  INFO execute: sp1_core_executor::executor: clk = 40000000 pc = 0x2f1c34
2024-09-05T06:23:14.102497Z  INFO execute: sp1_core_executor::executor: clk = 50000000 pc = 0x2f1c30
2024-09-05T06:23:14.378691Z  INFO execute: sp1_core_executor::executor: clk = 60000000 pc = 0x46a3f4
2024-09-05T06:23:14.673719Z  INFO execute: sp1_core_executor::executor: clk = 70000000 pc = 0x46b058
2024-09-05T06:23:14.950331Z  INFO execute: sp1_core_executor::executor: clk = 80000000 pc = 0x4cbb80
2024-09-05T06:23:15.227655Z  INFO execute: sp1_core_executor::executor: clk = 90000000 pc = 0x4757e0
2024-09-05T06:23:15.250595Z  INFO execute: sp1_core_executor::syscalls::write: ┌╴recover senders
2024-09-05T06:23:15.812690Z  INFO execute: sp1_core_executor::syscalls::write: └╴481,212 cycles
2024-09-05T06:23:15.812738Z  INFO execute: sp1_core_executor::syscalls::write: ┌╴execute
2024-09-05T06:23:15.911231Z  INFO execute: sp1_core_executor::syscalls::write: │ ┌╴precompile-ecrecover
2024-09-05T06:23:15.957626Z  INFO execute: sp1_core_executor::syscalls::write: │ └╴32,637 cycles
2024-09-05T06:23:15.991957Z  INFO execute: sp1_core_executor::syscalls::write: │ ┌╴precompile-bn-mul
2024-09-05T06:23:16.013970Z  INFO execute: sp1_core_executor::syscalls::write: │ └╴628,712 cycles
2024-09-05T06:23:16.014505Z  INFO execute: sp1_core_executor::syscalls::write: │ ┌╴precompile-bn-add
2024-09-05T06:23:16.017529Z  INFO execute: sp1_core_executor::syscalls::write: │ └╴112,219 cycles
2024-09-05T06:23:16.018595Z  INFO execute: sp1_core_executor::syscalls::write: │ ┌╴precompile-bn-pair
2024-09-05T06:23:16.126852Z  INFO execute: sp1_core_executor::executor: clk = 100000000 pc = 0x3f5a98
2024-09-05T06:23:16.434713Z  INFO execute: sp1_core_executor::syscalls::write: │ └╴11,534,167 cycles
2024-09-05T06:23:16.460300Z  INFO execute: sp1_core_executor::syscalls::write: │ ┌╴precompile-ecrecover
2024-09-05T06:23:16.506876Z  INFO execute: sp1_core_executor::syscalls::write: │ └╴32,672 cycles
2024-09-05T06:23:16.522314Z  INFO execute: sp1_core_executor::executor: clk = 110000000 pc = 0x3c8868
2024-09-05T06:23:16.822380Z  INFO execute: sp1_core_executor::executor: clk = 120000000 pc = 0x260060
2024-09-05T06:23:17.269639Z  INFO execute: sp1_core_executor::executor: clk = 130000000 pc = 0x260278
2024-09-05T06:23:17.503254Z  INFO execute: sp1_core_executor::executor: clk = 140000000 pc = 0x281f34
2024-09-05T06:23:17.538994Z  INFO execute: sp1_core_executor::syscalls::write: └╴50,170,023 cycles
2024-09-05T06:23:17.539018Z  INFO execute: sp1_core_executor::syscalls::write: ┌╴validate block post-execution
2024-09-05T06:23:17.549894Z  INFO execute: sp1_core_executor::syscalls::write: └╴450,670 cycles
2024-09-05T06:23:17.549916Z  INFO execute: sp1_core_executor::syscalls::write: ┌╴accrue logs bloom
2024-09-05T06:23:17.554151Z  INFO execute: sp1_core_executor::syscalls::write: └╴172,003 cycles
2024-09-05T06:23:17.554183Z  INFO execute: sp1_core_executor::syscalls::write: ┌╴compute state root
2024-09-05T06:23:17.737312Z  INFO execute: sp1_core_executor::executor: clk = 150000000 pc = 0x2f1c20
2024-09-05T06:23:17.974602Z  INFO execute: sp1_core_executor::executor: clk = 160000000 pc = 0x294354
2024-09-05T06:23:18.210549Z  INFO execute: sp1_core_executor::executor: clk = 170000000 pc = 0x4b52f4
2024-09-05T06:23:18.442248Z  INFO execute: sp1_core_executor::executor: clk = 180000000 pc = 0x2f1be0
2024-09-05T06:23:18.599264Z  INFO execute: sp1_core_executor::syscalls::write: └╴44,635,068 cycles
success: block_hash=0xa1e838eb04274baadf89b6eeaacf456880deadb56daaeed1ba2d3aab2949f80e

Execution report:
opcode counts (186937532 total instructions):
  57233931 add
  22405208 sw
  22233886 lw
   9836571 lbu
   8134103 bne
   7533433 sltu
   7254219 beq
   5365841 and
   4942318 or
   4722187 bltu
   4343290 sb
   4206123 jalr
   3727751 lb
   3613510 sll
   3072118 xor
   2968256 mul
   2625559 mulhu
   2520565 bgeu
   2234405 auipc
   2012533 srl
   1952240 bge
   1798072 jal
   1065990 sub
    518657 sra
    163041 ecall
    146753 blt
    140399 lhu
    109515 sh
     51762 lh
      3521 slt
      1717 mulh
        58 divu
syscall counts (163041 total syscall instructions):
  65998 bn254_fp_add
  38003 bn254_fp_sub
  29615 bn254_fp2_mul
  12165 keccak_permute
   7168 secp256k1_double
   6388 bn254_fp_mul
   3571 secp256k1_add
     29 hint_len
     29 hint_read
     23 write
     14 enter_unconstrained
     14 secp256k1_decompress
      8 commit
      8 commit_deferred_proofs
      5 uint256_mul
      1 halt
      1 sha_compress
      1 sha_extend

Starting proof generation.
2024-09-05T06:23:18.945971Z  INFO execute: sp1_core_executor::executor: clk = 0 pc = 0x2f1f14
stdout: WARNING: Using insecure random number generator.
2024-09-05T06:23:19.256013Z  INFO execute: sp1_core_executor::executor: clk = 10000000 pc = 0x2f1b14
2024-09-05T06:23:19.516678Z  INFO execute: sp1_core_executor::executor: clk = 20000000 pc = 0x2f1c50
2024-09-05T06:23:19.792355Z  INFO execute: sp1_core_executor::executor: clk = 30000000 pc = 0x4f798c
2024-09-05T06:23:20.072665Z  INFO execute: sp1_core_executor::executor: clk = 40000000 pc = 0x2f1c34
2024-09-05T06:23:20.350623Z  INFO execute: sp1_core_executor::executor: clk = 50000000 pc = 0x2f1c30
2024-09-05T06:23:20.625144Z  INFO execute: sp1_core_executor::executor: clk = 60000000 pc = 0x46a3f4
2024-09-05T06:23:20.901738Z  INFO execute: sp1_core_executor::executor: clk = 70000000 pc = 0x46b058
2024-09-05T06:23:21.179498Z  INFO execute: sp1_core_executor::executor: clk = 80000000 pc = 0x4cbb80
2024-09-05T06:23:21.474070Z  INFO execute: sp1_core_executor::executor: clk = 90000000 pc = 0x4757e0
2024-09-05T06:23:21.496981Z  INFO execute: sp1_core_executor::syscalls::write: ┌╴recover senders
2024-09-05T06:23:22.058155Z  INFO execute: sp1_core_executor::syscalls::write: └╴481,212 cycles
2024-09-05T06:23:22.058205Z  INFO execute: sp1_core_executor::syscalls::write: ┌╴execute
2024-09-05T06:23:22.157213Z  INFO execute: sp1_core_executor::syscalls::write: │ ┌╴precompile-ecrecover
2024-09-05T06:23:22.203660Z  INFO execute: sp1_core_executor::syscalls::write: │ └╴32,637 cycles
2024-09-05T06:23:22.237976Z  INFO execute: sp1_core_executor::syscalls::write: │ ┌╴precompile-bn-mul
2024-09-05T06:23:22.260010Z  INFO execute: sp1_core_executor::syscalls::write: │ └╴628,712 cycles
2024-09-05T06:23:22.260543Z  INFO execute: sp1_core_executor::syscalls::write: │ ┌╴precompile-bn-add
2024-09-05T06:23:22.263553Z  INFO execute: sp1_core_executor::syscalls::write: │ └╴112,219 cycles
2024-09-05T06:23:22.264625Z  INFO execute: sp1_core_executor::syscalls::write: │ ┌╴precompile-bn-pair
2024-09-05T06:23:22.373084Z  INFO execute: sp1_core_executor::executor: clk = 100000000 pc = 0x3f5a98
2024-09-05T06:23:22.681678Z  INFO execute: sp1_core_executor::syscalls::write: │ └╴11,534,167 cycles
2024-09-05T06:23:22.707531Z  INFO execute: sp1_core_executor::syscalls::write: │ ┌╴precompile-ecrecover
2024-09-05T06:23:22.754983Z  INFO execute: sp1_core_executor::syscalls::write: │ └╴32,672 cycles
2024-09-05T06:23:22.770426Z  INFO execute: sp1_core_executor::executor: clk = 110000000 pc = 0x3c8868
2024-09-05T06:23:23.073088Z  INFO execute: sp1_core_executor::executor: clk = 120000000 pc = 0x260060
2024-09-05T06:23:23.508080Z  INFO execute: sp1_core_executor::executor: clk = 130000000 pc = 0x260278
2024-09-05T06:23:23.741163Z  INFO execute: sp1_core_executor::executor: clk = 140000000 pc = 0x281f34
2024-09-05T06:23:23.776806Z  INFO execute: sp1_core_executor::syscalls::write: └╴50,170,023 cycles
2024-09-05T06:23:23.776830Z  INFO execute: sp1_core_executor::syscalls::write: ┌╴validate block post-execution
2024-09-05T06:23:23.787651Z  INFO execute: sp1_core_executor::syscalls::write: └╴450,670 cycles
2024-09-05T06:23:23.787674Z  INFO execute: sp1_core_executor::syscalls::write: ┌╴accrue logs bloom
2024-09-05T06:23:23.791888Z  INFO execute: sp1_core_executor::syscalls::write: └╴172,003 cycles
2024-09-05T06:23:23.791923Z  INFO execute: sp1_core_executor::syscalls::write: ┌╴compute state root
2024-09-05T06:23:23.974546Z  INFO execute: sp1_core_executor::executor: clk = 150000000 pc = 0x2f1c20
2024-09-05T06:23:24.205836Z  INFO execute: sp1_core_executor::executor: clk = 160000000 pc = 0x294354
2024-09-05T06:23:24.438757Z  INFO execute: sp1_core_executor::executor: clk = 170000000 pc = 0x4b52f4
2024-09-05T06:23:24.670113Z  INFO execute: sp1_core_executor::executor: clk = 180000000 pc = 0x2f1be0
2024-09-05T06:23:24.826914Z  INFO execute: sp1_core_executor::syscalls::write: └╴44,635,068 cycles
2024-09-05T06:23:25.090799Z  INFO sp1_sdk::network::prover: Simulation complete, cycles: 186937532
thread 'main' panicked at bin/host/src/main.rs:140:65:
Proving should work.: error: "InvalidArgument" message: "version of SP1 is not supported. For documentation on switching to a supported version, see: https://github.com/succinctlabs/sp1/blob/dev/book/prover-network/versions.md"
xJonathanLEI commented 1 week ago

I think this has to do with the fact that the prover network currently only supports one SP1 version.

LampardNguyen234 commented 1 week ago

I think this has to do with the fact that the prover network currently only supports one SP1 version.

Which version is this?

xJonathanLEI commented 1 week ago

Which version is this?

Currently v1.1.0. This is documented here.

RSP uses v1.2.0-rc2 that's why it doesn't work.