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

ZkFold.Base.Protocol.Plonkup.Internal

Documentation

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

Constructors

Plonkup 

Instances

Instances details
(KnownNat n, Representable p, Representable i, Representable l, Foldable l, Ord (Rep i), Pairing g1 g2 gt, Compressible Bool g1, Eq gt, Arithmetic (ScalarFieldOf g1), Binary (ScalarFieldOf g2), ToTranscript ts Word8, ToTranscript ts (ScalarFieldOf g1), ToTranscript ts (Compressed g1), FromTranscript ts (ScalarFieldOf g1), CoreFunction g1 core) => NonInteractiveProof (Plonkup p i n l g1 g2 ts) (core :: k) Source #

Based on the paper https://eprint.iacr.org/2022/086.pdf

Instance details

Defined in ZkFold.Base.Protocol.Plonkup

Associated Types

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

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

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

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

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

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

Methods

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

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

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

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

(KnownNat n, Arithmetic (ScalarFieldOf g1), Arbitrary (ScalarFieldOf g1), Arbitrary (ArithmeticCircuit (ScalarFieldOf g1) p i l)) => Arbitrary (Plonkup p i n l g1 g2 t) Source # 
Instance details

Defined in ZkFold.Base.Protocol.Plonkup.Internal

Methods

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

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

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

Defined in ZkFold.Base.Protocol.Plonkup.Internal

Methods

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

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

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

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

Defined in ZkFold.Base.Protocol.Plonkup

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

Defined in ZkFold.Base.Protocol.Plonkup

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

Defined in ZkFold.Base.Protocol.Plonkup

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

Defined in ZkFold.Base.Protocol.Plonkup

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

Defined in ZkFold.Base.Protocol.Plonkup

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

Defined in ZkFold.Base.Protocol.Plonkup

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

with4n6 :: forall n {r}. KnownNat n => (KnownNat ((4 * n) + 6) => r) -> r Source #