Giter Site home page Giter Site logo

halo2_backend's People

Contributors

ethan-000 avatar finxlfantasy avatar ian-bright avatar jp4g avatar rajeshrk18 avatar tomafrench avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

halo2_backend's Issues

dynamic configuration

Ideally, we want to configure the circuit based on the opcodes required.

For example, if the circuit doesn't use ecdsa opcode there's no need to configure ecdsa.

currently the configure function of the Circuit trait in halo2 doesn't take self, so it doesn't have access to the fields of the struct (NoirHalo2Translator). I'm wondering if theres a way around this.

Adding table for readme

Problem

Want to add table for feature-list. Easier and more space efficient to look at.

Happy Case

Written using markdown (example for reference).

features halo2-pse halo2-axiom
feature X supported supported
feature Y supported not supported
feature Z not supported supported

Alternatives Considered

No response

Additional Context

No response

Would you like to submit a PR for this Issue?

Yes

Support Needs

No response

Axiom Equality Constraints

Given requirements for interoperating between axiom gate chips and standard halo2 chips (given with example of keccak rather than StandardPlonk, but same process):

Likely requires a custom thread builder!

MockProver Tests

It would be ideal to verify the authenticity of Halo2 circuits natively. We should run MockProver against generated circuits to verify their outputs. One issue is that the witness solver will fail to generate values that cause the circuit to fail. Therefore, to fully ensure that circuits behave in the expected case for each of the examples/ tests, we will need to have custom witness maps that will cause the halo2 prover to fail.

Map Witnesses to Assigned Cells (for instance values & permutations)

BTreeMap of Witness to a vector of AssignedCell structs.

For public IO:
If noir circuit has public inputs and/or return values add a single instance column. At end of proof synthesis iterate through public inputs/ outputs and constrain values to be instance values. Use index of public inputs (then num public inputs + index of public output) to determine row of instance column to assign

For equality constraints:
Idea WIP - when assigning advice, check if witness already has cell assignment. If assignments >= 1 constrain current assignment to be equal to previously assigned cell instead of assigning witness from OpCode

ecdsa

issue with rust-toolchain. can only run on rust 2022-10-28. not compatible with noir front end rust 1.66

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.