Nicolas Gailly 7db2d30972 PST/SQRT + Benches (#35)
* first version of the sqrt PST without the MIPP

* snarkpack integration

* snarkpack integration

* adding mipp as submodule directly

* snarkpack integration

* finalizing

* snarkpack integration

* update mipp with latestest optimisations and add preliminary
documentation

* improve codebase documentation

* remove unused imports and apply cargo fix changes

* passing v0.4

* adding gh action

* correct workflow item

* correct working dir and msrv

* remove unnecessary stuff

* wip

* wip

* remove circuit in fq as it's not needed now

* done for tonight

* wip

* wip

* sip

* prallelise commitment and groth16 verification

* finalise comments for mipp

* wip

* finalise comments

* wip

* compiling but test failing

* putting back non random blinds

* using absorb when we can

* absorbing scalar

* with bls12-381

* stuff

* trying to bring ark-blst to testudo

* correcting random implementation

* with square in place

* works with blst

* works with blst

* fix: don't require nightly Rust

With removing the `test` feature, it can also be built with a stable
Rust release and don't require a nightly Rust version.

* using ark-blst main branch

* started cleanup and added testudo benchmark

* add testudo snark and nizk in separate files

* rename functions that perform setups and add comments

* prototyping

* explain testudo-nizk

* add support for odd case in sqrt_pst

* add missing constraints and correct proof size for benchmarks

* add support for odd case in sqrt_pst

* fix typo in comment

* Documentation #31

* fix typo in comment

* Fix Cargo.toml and add benchmark for sqrt pst (#34)

* add benchmark for sqrt pst

* fix typo in comment

* add README

* comment from readme not executing

---------

Co-authored-by: Mara Mihali <maramihali@google.com>
Co-authored-by: Mara Mihali <mihalimara22@gmail.com>
Co-authored-by: Volker Mische <volker.mische@gmail.com>
2023-03-22 23:48:28 +01:00
2023-03-22 23:48:28 +01:00
2023-03-22 23:48:28 +01:00
2023-03-22 23:48:28 +01:00
2023-03-22 23:48:28 +01:00
2023-03-22 23:48:28 +01:00
2023-03-22 23:48:28 +01:00
2020-07-24 14:41:48 -07:00
2019-12-16 14:13:34 -08:00
2023-03-22 23:48:28 +01:00
2023-03-22 23:48:28 +01:00
2019-12-16 14:13:35 -08:00

Testudo

Build and Test Testudo

Testudo is a linear-time prover SNARK with a small and universal trusted setup. For a deep dive, please refer to this blog post.

In the current stage, the repository contains:

  • a modified version of Spartan using arkworks with the sumchecks verified using Groth16
  • a fast version of the PST commitment scheme with a square-root trusted setup
  • support for an arkworks wrapper around the fast blst library with GPU integration repo

Building testudo

Testudo is available with stable Rust.

Run cargo build or cargo test to build, respectively test the repository.

To run the current benchmarks on BLS12-377:

cargo bench --bench testudo --all-features release -- --nocapture

Join us!

If you want to contribute, reach out to the Discord server of cryptonet.

Description
No description provided
Readme MIT 373 KiB
Languages
Rust 100%