Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data IVCProof f i m c d k = IVCProof {
- ivcpAccumulatorInstance :: AccumulatorInstance f i c k
- ivcpAccumulationProof :: Vector (d - 1) c
- noIVCProof :: forall f i m c d k a. (Representable i, m ~ [f], HomomorphicCommit m c, KnownNat (d - 1), KnownNat (k - 1), KnownNat k, AlgebraicMap f i d a) => FiatShamir (CommitOpen a) -> IVCProof f i m c d k
- data IVCResult f i m c d k = IVCResult {
- ivcInstance :: i f
- ivcCommits :: Vector k c
- ivcAccumulator :: Accumulator f i m c k
- ivcProof :: IVCProof f i m c d k
- ivcInitialize :: forall f i m c (d :: Natural) k a. (Representable i, m ~ [f], HomomorphicCommit m c, KnownNat (d - 1), KnownNat (k - 1), KnownNat k, AlgebraicMap f i d a) => FiatShamir (CommitOpen a) -> i f -> IVCResult f i m c d k
- ivcIterate :: forall f i p m c (d :: Natural) k a. (SpecialSoundProtocol f i p m c d k a, Ring f, HomomorphicCommit m c, RandomOracle (i f) f, RandomOracle c f, KnownNat k, AccumulatorScheme f i m c d k (FiatShamir (CommitOpen a))) => FiatShamir (CommitOpen a) -> IVCResult f i m c d k -> p f -> IVCResult f i m c d k
- ivcVerify :: forall f i m c d k a. AccumulatorScheme f i m c d k a => a -> IVCResult f i m c d k -> ((f, i f, Vector (k - 1) f, Vector k c, c), (Vector k c, c))
Documentation
data IVCProof f i m c d k Source #
IVCProof | |
|
Instances
Generic (IVCProof f i m c d k2) Source # | |
(Show f, Show (i f), Show m, Show c) => Show (IVCProof f i m c d k) Source # | |
(NFData f, NFData (i f), NFData m, NFData c) => NFData (IVCProof f i m c d k) Source # | |
Defined in ZkFold.Base.Protocol.Protostar.IVC | |
type Rep (IVCProof f i m c d k2) Source # | |
Defined in ZkFold.Base.Protocol.Protostar.IVC type Rep (IVCProof f i m c d k2) = D1 ('MetaData "IVCProof" "ZkFold.Base.Protocol.Protostar.IVC" "symbolic-base-0.1.0.0-inplace" 'False) (C1 ('MetaCons "IVCProof" 'PrefixI 'True) (S1 ('MetaSel ('Just "ivcpAccumulatorInstance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AccumulatorInstance f i c k2)) :*: S1 ('MetaSel ('Just "ivcpAccumulationProof") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector (d - 1) c)))) |
noIVCProof :: forall f i m c d k a. (Representable i, m ~ [f], HomomorphicCommit m c, KnownNat (d - 1), KnownNat (k - 1), KnownNat k, AlgebraicMap f i d a) => FiatShamir (CommitOpen a) -> IVCProof f i m c d k Source #
data IVCResult f i m c d k Source #
The final result of recursion and the final accumulator. Accumulation decider is an arithmetizable function which can be called on the final accumulator.
IVCResult | |
|
Instances
Generic (IVCResult f i m c d k) Source # | |
(Show f, Show (i f), Show m, Show c) => Show (IVCResult f i m c d k) Source # | |
(NFData f, NFData (i f), NFData m, NFData c) => NFData (IVCResult f i m c d k) Source # | |
Defined in ZkFold.Base.Protocol.Protostar.IVC | |
type Rep (IVCResult f i m c d k) Source # | |
Defined in ZkFold.Base.Protocol.Protostar.IVC type Rep (IVCResult f i m c d k) = D1 ('MetaData "IVCResult" "ZkFold.Base.Protocol.Protostar.IVC" "symbolic-base-0.1.0.0-inplace" 'False) (C1 ('MetaCons "IVCResult" 'PrefixI 'True) ((S1 ('MetaSel ('Just "ivcInstance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (i f)) :*: S1 ('MetaSel ('Just "ivcCommits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector k c))) :*: (S1 ('MetaSel ('Just "ivcAccumulator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Accumulator f i m c k)) :*: S1 ('MetaSel ('Just "ivcProof") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IVCProof f i m c d k))))) |
ivcInitialize :: forall f i m c (d :: Natural) k a. (Representable i, m ~ [f], HomomorphicCommit m c, KnownNat (d - 1), KnownNat (k - 1), KnownNat k, AlgebraicMap f i d a) => FiatShamir (CommitOpen a) -> i f -> IVCResult f i m c d k Source #
ivcIterate :: forall f i p m c (d :: Natural) k a. (SpecialSoundProtocol f i p m c d k a, Ring f, HomomorphicCommit m c, RandomOracle (i f) f, RandomOracle c f, KnownNat k, AccumulatorScheme f i m c d k (FiatShamir (CommitOpen a))) => FiatShamir (CommitOpen a) -> IVCResult f i m c d k -> p f -> IVCResult f i m c d k Source #