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

Stark: make transcript compatible with Stone Prover #570

Merged
merged 11 commits into from
Sep 22, 2023

Conversation

schouhy
Copy link
Contributor

@schouhy schouhy commented Sep 21, 2023

Make transcript compatible with Stone Prover

Description

This PR implements the transcript strategy used in the Stone Prover. Unit tests are added for sampling field elements, bytes and u64 off the transcript. Here is the source of those tests. Also integration tests are added by following all annotations in the Stone Prover in small Fibonacci examples.

Description of the pull request changes and motivation.

Type of change

  • New feature

Checklist

  • Unit tests added

@schouhy schouhy force-pushed the transcript-compatibility branch from e6005d8 to 6e4c8bc Compare September 21, 2023 14:38
@codecov-commenter
Copy link

codecov-commenter commented Sep 21, 2023

Codecov Report

Merging #570 (7c77f1e) into main (21cc017) will increase coverage by 0.04%.
Report is 1 commits behind head on main.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #570      +/-   ##
==========================================
+ Coverage   95.46%   95.50%   +0.04%     
==========================================
  Files         112      112              
  Lines       18811    19005     +194     
==========================================
+ Hits        17957    18151     +194     
  Misses        854      854              
Files Changed Coverage Δ
provers/stark/src/traits.rs 100.00% <ø> (ø)
provers/cairo/src/air.rs 98.47% <100.00%> (+0.01%) ⬆️
provers/stark/src/fri/mod.rs 99.00% <100.00%> (-0.01%) ⬇️
provers/stark/src/prover.rs 99.86% <100.00%> (-0.01%) ⬇️
provers/stark/src/transcript.rs 99.73% <100.00%> (+0.31%) ⬆️
provers/stark/src/verifier.rs 98.87% <100.00%> (-0.02%) ⬇️

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@schouhy schouhy marked this pull request as ready for review September 22, 2023 15:52
@schouhy schouhy requested review from ajgara and a team as code owners September 22, 2023 15:52
@MauroToscano MauroToscano self-requested a review September 22, 2023 16:57
@schouhy schouhy force-pushed the transcript-compatibility branch from 74e9d48 to fc906d7 Compare September 22, 2023 18:14
@schouhy schouhy added this pull request to the merge queue Sep 22, 2023
Merged via the queue into main with commit da688cd Sep 22, 2023
@schouhy schouhy deleted the transcript-compatibility branch September 22, 2023 20:09
PatStiles pushed a commit to PatStiles/lambdaworks that referenced this pull request Sep 26, 2023
* add StarkTranscript trait and implementation

* make append field element compatible with stone prover

* add test

* add tests

* uncomment test

* remove code added by mistake to exercises

* make counter of type u32
PatStiles pushed a commit to PatStiles/lambdaworks that referenced this pull request Oct 6, 2023
* add StarkTranscript trait and implementation

* make append field element compatible with stone prover

* add test

* add tests

* uncomment test

* remove code added by mistake to exercises

* make counter of type u32
PatStiles pushed a commit to PatStiles/lambdaworks that referenced this pull request Oct 21, 2023
* add StarkTranscript trait and implementation

* make append field element compatible with stone prover

* add test

* add tests

* uncomment test

* remove code added by mistake to exercises

* make counter of type u32
PatStiles pushed a commit to PatStiles/lambdaworks that referenced this pull request Nov 6, 2023
* add StarkTranscript trait and implementation

* make append field element compatible with stone prover

* add test

* add tests

* uncomment test

* remove code added by mistake to exercises

* make counter of type u32
github-merge-queue bot pushed a commit that referenced this pull request Nov 16, 2023
* add mersenne31 prime field

* fix representative field all tests passing

* delete cmt

* add bench for U64 mont and mersenne31

* Stark: make transcript compatible with Stone Prover (#570)

* add StarkTranscript trait and implementation

* make append field element compatible with stone prover

* add test

* add tests

* uncomment test

* remove code added by mistake to exercises

* make counter of type u32

* add field extension and fuzz

* clean up and add improved add and sub

* update inv() fuzz working

* plonky3 fuzz target

* fix ci

* fix lint attempt 2

* fix comment

* add no std features for Mersenne31 ByteConversion

* fix ci

* fix comment

* add bench

* add mersenne montgomery bench

* fmt

* fix old merge conflcit

* fix bench method

* docs: stone prover trace docs - layout plain (#658)

* Add docs for stone prover trace with plain layout

* Add csv traces of fibonacci program

* Add stone prover docs to mdbook

* fix ci

* Fix name in clippy lints

---------

Co-authored-by: Sergio Chouhy <[email protected]>
Co-authored-by: Mariano A. Nicolini <[email protected]>
Co-authored-by: Mauro Toscano <[email protected]>
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

Successfully merging this pull request may close these issues.

5 participants