Comments on Avalanche

Emin Gün Sirer posted a Tweet with a link to a paper about a new family of consensus protocols (with Avalanche being the abstract, final form one) here, which seem to have better properties than Bitcoin, other Nakamoto consensus protocols, and traditional consensus protocols.

The protocol probabilistically guarantees safety and liveness with high probability (whp).

Similar to Nakamoto consensus, this new protocol family provides a probabilistic safety guarantee, using a tunable security parameter that can render the possibility of a consensus failure arbitrarily small.

How does it compare to Casper consensus? Casper can explore the full tradeoff triangle, while ideally a protocol is in the middle of the triangle, having a reasonably low amount each of latency, overhead and a reasonably high decentralization. Avalanche consensus has high throughput and low latency that decreases sublinearly as the number of nodes increases (increasing decentralization and accessibility).

Can it be sharded? Maybe theoretically, although given that the protocol is leaderless (at least in a non-sharded context; e.g. there is no committee attesting to the validity of notarizations from notaries, who in turn vote on the data availability of blocks, as is planned with sharding Ethereum), I am not sure how that would be done. It seems like at least one way to shard the protocol is to take the same approach planned by Ethereum.

So without sharding, the bottleneck to the protocol is transaction verification, although the authors state that adding GPUs to nodes would remove this bottleneck. You still need sharding to partition the computational resources of storage and state, computation, bandwidth (uploading, relaying and downloading) and I/O, although sublinear scaling of throughput as node numbers increase delays this need.