# GKR Seoul stay - PSE ## Goal: See if GKR can be the next big thing and whether it will only be useful to make some protocols better or can actually mean a change in paradigm in the ecosystem. The expected outcome of the stay would be to have answers to the questions & topics below: ## Things to explore: - GKR aggregation perf/complexity - Lev - Soowon(GKR full recursion impl using circom / observed that proof size linear to the recursions) - I think it is because of an overhead of compilation of circom circuit (R1CS) to layered arithmetic circuit. So it can be improved by implementation of native layered arithmetic circuit - Soowon - GKR verification inside of a KZG Proof - reducing the sumcheck verification cost can be beneficial for the proving time for the final wrapper circuit - Possible components to check GKR MVP: - BigInt arithmetic - LogUp Improved with GKR for multi-column lookups - Layer complexity for circuits in GKR - How to merge to intermediate steps? - How to encode a VM trace into a GKR circuit? - Which arithmetisation should we use? CCS, Plonkish, R1CS, AIR? - Alternatives to non-determinism in witness for ZKEVM? - Interaction between circuit layers. Is it needed? - Start from ZKEVM project to see where it can be useful there. - ZKML would benefit from that? - Is the SIMD paradigm the only one that we can extract from GKR? Where else is GKR useful in the design? - Any GKR-ways to improve the state of the art of folding schemes? - Can we map GKR to any real use-case thing (tangible) so that we can see how they solve their biggest counterparts? :::info Please, Feel free to add anything that you think would be interesting to check during the stay in Seoul down below. ::: - Better GKR style polynomial identity between layers. - What about having mult-only GKR layers and compute Grandproduct? - Primitive GKR circuit will depend on VM design - Should we start with EVM or? - Should we try to design a new VM? - Should we try to use another existing VM? - Or generally LLVM? - Or should we try to design an 'algebra'-friendly VM? - What should be the instructions for the benchmark? - How much GPU acceleration can improve MSM? - LogUp's fractional circuit idea can be used for GKR circuit for ML # Application ideas See note for details https://hackmd.io/uF9thzLvR-qGDWuDEAAMFA?both: - sha256 with lookups - keccak with lookups - floating point with lookups - DSL for "static computation" with focus on lookups - RISC-U implementation using Lasso + halo2 based Jolt design - WIP Lasso + hyperplonk: https://github.com/DoHoonKim8/plonkish - WIP RISC-U with Lasso simulation: https://github.com/ed255/riscu-jolt - Design of a CPU circuit with co-processors / extensions with lookups