Skip to content

[PlonK] Optimize PlonK setup and prover with O(n log n) FFT / coset NTT polynomial evaluations #38

Description

@satran004

Background & Objective

In PlonKSetupBLS381.java and PlonKProverBLS381.java, polynomial evaluations and coset evaluations currently use quadratic loops in certain hotspots (cosetEval, evalOmegaPow).

This $O(n^2)$ behavior throttles PlonK proving for larger circuit sizes ($n > 2^{14}$).

Scope & Tasks

  • Replace naive evaluation loops with radix-2 Fast Fourier Transforms (FFT / IFFT) and coset NTTs over the BLS12-381 scalar field.
  • Implement fast domain evaluation structures for powers of roots of unity.
  • Validate polynomial arithmetic against existing PlonK test vectors.
  • Benchmark setup and prover throughput on larger PlonK circuits.

Risk Classification

  • R1: Proof system performance & algorithmic scalability.
  • Reference: docs/zeroj-comprehensive-review-and-readiness-gemini.md (Section 5.2).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions