argumentcomputer / argumentcomputer/sphinx

Lower values of `fixed_log2_rows` for the wrap machine

Open
#60 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
80
Forks
8
PR merge metrics
No merged PRs in 30d

Description

The values for `fixed_log2_rows` [here](https://github.com/lurk-lab/sphinx/blob/c9e1b00d03793a3f17feecdd1db8564c19aa1d6b/recursion/core/src/stark/mod.rs#L116) were decreased from 20 to 19 upstream v1.0.6-testnet (and again at v1.0.7-testnet), but this breaks the test `test_permutation_challenges` in Sphinx, so we kept it at 20

Setting it to 19 does not break E2E Plonk proof generation however, in fact with it at 20 it prints the warning "WARN fixed log2 rows can be potentially reduced: got 394238, expected 1048576". We should double-check why `test_permutation_challenges` is failing with a lower size

Running a quick test benchmark with 19 vs 20 showed no meaningful difference in total proving time, but this number changes how big the final gnark circuit is, so we'll want to decrease it as much as possible

Contributor guide

Open the contributing guide

Research direction

Start in recursion/core/src/stark/mod.rs at the fixed_log2_rows values and run test_permutation_challenges with 19 and 20. Compare that failure with E2E Plonk proof generation and the warning about reducing fixed log2 rows. Done means explaining the test failure and lowering the value as far as the proof system safely allows.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cryptography
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.