a16z / jolt

The simplest and most extensible zkVM. Fast and fully open source from a16z crypto and friends. ⚡
https://jolt.a16zcrypto.com
MIT License
580 stars 105 forks source link

Adds an onchain compatible transcript and removes Merlin #402

Closed aleph-v closed 1 week ago

aleph-v commented 1 week ago

Change list:

  1. Replaces the Merlin transcript which uses keccack1600 permutations with a transcript which we define for jolt and which uses keccack256. This transcript squeezes all inputs into 32bytes with an action counter. It doesn't abstract over the hasher object to support snark friendly recursion hashes, but this would be only a small change.
  2. Removes Merlin from our dependency graph
  3. Because we removed Merlin we bump the sha3 version to be modern as opposed to the 5 year old current import, and make small interface changes in key.rs and perdersen.rs
  4. Most labels are removed in favor of the increasing index which is hashed into each step.

There is no performance change.