fullcodec_plonk/commitment_scheme.rs
1// This Source Code Form is subject to the terms of the Mozilla Public
2// License, v. 2.0. If a copy of the MPL was not distributed with this
3// file, You can obtain one at http://mozilla.org/MPL/2.0/.
4//
5// Copyright (c) DUSK NETWORK. All rights reserved.
6
7//! Ideally we should cleanly abstract away the polynomial commitment scheme
8//! We note that PLONK makes use of the linearisation technique
9//! conceived in SONIC [Mary Maller].
10//!
11//! This technique implicitly requires the
12//! commitment scheme to be homomorphic. `Merkle Tree like` techniques such as
13//! FRI are not homomorphic and therefore for PLONK to be usable with all
14//! commitment schemes without modification, one would need to remove the
15//! lineariser
16
17mod kzg10;
18
19pub(crate) use kzg10::Commitment;
20
21pub(crate) use kzg10::AggregateProof;
22
23pub use kzg10::{CommitKey, OpeningKey, PublicParameters};