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

Parellel NIVC #256

Draft
wants to merge 28 commits into
base: dev
Choose a base branch
from
Draft

Parellel NIVC #256

wants to merge 28 commits into from

Commits on Feb 28, 2024

  1. initial structure

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    d6412fe View commit details
    Browse the repository at this point in the history
  2. more wip

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    f569398 View commit details
    Browse the repository at this point in the history
  3. updates

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    165104a View commit details
    Browse the repository at this point in the history
  4. more updates

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    42d649c View commit details
    Browse the repository at this point in the history
  5. fix nivc fold

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    aa46acd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4f30086 View commit details
    Browse the repository at this point in the history
  7. - remove scalar mul instance

    - replace nivc merge with merge_many
    - add alloc for circuit types
    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    6152c8e View commit details
    Browse the repository at this point in the history
  8. - remove unused io methods

    - define nivc state hasher
    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    c593cab View commit details
    Browse the repository at this point in the history
  9. define native nivchasher

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    a56ea77 View commit details
    Browse the repository at this point in the history
  10. fix compile errors

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    4009a5d View commit details
    Browse the repository at this point in the history
  11. fix some xclippy

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    f94d6f1 View commit details
    Browse the repository at this point in the history
  12. more compile errors

    visibility
    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    62ec553 View commit details
    Browse the repository at this point in the history
  13. - Separate into modules

    - Rework fold API
    - add ECC copy with Engine->Group
    - Replace E::TE with own transcript
    - placeholder NIFS secondary
    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    0112133 View commit details
    Browse the repository at this point in the history
  14. Fight with type system

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    91c15b3 View commit details
    Browse the repository at this point in the history
  15. - Move common circuit/prover types to mod

    - make accumulator fold mutate self
    - add engine type constraint
    - add `to_native` for converting back to the normal type
    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    2b375f5 View commit details
    Browse the repository at this point in the history
  16. fiddling

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    c4e98db View commit details
    Browse the repository at this point in the history
  17. revamp

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    2159e88 View commit details
    Browse the repository at this point in the history
  18. fix rebase

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    1648f00 View commit details
    Browse the repository at this point in the history
  19. Small refactor

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    e01bd6d View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    a15223e View commit details
    Browse the repository at this point in the history
  21. Adapt to CurveCycleEquiped

    adr1anh committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    cb096fe View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. - Unified transcript

    - Wrap ECC and EmulatedFieldElement
    - Make all structs CurveCycleEquipped
    - Specialize R1CS for both curves
    - Update Transcript
    adr1anh committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    79bb090 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2024

  1. Fix Emulated and add tests

    adr1anh committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    aa1ef90 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2024

  1. Small refactors

    - remove unused/commented out functions
    - revert to 128-bit limb hashing due to security concern
    - make ScalarMulAccumulator take ownership of R1CS accumulator
    - add ability to generate dummy input proof for circuit
    - use sponge for hashing the NIVC instance due to problems with variable-sized hashing
    - add test for `from_proof`
    - comment out merge-related code
    - ensure namespaces have unique names
    - remove wrong mersenne prime parameters
    - add emulatedbase tests
    - add cycle fold circuit
    - add inputize_hashed methods in allocated point for cyclefold circuit
    adr1anh committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    d59a0d1 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2024

  1. IT WORKS!

    - Rework primary IO.
      - Return transcript and state hash
    - Use correct Poseidon for sponge
    - Impl `eq_native` methods for comparing allocated types
    - Add ability to generate dummy proofs as initial input to the circuit
    - Fix `AllocatedPoint::enforce_trivial`
    - Impl CycleFold circuit
      - Ensure IO matches
      - Add Poseidon hashing of points
    - Fix AllocatedBase
      - fix `big_int_to_limbs`
      - fix other limb issues
      - add test
    - Fix `enforce_trivial` for `AllocatedBase` elements
    - Fix r_bits to r conversion
    - add recursive snark verification
    - use sponge for hashing state due to variable size
    adr1anh committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    396bbe5 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2024

  1. Working merge

    adr1anh committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    3e45ac5 View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2024

  1. Refactor

    adr1anh committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    a6ff0a9 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2024

  1. Fix bugs

    adr1anh committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    91e89c3 View commit details
    Browse the repository at this point in the history