package tezos-plonk
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Plonk zero-knowledge proving system
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      privacy-team-v1.0.0.tar.gz
    
    
        
    
  
  
  
    
  
  
    
  
        md5=c9007a234fbacaddbc652c139cac56db
    
    
  sha512=b67825a9259c27ccba51a4cb98056985c93f74f5211d422ce8ee8c35cda748c22bd1e59b3a584a79f96c1be21a409a12ee4b705346e1319c6d8bf45e81029f93
    
    
  doc/tezos-plonk.distribution/Distribution/Main_protocol/Make/index.html
Module Main_protocol.MakeSource
Parameters
module PP : Polynomial_protocol.S with type PC.BasePC.Scalar.t = Plompiler.S.tSignature
module MP : sig ... endinclude module type of MP with module PP := PP
module Scalar : sig ... endmodule Domain : sig ... endmodule Poly : sig ... endmodule Evaluations : sig ... endmodule Perm : sig ... endmodule Plook : sig ... endmodule Gates : sig ... endmodule Fr_generation : sig ... endmodule SMap = Plonk.SMaptype scalar = Scalar.ttype circuit_map = (Plonk.Circuit.t * int) SMap.ttype proof = {- perm_and_plook : PP.PC.Commitment.t;
- wires_cm : PP.PC.Commitment.t;
- pp_proof : PP.proof;
}val circuit_prover_input_t : circuit_prover_input Repr.ttype prover_inputs = circuit_prover_input list SMap.tval prover_inputs_t : circuit_prover_input list SMap.t Repr.tytype circuit_verifier_input = scalar array listtype verifier_inputs = circuit_verifier_input SMap.tval to_verifier_inputs : 
  circuit_prover_input list SMap.t ->
  scalar array list SMap.tmodule IntSet : sig ... endmodule IntMap : sig ... endmodule Partition : sig ... endval check_circuit_name : 'a SMap.t -> unitval eval_points : bool -> bool -> PP.eval_point list listmodule Prover : sig ... endmodule Verifier : sig ... endtype verifier_public_parameters = {- common_pp : Verifier.verifier_common_pp;
- circuits_map : Verifier.verifier_circuit_pp SMap.t;
- transcript : PP.transcript;
}val verifier_public_parameters_t : verifier_public_parameters Repr.tval degree_evaluations : 
  nb_wires:int ->
  gates:'a Plonk.SMap.t ->
  ultra:bool ->
  intmodule Preprocess : sig ... endval setup : 
  zero_knowledge:bool ->
  (Plonk.Circuit.t * int) SMap.t ->
  srs:(Bls12_381_polynomial.Srs.t * Bls12_381_polynomial.Srs.t) ->
  Prover.prover_public_parameters * verifier_public_parametersval update_prover_public_parameters : 
  bytes ->
  Prover.prover_public_parameters ->
  Prover.prover_public_parametersval update_verifier_public_parameters : 
  bytes ->
  verifier_public_parameters ->
  verifier_public_parametersval prove : 
  Prover.prover_public_parameters ->
  inputs:circuit_prover_input list SMap.t ->
  proofval verify : 
  verifier_public_parameters ->
  inputs:Gates.PP.PC.Scalar.t array list SMap.t ->
  proof ->
  boolval scalar_encoding : Scalar.t Data_encoding.encodingval data_encoding_of_repr : 'a Repr.t -> 'a Data_encoding.encodingval proof_encoding : proof Data_encoding.encodingval verifier_public_parameters_encoding : 
  verifier_public_parameters Data_encoding.encodingmodule Internal_for_tests : sig ... endmodule Commitment : sig ... endinclude module type of struct include Prover end
type prover_common_pp = {- n : int;
- domain : Domain.t;
- pp_public_parameters : PP.prover_public_parameters;
- g_map : PP.PC.Polynomial.Polynomial.t SMap.t;
- g_prover_aux : PP.PC.Commitment.prover_aux;
- evaluations : Evaluations.t SMap.t;
- zk : bool;
- nb_of_t_chunks : int;
}val prover_common_pp_t : prover_common_pp Repr.tval get_generator : prover_common_pp -> Domain.scalarval prover_circuit_pp_t : prover_circuit_pp Repr.tval compute_wire_polynomials : 
  zero_knowledge:bool ->
  gates:'a Plonk.SMap.t ->
  int ->
  Evaluations.domain ->
  PP.PC.Scalar.t array SMap.t ->
  Poly.t SMap.t * Poly.t SMap.t optiontype wires_info = {- wires : Scalar.t array SMap.t;
- f_wires_map : Evaluations.polynomial SMap.t;
- f_blinds_map : Evaluations.polynomial SMap.t option;
- wires_values : Scalar.t array;
- wires_indices : int array SMap.t;
}val build_wires_map : 
  zero_knowledge:bool ->
  prover_common_pp ->
  prover_circuit_pp SMap.t ->
  SMap.key ->
  circuit_prover_input list ->
  Poly.t SMap.t list * wires_info listval build_all_f_wires_map : 
  zero_knowledge:bool ->
  prover_common_pp ->
  prover_circuit_pp SMap.t ->
  circuit_prover_input list SMap.t ->
  Poly.t SMap.t list SMap.t * wires_info list SMap.tval build_aggregated_wires_map : 
  zero_knowledge:bool ->
  Poly.scalar ->
  prover_common_pp ->
  prover_circuit_pp SMap.t ->
  wires_info list SMap.t ->
  SMap.key ->
  Evaluations.t ->
  Poly.t SMap.tval build_all_aggregated_wires_map : 
  zero_knowledge:bool ->
  Poly.scalar ->
  prover_common_pp ->
  prover_circuit_pp SMap.t ->
  Poly.t SMap.t list SMap.t ->
  wires_info list SMap.t ->
  Evaluations.t SMap.t ->
  Poly.t SMap.t SMap.tval build_all_identities : 
  prover_common_pp ->
  ?shifts_map:(int * int) SMap.t ->
  Plook.PP.PC.Scalar.t ->
  Plook.PP.PC.Scalar.t ->
  prover_circuit_pp SMap.t ->
  circuit_prover_input list SMap.t ->
  Plook.PP.PC.Polynomial.Polynomial.t Plonk.SMap.t Plonk.List.t SMap.t ->
  PP.prover_identitiesval build_perm_identities : 
  prover_common_pp ->
  Perm.PP.PC.Scalar.t ->
  Perm.PP.PC.Scalar.t ->
  Perm.PP.PC.Scalar.t ->
  string ->
  prover_circuit_pp ->
  Perm.PP.prover_identitiesval build_all_perm_identities : 
  prover_common_pp ->
  Perm.PP.PC.Scalar.t ->
  Perm.PP.PC.Scalar.t ->
  prover_circuit_pp SMap.t ->
  PP.prover_identitiesval build_batched_witness : PP.PC.Scalar.t -> wires_info list -> Evaluations.tval build_f_map_evaluation_perm : 
  zero_knowledge:bool ->
  prover_common_pp ->
  PP.PC.Scalar.t ->
  Perm.PP.PC.Scalar.t ->
  Perm.PP.PC.Scalar.t ->
  prover_circuit_pp SMap.t ->
  SMap.key ->
  wires_info list ->
  Poly.t SMap.t * Evaluations.tval build_all_f_map_evaluation_perm : 
  zero_knowledge:bool ->
  prover_common_pp ->
  PP.PC.Scalar.t ->
  Perm.PP.PC.Scalar.t ->
  Perm.PP.PC.Scalar.t ->
  prover_circuit_pp SMap.t ->
  wires_info list SMap.t ->
  (Poly.t SMap.t * Evaluations.t) SMap.tval build_f_map_evaluation_plook : 
  zero_knowledge:bool ->
  prover_common_pp ->
  Plook.PP.PC.Scalar.t ->
  Plook.PP.PC.Scalar.t ->
  prover_circuit_pp SMap.t ->
  SMap.key ->
  wires_info list ->
  Poly.t SMap.t listval build_all_f_map_evaluation_plook : 
  zero_knowledge:bool ->
  prover_common_pp ->
  Plook.PP.PC.Scalar.t ->
  Plook.PP.PC.Scalar.t ->
  prover_circuit_pp SMap.t ->
  wires_info list SMap.t ->
  Poly.t SMap.t list SMap.tval gather_maps : 
  ?shifts_map:(int * int) SMap.t ->
  'a Stdlib__Map.Make(String).t Plonk.List.t SMap.t ->
  'a SMap.tval commit_to_wires : 
  ?shifts_map:(int * int) SMap.t ->
  zero_knowledge:bool ->
  common_pp:prover_common_pp ->
  circuits_map:prover_circuit_pp SMap.t ->
  inputs_map:circuit_prover_input list SMap.t ->
  unit ->
  wires_info list SMap.t
  * PP.PC.Commitment.t
  * PP.PC.Commitment.prover_aux
  * Poly.t SMap.t list SMap.t
  * Poly.t SMap.tval build_evaluations : 
  (prover_common_pp * prover_circuit_pp SMap.t) ->
  f_map:PP.Evaluations.polynomial Plonk.SMap.t ->
  Evaluations.t SMap.tval build_identities : 
  ?shifts_map:(int * int) SMap.t ->
  (prover_common_pp * prover_circuit_pp SMap.t) ->
  f_wires_map_list_map:
    Plook.PP.PC.Polynomial.Polynomial.t Plonk.SMap.t Plonk.List.t SMap.t ->
  f_plook_map_list_map:
    Plook.PP.PC.Polynomial.Polynomial.t Plonk.SMap.t Plonk.List.t SMap.t ->
  inputs_map:circuit_prover_input list SMap.t ->
  beta_plookup:Plook.PP.PC.Scalar.t ->
  gamma_plookup:Plook.PP.PC.Scalar.t ->
  PP.prover_identitiesval prove_circuits : 
  pp_prove:
    (PP.prover_public_parameters ->
      bytes ->
      n:int ->
      generator:Domain.scalar ->
      secrets:
        (PP.PC.Polynomial.Polynomial.t SMap.t * PP.PC.Commitment.prover_aux)
          list ->
      eval_points:PP.eval_point list list ->
      evaluations:Evaluations.t SMap.t ->
      identities:PP.prover_identities ->
      nb_of_t_chunks:int ->
      'a * 'b) ->
  ((prover_common_pp * prover_circuit_pp SMap.t) * bytes) ->
  inputs_map:circuit_prover_input list SMap.t ->
  'a
  * (PP.PC.Commitment.t
     * PP.PC.Commitment.t
     * Fr_generation.scalar
     * Fr_generation.scalar
     * Fr_generation.scalar)type prover_public_parameters = {- common_pp : prover_common_pp;
- circuits_map : prover_circuit_pp SMap.t;
- transcript : PP.transcript;
}val prover_public_parameters_t : prover_public_parameters Repr.tSource
val split_inputs_map : 
  nb_workers:int ->
  circuit_prover_input list SMap.t ->
  worker_inputs SMap.t listSource
type commit_to_plook_reply = {- batched_witness_map : Evaluations.t SMap.t;
- cmt_plookup : Commitment.t;
- f_plook_map : PP.PC.Polynomial.Polynomial.t SMap.t;
- plook_prover_aux : Commitment.prover_aux;
}Source
type commit_to_plook_remember = {- f_wires_map_list_map : PP.Evaluations.polynomial SMap.t list SMap.t;
- f_plook_map_list_map : PP.Evaluations.polynomial SMap.t list SMap.t;
- beta_plookup : scalar;
- gamma_plookup : scalar;
}Source
type commit_to_wires_remember = {- f_wires_map : PP.Evaluations.polynomial SMap.t;
- wires_map : wires_info list SMap.t;
- inputs_map : circuit_prover_input list SMap.t;
- shifts_map : (int * int) SMap.t;
- srs : PP.prover_public_parameters;
- f_wires_map_list_map : PP.Evaluations.polynomial SMap.t list SMap.t;
- wires_prover_aux : PP.PC.Commitment.prover_aux;
}Source
val worker_commit_to_wires : 
  ?zero_knowledge:bool ->
  (prover_common_pp * prover_circuit_pp SMap.t) ->
  worker_inputs SMap.t ->
  PP.PC.Commitment.t * commit_to_wires_rememberSource
val worker_build_all_batched_witness : 
  PP.PC.Scalar.t ->
  wires_info list SMap.t ->
  Evaluations.t SMap.tSource
val commit_to_plook : 
  ?zero_knowledge:bool ->
  (prover_common_pp * prover_circuit_pp SMap.t) ->
  wires_info list SMap.t ->
  (int * int) SMap.t ->
  PP.PC.BasePC.Public_parameters.prover ->
  Bytes.t ->
  PP.Evaluations.polynomial SMap.t list SMap.t ->
  commit_to_plook_reply * commit_to_plook_rememberSource
val batch_evaluated_ids : 
  alpha:Scalar.t ->
  Evaluations.t SMap.t ->
  string list ->
  Evaluations.tSource
val main_build_aggregated_wires_map : 
  zero_knowledge:bool ->
  prover_common_pp ->
  prover_circuit_pp SMap.t ->
  SMap.key ->
  Evaluations.t ->
  Poly.t SMap.tSource
val worker_build_evaluations : 
  (prover_common_pp * prover_circuit_pp SMap.t) ->
  f_wires_map:PP.Evaluations.polynomial SMap.t ->
  f_plook_map:PP.Evaluations.polynomial SMap.t ->
  Evaluations.t SMap.tSource
val worker_build_identities : 
  shifts_map:(int * int) SMap.t ->
  (prover_common_pp * prover_circuit_pp SMap.t) ->
  f_wires_map_list_map:
    Plook.PP.PC.Polynomial.Polynomial.t Plonk.SMap.t Plonk.List.t SMap.t ->
  f_plook_map_list_map:
    Plook.PP.PC.Polynomial.Polynomial.t Plonk.SMap.t Plonk.List.t SMap.t ->
  inputs_map:circuit_prover_input list SMap.t ->
  beta_plookup:Plook.PP.PC.Scalar.t ->
  gamma_plookup:Plook.PP.PC.Scalar.t ->
  PP.prover_identitiesSource
val kzg_eval_at_x : 
  Bytes.t ->
  (PP.PC.secret * 'a) list ->
  PP.PC.Scalar.t ->
  bool ->
  PP.PC.answer list sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page