JAR: JAM Axiomatic Reference

4.4. Block Header Types (§5)🔗

🔗structure
Jar.EpochMarker : Type
Jar.EpochMarker : Type

Epoch marker: entropy and validator keys for the following epoch. GP §5.1: H_E ∈ ⟨ℍ, ℍ, ⟦⟨H̃, H̄⟩⟧_V⟩?

Constructor

Jar.EpochMarker.mk

Fields

entropy : Hash

Randomness for next epoch. ℍ.

entropyPrev : Hash

Previous epoch randomness. ℍ.

validators : Array (BandersnatchPublicKey × Ed25519PublicKey)

Next epoch validator keys (Bandersnatch, Ed25519). ⟦⟨H̃, H̄⟩⟧_V.

🔗structure
Jar.Header [Jar.JamConfig] : Type
Jar.Header [Jar.JamConfig] : Type

H : Block header. GP eq (5.1). H ≡ (H_p, H_r, H_x, H_t, H_e, H_w, H_o, H_i, H_v, H_s)

Constructor

Jar.Header.mk

Fields

parent : Hash

H_p : Parent block header hash. ℍ.

stateRoot : Hash

H_r : Prior state root (Merkle commitment of parent's posterior state). ℍ.

extrinsicHash : Hash

H_x : Extrinsic hash (Merkle commitment of extrinsic data). ℍ.

timeslot : Jar.Timeslot

H_t : Timeslot index. ℕ_T.

epochMarker : Option Jar.EpochMarker

H_e : Epoch marker. Optional — present only at epoch boundaries.

ticketsMarker : Option (Array Jar.Ticket)

H_w : Winning-tickets marker. Optional — ⟦𝕋⟧_E when present.

offenders : Array Ed25519PublicKey

H_o : Offenders marker — newly misbehaving validators. ⟦H̄⟧.

authorIndex : Jar.ValidatorIndex

H_i : Block author index into validator set. ℕ_V.

vrfSignature : BandersnatchSignature

H_v : Entropy-yielding VRF signature. 𝔹_96.

sealSig : BandersnatchSignature

H_s : Block seal signature. 𝔹_96.