Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
The stake distribution, aggregated by stake pool (as opposed to stake credential), plays a primary role in Cardano's proof of stake network. Together with the VRF checks, the stake distribution determines leader election. The leader election is the precisely the part of the ledger that is determined by Ouroboros (Praos and Genesis), our consensus mechanism. See Section 16, "Leader Value Calculation", of the formal specification.
Synopsis
Documentation
data IndividualPoolStake Source #
The IndividualPoolStake
contains all the stake controlled
by a single stake pool (the combination of owners and delegates)
for a given epoch, and also the hash of the stake pool's
registered VRF key.
When a stake pool produces a block, the header contains the
full VRF verification key and VRF value for leader election.
We check the VRF key against the value in IndividualPoolStake
and we check the VRF value using the epoch nonce and
the relative stake of the pool as given in IndividualPoolStake
.
The stake is relative to the total amount of active stake
in the network. Stake is active if it is both registered and
delegated to a registered stake pool.
IndividualPoolStake | |
|
Instances
A map of stake pool IDs (the hash of the stake pool operator's
verification key) to IndividualPoolStake
. Also holds absolute values
necessary for the calculations in the computeDRepDistr
.
PoolDistr | |
|
Instances
ToJSON PoolDistr Source # | |
Generic PoolDistr Source # | |
Show PoolDistr Source # | |
DecCBOR PoolDistr Source # | |
EncCBOR PoolDistr Source # | |
NFData PoolDistr Source # | |
Defined in Cardano.Ledger.PoolDistr | |
Eq PoolDistr Source # | |
NoThunks PoolDistr Source # | |
type Rep PoolDistr Source # | |
Defined in Cardano.Ledger.PoolDistr type Rep PoolDistr = D1 ('MetaData "PoolDistr" "Cardano.Ledger.PoolDistr" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "PoolDistr" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPoolDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'StakePool) IndividualPoolStake)) :*: S1 ('MetaSel ('Just "pdTotalActiveStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CompactForm Coin)))) |