module Peras.Params where

Peras parameters

record Params : Set where
  field U : ℕ
        K : ℕ
        R : ℕ
        L : ℕ
        A : ℕ
        τ : ℕ
        B : ℕ
        T : ℕ

        ⦃ U-nonZero ⦄ : NonZero U
        ⦃ K-nonZero ⦄ : NonZero K

U

The length (in slots) of a voting round

K

The length of a cooldown period (in voting rounds). This needs to be large enough so that order of b*n + k blocks are produced in time T*K, where k is the current common-prefix parameter

R

Chain-ignorance period

L

Cutoff window (in slots) which is ignored to select block to vote for in a round

A

Max age for including a certificate

τ

The Number of votes required for quorum (3/4*n + 2*δ for some δ > 0)

B

The weight boost per vote

T

Termination bound for block selection, in slots