package octez-plonk

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Aggregation.Main_protocolSource

Sourcemodule SMap = Plonk.SMap
Sourcemodule type S = sig ... end
Sourcemodule Make (PP : Polynomial_protocol.S) : S with module PP = PP and type public_inputs = Plonk.Bls.Scalar.t array list
include sig ... end
Sourcemodule PP : sig ... end
Sourceexception Rest_not_null of string
Sourceexception Entry_not_in_table of string
Sourcemodule Input_commitment : sig ... end
Sourcetype scalar = Plonk.Bls.Scalar.t
Sourceval scalar_t : scalar Repr.t
Sourceval scalar_encoding : scalar Data_encoding.t
Sourcetype circuit_map = (Plonk.Circuit.t * int) Plonk.SMap.t
Sourceval prover_public_parameters_t : prover_public_parameters Repr.t
Sourceval verifier_public_parameters_t : verifier_public_parameters Repr.t
Sourceval verifier_public_parameters_encoding : verifier_public_parameters Data_encoding.t
Sourceval proof_t : proof Repr.t
Sourceval proof_encoding : proof Data_encoding.t
Sourcetype circuit_prover_input = Make(Polynomial_protocol).circuit_prover_input = {
  1. witness : scalar array;
  2. input_commitments : Input_commitment.t list;
}
Sourceval circuit_prover_input_t : circuit_prover_input Repr.t
Sourcetype prover_inputs = circuit_prover_input list Plonk.SMap.t
Sourceval prover_inputs_t : prover_inputs Repr.t
Sourcetype public_inputs = Plonk.Bls.Scalar.t array list
Sourceval public_inputs_t : public_inputs Repr.t
Sourcetype verifier_inputs = (public_inputs * Input_commitment.public list list) Plonk.SMap.t
Sourceval verifier_inputs_t : verifier_inputs Repr.t
Sourceval input_commit : ?size:int -> ?shift:int -> prover_public_parameters -> scalar array -> Input_commitment.t
Sourceval update_prover_public_parameters : Bytes.t -> prover_public_parameters -> prover_public_parameters
Sourceval update_verifier_public_parameters : Bytes.t -> verifier_public_parameters -> verifier_public_parameters
Sourceval verify : verifier_public_parameters -> inputs:verifier_inputs -> proof -> bool
Sourcemodule Internal_for_tests : sig ... end
Sourcemodule Gates : sig ... end
Sourcemodule Perm : sig ... end
Sourceval get_gen_n_prover : prover_public_parameters -> scalar * int

Returns (g, n), where n is the size of the circuit padded to the next power of two & g is a primitive n-th root of unity

Sourceval get_gen_n_verifier : verifier_public_parameters -> scalar * int

Returns (g, n), where n is the size of the circuit padded to the next power of two & g is a primitive n-th root of unity

Sourceval filter_prv_pp_circuits : prover_public_parameters -> 'a SMap.t -> prover_public_parameters
Sourcetype prover_aux = Make(Polynomial_protocol).prover_aux = {
  1. answers : scalar SMap.t SMap.t list;
  2. batch : scalar SMap.t list;
  3. alpha : scalar;
  4. beta : scalar;
  5. gamma : scalar;
  6. delta : scalar;
  7. x : scalar;
  8. r : scalar;
  9. cms_answers : PP.Answers_commitment.t SMap.t;
  10. cms_pi : PP.Answers_commitment.t SMap.t;
  11. ids_batch : (scalar * int) SMap.t;
  12. t_answers : scalar list;
}

Auxiliary information needed by the prover for the meta-verification in aPlonK

Sourcetype verifier_aux = Make(Polynomial_protocol).verifier_aux = {
  1. alpha : scalar;
  2. beta : scalar;
  3. gamma : scalar;
  4. delta : scalar;
  5. x : scalar;
  6. r : scalar;
}

Auxiliary information needed by the verifier for the meta-verification in aPlonK

Sourcetype input_commit_info = Make(Polynomial_protocol).input_commit_info = {
  1. nb_max_answers : int;
  2. nb_max_pi : int;
  3. func : ?size:int -> ?shift:int -> scalar array -> PP.Answers_commitment.t;
}
Sourceval prove_list : prover_public_parameters -> input_commit_infos:input_commit_info SMap.t -> inputs:prover_inputs -> proof * prover_aux
OCaml

Innovation. Community. Security.