update readme (#1375)

This commit is contained in:
Leo
2024-05-14 14:56:53 +02:00
committed by GitHub
parent 07642d056b
commit dce4f985c7

View File

@@ -19,6 +19,7 @@ It has two main components:
- powdr-asm: an extensible assembly IR language to perform dynamic executions.
- powdr-PIL: a low level constraint language that allows you to define arithmetic constraints, lookups, etc.
It includes a functional meta-constraint language to describe how constraints are generated.
Both frontend and backend are highly flexible.
@@ -27,9 +28,14 @@ which is compiled to RISCV, then to powdr-asm and finally to powdr-PIL.
*powdr*-pil can be used to generate proofs using multiple backends, such as:
- Halo2: via [polyexen](https://github.com/Dhole/polyexen) and [snark-verifer](https://github.com/privacy-scaling-explorations/snark-verifier/)
- eSTARK: via [Eigen's starky](https://github.com/0xEigenLabs/eigen-zkvm/) or via [our fork of Polygon's zkevm-prover](https://github.com/powdr-labs/zkevm-prover).
- SuperNova: ongoing work (https://github.com/powdr-labs/powdr/pull/453)
- Halo2, using PSE's
- [Halo2](https://github.com/privacy-scaling-explorations/halo2)
- [snark-verifier](https://github.com/privacy-scaling-explorations/snark-verifier/)
- [halo2-solidity-verifier](https://github.com/privacy-scaling-explorations/halo2-solidity-verifier)
- eSTARK, using
- [Eigen's starky](https://github.com/0xEigenLabs/eigen-zkvm/)
- [our fork of Polygon's zkevm-prover](https://github.com/powdr-labs/zkevm-prover)
- Plonky3 (ongoing work): https://github.com/powdr-labs/powdr/pull/1158
All stages are fully automatic, which means you do not need to write any
additional code for witness generation besides your Rust code. All witnesses
@@ -37,10 +43,10 @@ are automatically inferred from the constraints. Since the witnesses are
inferred, *powdr* can ensure that the system is not underconstrained, i.e.
there are no additional unwanted witnesses.
All artifacts from the compilation pipeline are human-readable. This means you
All artifacts from the compilation pipeline are human-readable. You
can inspect the RISCV assembly files, the powdr-asm IR, and the compiled PIL file.
The assembly language is designed to be extensible. This means that it does not have a single
The assembly language is designed to be extensible and does not have a single
native instruction. Instead, all instructions are user-defined and because of that,
it is easy to adapt *powdr* assembly to any VM.