Comments (3)
Just to complement, what you're saying is done here in the Cairo solidity verifier, which checks that OOD evaluations satisfy for example that (T_i(x) - T_i(g^33158*z))/(x - g^33158*z)
is low degree. To what you said I would just add that you also need to modify the compose_registers
method of DeepComposer
struct.
However, I don't think it is a good idea to just define larger windows because not all values will be used. In the example above it will require a window of size at least 33158! I think one might instead just define which other (arbitrary?) cells might be needed when evaluating the constraints.
from winterfell.
Yes, the frame will just provide a view of the trace, which shouldn't impact performance. Good point about the DeepComposer
modifications. It would be wasteful to construct an OOD frame for all of the row offsets up to the window size (which could be quite large, as you demonstrate). One could either define in EvaluationFrame
which row offsets are used in the constraints, or as in the StarkEx contract use OOD evaluations that are both column and row specific. The latter could be achieved by dynamically tracking relative trace indices during constraint evaluation, and storing these in a sparse matrix data structure. I think these are implementation details that can be abstracted away in the definition of EvaluationFrame
.
from winterfell.
However, I don't think it is a good idea to just define larger windows because not all values will be used.
Now that I think, it doesn't really matter even if EvaluationFrame
depends on the whole trace. As long as your constraints doesn't depend on too many variables, everything should be ok
from winterfell.
Related Issues (20)
- Will it be made into zkvm in the future? HOT 1
- Remove duplicate query check in FRI HOT 3
- Implementing Keccak256 HOT 4
- mulfib8 example circuit is underconstrained
- `f64` field: `BaseElement` should not be convertible from `u64` or `u128` without error HOT 1
- Add serialization/deserialization for `usize` type HOT 1
- Accomodating more expressive transition constraints HOT 3
- `TraceTable::with_meta()` should be marked `unsafe`
- Suggestion: Remove outdated griffin hash implementation HOT 1
- Generalize auxiliary trace building logic HOT 2
- Simplify 2-d matrix types
- Generalize `TransitionConstraints` and `BoundaryConstraints` HOT 1
- Consider using the standard benchmark harness instead of criterion HOT 1
- DEEP polynomial with Lagrange kernel HOT 1
- `Deserializable` should have an associated type error
- `Proof::security_leve()` should take into account auxiliary proof
- `group_vector_elements` panics during account code compilation HOT 2
- Verify GKR proof in `Trace::validate()`
- FFT-based division to improve DEEP composition polynomial computation
- GKR-LogUp: additional required API changes HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from winterfell.