SPP2: ZK Email Application

Q3 Progress Update

Hey everyone!

Following the completion of the basic scope, this quarter, we focused on laying the groundwork for supporting additional verifiable platforms in a more generic and extensible way and improving proving performance. Here’s a brief update on our progress in Q3.

Q3 Highlights


1. Local Proof Generation Performance Optimization

We focused heavily on optimizing client-side proof generation performance. As part of this work, we:

  • Introduced a benchmarking page for measuring proof generation times (https://ens.zk.email/benchmark)

  • Executed benchmarks across multiple desktop machines

  • Identified and optimized bottlenecks in the proving pipeline

As a result, we achieved average proof generation times under 1 minute on desktop.

m2-max:

m4-max:

Status: Completed

KPI Impact: Proof generation time < 1 minute achieved

2. Verifiable Platform Expansion

As part of our effort to support additional verifiable platforms, we reworked the underlying flow and added Discord verifiable profiles to the contracts, allowing ENS owners to link Discord accounts to their ENS names using ZK proofs. Discord serves as the first additional platform implemented under this more generalized verification framework.

Status: Contracts are live on Sepolia

3. Browser Proving Limitations & Server-Side Noir Proving

Unfortunately, browser-based local proving isn’t yet feasible for all email types because WebAssembly’s memory limitations restrict it. We encountered this issue specifically with Discord emails, making local proving unfeasible in those cases.

To address this, we have begun developing server-side Noir proving. Beyond solving the memory constraint, this approach also offers noticeably faster proving times, resulting in a smoother and more consistent user experience across different devices.

Status: in progress

2 Likes