symbolic-base-0.1.0.0: ZkFold Symbolic compiler and zero-knowledge proof protocols
Safe HaskellSafe-Inferred
LanguageHaskell2010

ZkFold.Base.Protocol.Plonk

Synopsis

Documentation

data Plonk p i (n :: Natural) l g1 g2 transcript Source #

Constructors

Plonk 

Fields

Instances

Instances details
(NonInteractiveProof (Plonkup p i n l g1 g2 ts) core, SetupProve (Plonkup p i n l g1 g2 ts) ~ PlonkupProverSetup p i n l g1 g2, SetupVerify (Plonkup p i n l g1 g2 ts) ~ PlonkupVerifierSetup p i n l g1 g2, Witness (Plonkup p i n l g1 g2 ts) ~ (PlonkupWitnessInput p i g1, PlonkupProverSecret g1), Input (Plonkup p i n l g1 g2 ts) ~ PlonkupInput l g1, Proof (Plonkup p i n l g1 g2 ts) ~ PlonkupProof g1, KnownNat n, Foldable l, Compressible g1, Pairing g1 g2 gt, Eq gt, Arithmetic (ScalarFieldOf g1), ToTranscript ts Word8, ToTranscript ts (ScalarFieldOf g1), ToTranscript ts (Compressed g1), FromTranscript ts (ScalarFieldOf g1), CoreFunction g1 core) => NonInteractiveProof (Plonk p i n l g1 g2 ts) (core :: k) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Plonk

Associated Types

type Transcript (Plonk p i n l g1 g2 ts) Source #

type SetupProve (Plonk p i n l g1 g2 ts) Source #

type SetupVerify (Plonk p i n l g1 g2 ts) Source #

type Witness (Plonk p i n l g1 g2 ts) Source #

type Input (Plonk p i n l g1 g2 ts) Source #

type Proof (Plonk p i n l g1 g2 ts) Source #

Methods

setupProve :: Plonk p i n l g1 g2 ts -> SetupProve (Plonk p i n l g1 g2 ts) Source #

setupVerify :: Plonk p i n l g1 g2 ts -> SetupVerify (Plonk p i n l g1 g2 ts) Source #

prove :: SetupProve (Plonk p i n l g1 g2 ts) -> Witness (Plonk p i n l g1 g2 ts) -> (Input (Plonk p i n l g1 g2 ts), Proof (Plonk p i n l g1 g2 ts)) Source #

verify :: SetupVerify (Plonk p i n l g1 g2 ts) -> Input (Plonk p i n l g1 g2 ts) -> Proof (Plonk p i n l g1 g2 ts) -> Bool Source #

(Arithmetic (ScalarFieldOf g1), Binary (ScalarFieldOf g1), Binary (Rep p), Binary (Rep i), Ord (Rep i), Arbitrary (Plonkup p i n l g1 g2 t)) => Arbitrary (Plonk p i n l g1 g2 t) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Plonk

Methods

arbitrary :: Gen (Plonk p i n l g1 g2 t) #

shrink :: Plonk p i n l g1 g2 t -> [Plonk p i n l g1 g2 t] #

(Show1 l, Show (Rep i), Show (ScalarFieldOf g1), Ord (Rep i), Show g1, Show g2) => Show (Plonk p i n l g1 g2 t) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Plonk

Methods

showsPrec :: Int -> Plonk p i n l g1 g2 t -> ShowS #

show :: Plonk p i n l g1 g2 t -> String #

showList :: [Plonk p i n l g1 g2 t] -> ShowS #

type Input (Plonk p i n l g1 g2 ts) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Plonk

type Input (Plonk p i n l g1 g2 ts) = PlonkupInput l g1
type Proof (Plonk p i n l g1 g2 ts) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Plonk

type Proof (Plonk p i n l g1 g2 ts) = PlonkupProof g1
type SetupProve (Plonk p i n l g1 g2 ts) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Plonk

type SetupProve (Plonk p i n l g1 g2 ts) = PlonkupProverSetup p i n l g1 g2
type SetupVerify (Plonk p i n l g1 g2 ts) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Plonk

type SetupVerify (Plonk p i n l g1 g2 ts) = PlonkupVerifierSetup p i n l g1 g2
type Transcript (Plonk p i n l g1 g2 ts) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Plonk

type Transcript (Plonk p i n l g1 g2 ts) = ts
type Witness (Plonk p i n l g1 g2 ts) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Plonk

type Witness (Plonk p i n l g1 g2 ts) = (PlonkupWitnessInput p i g1, PlonkupProverSecret g1)