See also: consensus

Requires $f<2n $

Primarily studied in the synchronous system model. Three forms:

Pseudocode properties (all implementations should satisfy these!):

- Initialize a hard-coded “genesis block” $B_{0}$ so everyone knows where the chain starts
- In each round $r=1,2,3,…$
- One node is chosen as a leader. This leader can prove itself as leader to other nodes, non-leaders cannot pretend to be a leader or manipulate their chances of becoming a leader.
- Leader can create a set of round-$r$ blocks where all of there predecessors are strictly created in some previous round, each with a predecessor block. Blocks form an in-tree rooted at the genesis block.

Honest behaviour

- Form block $B$ using all known pending pending transactions
- Set the predecessor of $B$ to be the current longest chain, break ties arbitrarily
- Immediately broadcast $(B,predecessor)$ to all other nodes

## Balanced Leaders

We define a sequence $l_{1},l_{2},…,∈{H,A}$ as $w$-balanced if in every window $l_{i},l_{i+1},…,l_{j}$ where $j−1≥w$ and a strict majority of leaders in that sequence are honest.

On finality: if $f<2n $, we can consider all but the last $k$ blocks in the chain finalized. $k$ is up to the user to determine what parts of the chain they want to consider finalized.

If we assume that the rate of block production is slow relative to the maximum message delay $Δ$ then inadvertent honest forks rarely occur.

We define $B_{k}(G)$ as the last $k$ blocks of the longest chain where $G$ is the current tree of all transactions known. $B_{k}(G)$ is potentially ill-defined if there are multiple longest chains.

Theorem: if a leader sequence is $2k$-balanced, then for every possible sequence $G_{0},G_{1},…$ has

- The common prefix property: $∀i,B_{k}(G_{i})$ is well defined
- Finality: one a block is confirmed, it is always confirmed, $B_{k}(G_{0})≤B_{k}(G_{1})≤…$
- Liveness: if a transaction is known to all honest nodes, it will eventually be included in $B_{k}(G)$

In the case that we chose completely random leaders:

- we can expect randomly chosen leaders to be reasonably balanced
- on average, expect $1−nf >21 $ nodes to be honest
- bigger window length $w$ means that we are less likely to see $≥50%$ Byzantine nodes
- Probability of a given length $w$ window being $≥50%$ Byzantine is $≤e_{−cw}$ where $c$ is some constant (exponential is good!)
- Probability of a given length $≥w$ window being $≥50%$ Byzantine is $≤T_{2}e_{−cw}$ where $T$ is the length of the sequence we’re considering
- Thus we get a failure probability less than some $δ$ if $w≥c_{2}(lnT+lnδ1 )$

- however, there is a small but non-zero chance of balancing failure