## 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

A _Ledger_ (LL) is a sequence of states which comprise the common information
established by some instantiation of the Algorand protocol.

A Ledger is identified by a string called the _genesis identifier_, as well as a
_genesis hash_ that cryptographically commits to the starting state of the Ledger.

Each state consists of the following components:

- The _round_ of the state, which indexes into the Ledger’s sequence of states.

- The _genesis identifier_ and _genesis hash_, which identify the Ledger to which
the state belongs.

- The current _protocol version_ and the _upgrade state_.

- A _timestamp_, which is informational and identifies when the state was first proposed.

- A _seed_, which is a source of randomness used to [establish consensus on the next state](https://specs.algorand.co/abft/abft-messages-seed).

- The current _reward state_, which describes the policy at which incentives are
distributed to participants.

- The current _account state_, which holds account balances and [participation keys](https://specs.algorand.co/keys/keys-participation)
for all stakeholding addresses.
  - One component of this state is the _transaction tail_, which caches the _transaction_
    _sets_ (see below) in the last TxTailmaxTxTailmax blocks.
- The current _box state_, which holds mappings from (AppIDAppID, BoxIDBoxID)
tuples to box contents of arbitrary bytes.
