Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type SpecialSoundTranscript t a = [(ProverMessage t a, VerifierMessage t a)]
- class SpecialSoundProtocol f a where
- type Witness f a
- type Input f a
- type ProverMessage f a
- type VerifierMessage f a
- type VerifierOutput f a
- type Degree a :: Natural
- outputLength :: a -> Natural
- rounds :: a -> Natural
- prover :: a -> Witness f a -> Input f a -> SpecialSoundTranscript f a -> ProverMessage f a
- verifier :: a -> Input f a -> [ProverMessage f a] -> [f] -> VerifierOutput f a
- class AlgebraicMap f a where
- type MapInput f a
- type MapMessage f a
- algebraicMap :: a -> MapInput f a -> [MapMessage f a] -> [f] -> f -> [f]
Documentation
type SpecialSoundTranscript t a = [(ProverMessage t a, VerifierMessage t a)] Source #
class SpecialSoundProtocol f a where Source #
type ProverMessage f a Source #
type VerifierMessage f a Source #
type VerifierOutput f a Source #
type Degree a :: Natural Source #
d in the paper, the verifier degree
outputLength :: a -> Natural Source #
l in the paper, the number of algebraic equations checked by the verifier
rounds :: a -> Natural Source #
k in the paper
prover :: a -> Witness f a -> Input f a -> SpecialSoundTranscript f a -> ProverMessage f a Source #
verifier :: a -> Input f a -> [ProverMessage f a] -> [f] -> VerifierOutput f a Source #
Instances
class AlgebraicMap f a where Source #
Algebraic map is a much more versatile and powerful tool when used separatey from SpecialSoundProtocol.
It calculates a system of equations [f]
defining a
in some way.
If f
is a number or a field element, then the result is a vector of polynomial values.
However, f
can be a polynomial, in which case the result will be a system of polynomials.
This polymorphism is exploited in the AccumulatorScheme prover.
:: a | |
-> MapInput f a | public input |
-> [MapMessage f a] | NARK proof witness (the list of prover messages) |
-> [f] | Verifier random challenges |
-> f | Slack variable for padding |
-> [f] |
the algebraic map V_sps computed by the verifier.