Other Blockdag Algorithms

Derek Sorensen
Pyrofex
Published in
2 min readMar 22, 2019

We recently got some questions about two consensus algorithms, Albatross and Thundercore, which have some similarities to Casanova. If you’ve been reading our stuff about Casanova and C∆, you will have seen that one of the main features of Casanova is that it’s an “optimistic” algorithm. What that means for us is that we assume that most transactions don’t conflict and only pull out the heavy consensus machinery when we observe a conflict.

Both Albatross and Thunderella have the word “optimistic” in the title, and both use it in a similar way to us. Here are the main similarities/differences that we saw as we read through it.

Thundercore

Thundercore has a similar concept of an optimistic, “fast way” and a backup, “slower way” of confirming transactions. In the most optimistic, ideal situation it can in theory confirm transactions as fast as network speed, which is as good as it gets. But they build on a chain and not a DAG, and their slower, backup algorithm is not fast at all.

In contrast, Casanova can virtually always deliver fast transaction confirmations, approaching the speeds Thundercore’s best-case scenario, regardless of the network conditions. The slower, “backup” algorithm is almost as fast as the standard algorithm and doesn’t affect the speed of the standard algorithm. Because of that, Casanova handles conflicts in a substantially smoother way, and our DAG structure lets us get throughput of about 20x that of Thundercore.

Albatross

Albatross uses PBFT to agree on a set of validators for a round, and then each validator gets a turn in the round to produce a block. The order is chosen by a verifiable random function. Validators are slashed if they produce more than one block on their turn, and invalid blocks are ignored. Validators start a countdown after receiving each block. If they don’t get the next block in time, they use the “view change” portion of the PBFT protocol to switch to the next guy.

Some advantages of Casanova over Albatross are that Casanova builds on a DAG as opposed to a chain like Albatross. This gives us some speed advantages. We also integrate the algorithm in such a way that we don’t need leader election or a VRF. Instead, in Casanova every validator can propose valid blocks simultaneously and have them added to the blockdag. We expect Casanova to be substantially faster than Albatross.

--

--