RFC for Emmy*

Emmy* is just a variant of Emmy+ that offers faster finality.

Emmy+ and Emmy* (like Bitcoin and Ouroboros) only ensure probabilistic finality, and only when the network is synchronous. While Tenderbake (like Tendermint, Hotstuff, Streamlet, Casper FFG and many others) ensures deterministic finality even when the network is asynchronous.

Concerning probabilistic/deterministic finality: assuming an attacker that has less than a third of the total stake, in Emmy+/Emmy* after a few confirmations (depending on how much stake the attacker actually has) a block is final with high probability (but not with 100% certainty); while in Tenderbake, after exactly 1 confirmation (regardless of the exact value of the stake fraction the attacker has) a block is final with 100% certainty. (At least that’s the theory.)

Concerning network synchrony: Assume that the network is partitioned for 1 day, meaning that during this time the synchrony assumption is not satisfied, the network is asynchronous. Then there will be a fork: the nodes in one partition will be on one branch, the nodes in the other partition will be on a different branch. The branches still grow, though more slowly than normally: blocks would be delayed, because they would have fewer endorsements (and not necessarily priority 0), but new blocks would still be produced. And the estimation on the number of confirmations required would probably be wrong. When the network partition resolves, all nodes adopt the longer branch, and all blocks in the shorter branch are discarded, so the finality property is lost. However, in Tenderbake, assuming the partitions are big enough, no new block will be finalized and the chain does not advance anymore until the partition resolves, so the finality property is trivially satisfied.

3 Likes