---
# System prepended metadata

title: Research updates May 31st

---

# Research updates May 31st
## Updates on Spartan-FRI

- Status
    - The basic implementation of the multilinear polynomial commitment scheme based on FRI [is done](https://github.com/DanTehrani/spartan-fri/commit/af2fb79bf26a0ee24b127297b19018e6c0f8e9ed)!
- Learnings
    - It’s still hard to guess without having the full implementation, but I estimate the verification cost per Spartan-FRI proof will be 1~5M gas for a circuit with $2^{13}$ constraints. (For comparison, Semaphore requires 390k gas for on-chain verification).
    - I was initially using Rust and the [ethers](https://crates.io/crates/ethers) crate to run the Solidity contract but [switched to hardhat](https://github.com/DanTehrani/spartan-fri/commit/e702f6bb3641a372bb1ffe8571bb000fe05276dd) for mainly two reasons. One is ethers being less mature than hardhat (ethers is really mature from the perspective of general rust libraries, but I think hardhat’s just more feature rich at this moment). Another reason is hearing Axiom using Typescript for their servers (so probably hardhat to interact with Ethereum). They say it’s a lot easier a hire Typescript backend dev than to hire a Rust dev.
- Random
    - As an L3
        - It’ll be interesting to see how much gas it will require to verify various ZKPs on zkEVMs. If I understand correctly, zkEVMs have different cost functions compared to Ethereum L1, so the cost profile of ZKP verification on zkEVMs could differ from L1.
- Next step
    - Next is to add zero knowledge to the FRI polynomial commitment scheme. And also design/prototype the protocol of the client-server interaction, where the server can batch the proofs sent from clients without learning anything about the private witnesses. There has been recognition of using FRI in various settings and the optimizations/techniques applied in each setting, (STARK, Plonky2, etc) but I don't think there have been thoughts on using FRI for such client-server setup. So I believe we need to come up with our own techniques/optimizations. 
        

## Random

### Cartridge

- Cartridge are building a WebAuthN-based wallet.
- They support Starknet, and the signature verification logic [is written in Cairo](https://github.com/cartridge-gg/cairo-webauthn).
- [Supporting webauthn on Starknet](https://community.starknet.io/t/supporting-webauthn-on-starknet/3910).