bulletproofs-0.4.0

Bulletproofs.InnerProductProof

Synopsis

# Documentation

Arguments

 :: (AsInteger f, Eq f, Field f) => InnerProductBase Generators Gs, Hs, h -> Point Commitment P = A + xS − zG + (z*y^n + z^2 * 2^n) * hs' of vectors l and r whose inner product is t -> InnerProductWitness f Vectors l and r that hide bit vectors aL and aR, respectively -> InnerProductProof f

Generate proof that a witness l, r satisfies the inner product relation on public input (Gs, Hs, h)

Arguments

 :: (AsInteger f, Field f) => Integer Range upper bound -> InnerProductBase Generators Gs, Hs, h -> Point Commitment P -> InnerProductProof f Proof that a secret committed value lies in a certain interval -> Bool

Optimized non-interactive verifier using multi-exponentiation and batch verification

Constructors

 InnerProductProof FieldslCommits :: [Point]Vector of commitments of the elements in the original vector l whose size is the logarithm of base 2 of the size of vector lrCommits :: [Point]Vector of commitments of the elements in the original vector r whose size is the logarithm of base 2 of the size of vector rl :: fRemaining element of vector l at the end of the recursive algorithm that generates the inner-product proofr :: fRemaining element of vector r at the end of the recursive algorithm that generates the inner-product proof
Instances
 Eq f => Eq (InnerProductProof f) Source # Instance detailsDefined in Bulletproofs.InnerProductProof.Internal Methods Show f => Show (InnerProductProof f) Source # Instance detailsDefined in Bulletproofs.InnerProductProof.Internal MethodsshowList :: [InnerProductProof f] -> ShowS # Source # Instance detailsDefined in Bulletproofs.InnerProductProof.Internal Associated Typestype Rep (InnerProductProof f) :: Type -> Type # Methodsfrom :: InnerProductProof f -> Rep (InnerProductProof f) x #to :: Rep (InnerProductProof f) x -> InnerProductProof f # Source # Instance detailsDefined in Bulletproofs.InnerProductProof.Internal Methodsrnf :: InnerProductProof f -> () # type Rep (InnerProductProof f) Source # Instance detailsDefined in Bulletproofs.InnerProductProof.Internal type Rep (InnerProductProof f) = D1 (MetaData "InnerProductProof" "Bulletproofs.InnerProductProof.Internal" "bulletproofs-0.4.0-BbsVKuGWdW83BsRx9JvgG9" False) (C1 (MetaCons "InnerProductProof" PrefixI True) ((S1 (MetaSel (Just "lCommits") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Point]) :*: S1 (MetaSel (Just "rCommits") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Point])) :*: (S1 (MetaSel (Just "l") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 f) :*: S1 (MetaSel (Just "r") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 f))))

Constructors

 InnerProductBase FieldsbGs :: [Point]Independent generator Gs ∈ G^nbHs :: [Point]Independent generator Hs ∈ G^nbH :: PointInternally fixed group element H ∈ G for which there is no known discrete-log relation among Gs, Hs, bG
Instances
 Source # Instance detailsDefined in Bulletproofs.InnerProductProof.Internal Methods Source # Instance detailsDefined in Bulletproofs.InnerProductProof.Internal MethodsshowList :: [InnerProductBase] -> ShowS #

Constructors

 InnerProductWitness Fieldsls :: [f]Vector of values l that the prover uses to compute lCommits in the recursive inner product algorithmrs :: [f]Vector of values r that the prover uses to compute rCommits in the recursive inner product algorithm
Instances
 Eq f => Eq (InnerProductWitness f) Source # Instance detailsDefined in Bulletproofs.InnerProductProof.Internal Methods Show f => Show (InnerProductWitness f) Source # Instance detailsDefined in Bulletproofs.InnerProductProof.Internal MethodsshowList :: [InnerProductWitness f] -> ShowS #