ouroboros-consensus-protocol-0.9.0.0: Cardano consensus protocols
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Consensus.Protocol.Praos.VRF

Description

Synopsis

Documentation

data InputVRF Source #

Input to the verifiable random function. Consists of the hash of the slot and the epoch nonce.

Instances

Instances details
Generic InputVRF Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.VRF

Associated Types

type Rep InputVRFTypeType #

Methods

fromInputVRFRep InputVRF x #

toRep InputVRF x → InputVRF #

Show InputVRF Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.VRF

Methods

showsPrecIntInputVRFShowS #

showInputVRFString #

showList ∷ [InputVRF] → ShowS #

ToCBOR InputVRF Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.VRF

Methods

toCBORInputVRFEncoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy InputVRFSize Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [InputVRF] → Size Source #

SignableRepresentation InputVRF Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.VRF

Eq InputVRF Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.VRF

Methods

(==)InputVRFInputVRFBool #

(/=)InputVRFInputVRFBool #

Ord InputVRF Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.VRF

NoThunks InputVRF Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.VRF

type Rep InputVRF Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.VRF

type Rep InputVRF = D1 ('MetaData "InputVRF" "Ouroboros.Consensus.Protocol.Praos.VRF" "ouroboros-consensus-protocol-0.9.0.0-inplace" 'True) (C1 ('MetaCons "InputVRF" 'PrefixI 'True) (S1 ('MetaSel ('Just "unInputVRF") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Hash Blake2b_256 InputVRF))))

data VRFUsage Source #

Indicate the usage of the VRF result.

Constructors

VRFLeader

The VRF value will be used to establish whether the issuing node is indeed a leader for this slot.

VRFNonce

The VRF value will be used to contribute to the evolving nonce.

mkInputVRF Source #

Arguments

SlotNo 
Nonce

Epoch nonce

InputVRF 

Construct a unified VRF value

vrfLeaderValue ∷ ∀ c proxy. Crypto c ⇒ proxy c → CertifiedVRF (VRF c) InputVRFBoundedNatural Source #

Range-extend a VRF output to be used for leader checks from the relevant hash. See section 4.1 of the linked paper for details.

vrfNonceValue ∷ ∀ c proxy. Crypto c ⇒ proxy c → CertifiedVRF (VRF c) InputVRFNonce Source #

Range-extend a VRF output to be used for the evolving nonce. See section 4.1 of the linked paper for details.