triton-vm icon indicating copy to clipboard operation
triton-vm copied to clipboard

Triton is a virtual machine that comes with Algebraic Execution Tables (AET) and Arithmetic Intermediate Representations (AIR) for use in combination with a STARK proof system.

Results 91 triton-vm issues
Sort by recently updated
recently updated
newest added

Instruction Buckets are cumbersome. A tiny change in the ISA throws the instruction buckets into disarray. Getting the constraints right is challenging. I propose to get rid of instruction buckets...

๐ŸŸก prio: medium
๐Ÿค– code

This PR fixes the proof system with respect to memory consistency. More specifically, it updates table population and extension, and defines constraints for memory consistency in accordance with TIPs [0001](https://github.com/TritonVM/triton-vm/blob/master/tips/tip-0001/tip-0001.md)...

๐Ÿ“œ specification
๐Ÿ”ด prio: high

Increase triton-vm to version 0.3.1 Bigger changes: - Use AlgebraicHasher instead of simple_hasher::Hasher. - Remove `H: Hasher` type parameter from ProofItem: It was only needed for FriProof, which contains digests,...

Cross-table arguments like Evaluation Arguments and Permutation Arguments need an extension column on both tables to compute a running evaluation or running product. This correct computation is not verified, to...

๐Ÿ”ด prio: high
๐Ÿค– code

Currently, the number of challenges is hardcoded in `challenges.rs`, near the top: ``` impl AllChallenges { pub const TOTAL_CHALLENGES: usize = 130; .... } ``` All challenges have a specific...

๐Ÿ’ซ good first issue
โœจ enhancement
๐ŸŸข prio: low
๐Ÿค– code

As discussed in [this issue](https://github.com/anoma/zkp-compiler-shootout/issues/16), implementing a proper โ€œif then elseโ€ is not currently very straightforward using Triton assembly. The new instruction `if_then_call` alleviates the problem. For instruction `if_then_call`, note...

It is always possible to emulate unconditional `call` using conditional `if_then_call`. ``` push 1 if_then_call label nop nop ```

๐Ÿค” question
๐ŸŸข prio: low

Even though it is a beautiful instruction, dropping `recurse` might lead to a simpler design and better overall performance. ### Pro `recurse` - proper [tail recursion](https://en.wikipedia.org/wiki/Tail_call), *i.e.*, no new entry...

๐Ÿค” question
๐ŸŸข prio: low

For the purpose of U32 operations, this note proposes an alternative to relying on a separate table with corresponding table relations. It describes how the `split` instruction is powerful enough...

Together with #77, this supersedes #24.

๐Ÿ“œ specification
โœจ enhancement
๐Ÿ”ด prio: high
๐Ÿค– code