## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

- Auto
- Light
- Dark

# Algorand Specifications

The Algorand protocol is parameterized by the following constants:

These values represent durations of _time_.

| SYMBOL      | VALUE (seconds) | DESCRIPTION                                                                                          |
|-------------|------------------|------------------------------------------------------------------------------------------------------|
| λλ          | 2.00            | Time for small message (e.g., a vote) propagation in ideal network conditions                        |
| λ0min      | 0.25            | Minimum amount of time for small message propagation in good network conditions, for p=0              |
| λ0max      | 1.50            | Maximum amount of time for small message propagation in good network conditions, for p=0              |
| λf         | 300.00          | Frequency at which the protocol _fast recovery_ steps are repeated                                   |
| ΛΛ          | 17.00           | Time for big message (e.g., a block) propagation in ideal network conditions                         |
| Λ0         | 4.00            | Time for big message propagation in good network conditions, for p=0                                  |

These are positive integers that represent an amount of protocol _rounds_.

| SYMBOL      | VALUE (rounds) | DESCRIPTION                                 |
|-------------|----------------|---------------------------------------------|
| δs          | 22             | The “seed lookback”                           |
| δr          | 8080           | The “seed refresh interval”                   |

For convenience, we define:

- δb=2δsδr (the “balance lookback”).

We define FilterTimeout(p) on a _period_ p as follows:

- If p=0 the FilterTimeout(p) is calculated dynamically based on the lower 95th percentile of the observed lowest credentials per round arrival time:
  - 2λ0min≤FilterTimeout(p)≤2λ0max

> Refer to the [non-normative](https://specs.algorand.co/abft/non-normative/abft-nn-dynamic-filter-timeout) section
> for details about the implementation of the dynamic filtering mechanism.

- If p≠0:
  - FilterTimeout(p)=2λ.

We define DeadlineTimeout(p) on _period_ p as follows:

- If p=0:
  - DeadlineTimeout(p)=Λ0
- If p≠0:
  - DeadlineTimeout(p)=Λ

> Important
>
> **IMPLEMENTATION:**
>
> DeadlineTimeout [reference implementation](https://github.com/algorand/go-algorand/blob/b6e5bcadf0ad3861d4805c51cbf3f695c38a93b7/agreement/types.go#L67).
