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

Support for Tip5 #187

Open
ameya-deshmukh opened this issue Apr 15, 2023 · 5 comments
Open

Support for Tip5 #187

ameya-deshmukh opened this issue Apr 15, 2023 · 5 comments

Comments

@ameya-deshmukh
Copy link

ameya-deshmukh commented Apr 15, 2023

@irakliyk hi, I am doing research on recursive STARKs and was wondering if support for arithmetization-oriented hash functions which are suitable for recursive verification is possible within Winterfell. I am especially looking at Tip5 and was curious to know the feasibility of adding support in Winterfell for the same. Would be more than happy to take this up as an independent task under your guidance. Thanks!

@ameya-deshmukh ameya-deshmukh changed the title Support for Tip3 Support for Tip5 Apr 15, 2023
@jan-ferdinand
Copy link

@ameya-deshmukh, I like your idea and have taken the liberty to start hacking on it. The PR (#188) is not complete yet, as described in greater detail there. I'm not sure how much additional time I'll spend coding on the PR – feel free to take it as a draft for your own hacking. 😊

@ameya-deshmukh
Copy link
Author

Wow, one of the authors of the paper himself! Glad you liked the idea. I'll be hacking on it independently and would love to compare code across implementations. Are there any specific optimizations etc that you'd like to see added which you may not have the time to implement? Would love to do it

@jan-ferdinand
Copy link

Most of the code I wrote for that PR is adapter code, i.e., getting the reference implementation of Tip5 to fit the requirements of the winterfell codebase. As far as we can tell, the reference implementation of Tip5 is in a pretty good spot right now.1 This does not mean you shouldn't go hunting for speedups if you want to – we welcome contributions to the code base!

Additionally, it's quite possible that the adapter stuff I hacked together for the PR is not optimal. For example, I chose to go with chaining iterators instead of updating mutable slices, without knowing which of the two approaches is faster. Gut feel says that this won't be the bottleneck, but gut feeling is not a very good profiler. 😁

Footnotes

  1. There is one speed improvement that we will incorporate (hopefully) within the upcoming week, but other than that, I currently know of no optimizations that we haven't implemented yet.

@ameya-deshmukh
Copy link
Author

Got it! I actually want to discuss the project I'm working on with you, what's the best channel of communication for that?

@jan-ferdinand
Copy link

I messaged you on an instant messenger. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants