Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write recursive verifier #7

Closed
4 of 12 tasks
jan-ferdinand opened this issue Aug 8, 2022 · 2 comments
Closed
4 of 12 tasks

Write recursive verifier #7

jan-ferdinand opened this issue Aug 8, 2022 · 2 comments
Assignees
Labels
✨ enhancement Improvement or new feature 🧑‍🤝‍🧑 help wanted Need some help 🔴 prio: high Pretty urgent

Comments

@jan-ferdinand
Copy link
Member

jan-ferdinand commented Aug 8, 2022

Write the recursive verifier. The checklist below is probably incomplete and in some places too coarse-grained. It will be updated and broken up into additional issues as subtasks become clearer.

Triton Assembly Verifier

sample weights

input: seed, num_weights

list_of_weights = []
for i in {0, …, num_weights-1}:
    digest = xlix(seed, i)
    weight = XFieldElement(digest)
    list_of_weights += [weight]
return list_of_weights

sample indices

See document on index sampling.

Revealed indices

For the recursive verifier, we need to do something different with revealed indices: We currently sort and deduplicate, which is going to be expensive/hard when coding this in TVM.

(Originally issue number 24 in the internal issue tracker.)

@jan-ferdinand
Copy link
Member Author

Instead of translating our current rust verifier into Triton assembly in one straight go, it might be worth considering to do an intermediate step. For example:

  • Write a standard library for Triton VM, exposing commonly used data structures and functionalities.
  • Write a stand-alone, no_std Triton rust verifier.

@jan-ferdinand
Copy link
Member Author

Tasm-lib now has a recursive verifier. One of the next steps is to bring it into Triton VM. In any case, this issue is superseded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ enhancement Improvement or new feature 🧑‍🤝‍🧑 help wanted Need some help 🔴 prio: high Pretty urgent
Projects
Status: Done
Development

No branches or pull requests

1 participant