Skip to content

Verify a batch of KZG proofs #201

Description

@roynalnaruto

At the moment, the batch circuit's blob consistency module exposes functionality to verify a single KZG proof via the verify_kzg_proof method.

We would like to add functionality to verify a batch of KZG proofs:

/// Request to verify a single KZG proof
struct VerifyKzg {
    /// random point of evaluation
    z: Scalar,
    /// evaluation of the blob polynomial evaluated at `z`
    y: Scalar,
    /// KZG commitment
    commitment: G1Affine,
    /// KZG proof
    proof: G1Affine,
}

/// Alias for request to verify a batch of KZG proofs
type BatchVerifyKzg = Vec<VerifyKzg>;

/// Verify a batch of KZG proofs
pub fn verify_kzg_proof_batch(input: &BatchVerifyKzg) -> bool {
    // refer: https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/polynomial-commitments.md#verify_kzg_proof_batch
    todo!()
}

The verify_kzg_proof_batch should implement deneb specs as per verify_kzg_proof_batch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions