triton-vm
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.
Here is a potential space and speed improvement: do not store the randomized trace polynomials but store the unrandomized trace polynomials instead. For starters, this gives faster interpolation. The domain...
Similar to existing instruction `merkle_step`, the new instruction allows verifying a Merkle authentication path efficiently. Unlike the existing instruction, that authentication path lives in Triton VM's RAM. This allows to...
Resolves #238 ``` cargo run --example cmd prove --dst ./triton-vm/examples/proof.txt Proof generated in: 43s Proof size: 1820KB Stark, claim and proof written to ./triton-vm/examples/proof.txt ``` ``` cargo run --example cmd...
The two new instructions simplify manipulation of the operational stack. Instruction `pick` + `i` moves the indicated stack element to the top of the stack. Instruction `place` + `i` is...
Previously, it was necessary to initialize Triton VM's Sponge state manually before any other Sponge instruction could be used. Now, instructions `sponge_absorb`, `sponge_absorb_mem`, and `sponge_squeeze` can be executed without first...
Cf. #302 instructions that mutate a pointer value should, if possible, read the pointer value from `ST[5]` or `ST[6]`. I think it should be possible to replace the loop-condition here...
Currently the `xy_dot_step` instructions treat the top-two stack elements as pointers and the subsequent three stack elements as an `XFieldElement`. If instead these instructions had the `XFieldElement` on top of...
I finished a first draft for documentation on the validity rules for transactions [here](https://github.com/Neptune-Crypto/neptune-core/pull/160/files#diff-65d6af64d355c1ac87f0f894068407c9eb55683171cbb31a73457902db424151). It highlights one important issue and anticipates a solution. The issue is this: with the current...
The biggest contributor to Triton VM's build times is the build script `build.rs`, of which (presumably) the biggest culprit is automatic degree lowering. This step is currently purely sequential. There...
The `*BaseTableColumn` and `*ExtTableColumn` structs define *two* consts indicating the number of columns: `BASE_WIDTH` (respectively `EXT_WIDTH`) and `COUNT`. The latter one is automatically derived via strum. Having multiple `const`s referring...