[Avalanche Consensus | Avalanche Dev Docs](https://docs.avax.network/learn/avalanche/avalanche-consensus) Subsampling for voting - adopt the preference of the majority # Snowball Building block of Avalanche Consensus Params: n = number of participants, k = sample size, $\alpha$ = quorum size, $\beta$ = decision threshold >= 1 Go through rounds of getting queries and waiting for a quorum for the same response $\beta$ times in a row As quorum size increase, safety threshold increases and liveness threshold decreases This means that the network can tolerate more byzantine nodes and remain safe - all nodes will eventually agree whether something is accepted or rejected [[Liveness threshold]] is the number of malicious participants that can be tolerated before the protocol is unable to make progress Avalanche uses k=20 $\alpha$ = 14, $\beta$ = 20 As beta increases, safety increases and liveness threshold decreases It's called snowball because of the cascading effect of the queries and quorums A DAG is a partial ordering of things Avalanche uses a DAG rather than a linear chain to store data