The Trailing Finality Layer

First, I just want to say that I support the concept of the trailing finality layer. I think it is the safest way to transition, even though it will introduce more complexity. I don’t know of any protocol that went from PoW to PoS completely cold turkey.

Now I am going to repeat my concerns from this thread.

The only real choices we have for a finalizing consensus design are Snowman (Avalanche) and Tendermint (Cosmos). Ethereum’s design has a way too long time to finality (15 minutes), which makes it not suitable in my opinion. I don’t think a cryptocurrency with a long time to finality will gain any traction in day-to-day use.

Why do I believe that Snowman is a better protocol than Tendermint?

  1. Snowman supports millions of fully participating validator nodes (at least theoretically, I haven’t found the highest number actually tested), while Tendermint only supports around 200 currently. Zaki Manian has claimed on Twitter that Tendermint could support at least 1000 validators (without degrading performance) by optimizing the network stack, but that is work that the Zcash devs would have to do because nobody else are doing it. Either way, it is clear that Snowman supports many more nodes than Tendermint.
    Why do I believe this is important? For one it makes us more censorship resistant. Even with concentrated stake, a large number of up and running validators is good because in the event we need to fork out compromised stake, we already have a big pool of alternative validators to run the fork on. I also think it is more conducive to competition between validators. Zcash as a privacy preserving cryptocurrency are among the first in line for attack by nation-state level actors. If you believe that Bitcoin or Ethereum need the number of validators they support, you must believe that Zcash needs at least as large number of validators.
    Another reason I think this is important is because it gives a perception of decentralization and public ownership of the network. Many will reject the notion that we should give perceptions any consideration in protocol design, but the notion of a network that belongs equally to everyone, where a solo hobby home staker can participate in running the network on equal terms with a large institution, is part of what gave crypto any legitimacy. I don’t think Bitcoin would have been where it is today or gained the same public legitimacy if it only had supported 200 validators. Sure, you can argue that delegations and verifying blocks without proposing or voting on them is participating and validating the network, but it doesn’t feel as egalitarian as being able to fully participate in consensus.
    My last reason for believing support for a large node count is good, is that there are more incentives to running your own fullnode that you can connect your mobile wallet to, thus helping reduce some privacy concerns with using public lightwallet servers.

  2. Snowman has a lower time to finality. From searching around and from what I can tell from Cosmos block explorers, Tendermint has a time to finality of about 6 seconds. The Avalanche C-chain has time to finality of about 2 seconds. Some of this time difference may be due to the different virtual machines, but I think it is reasonable to assume that Snowman is a few seconds faster than Tendermint, at least with the current node counts (180 in Cosmos and 1231 in Avalanche). 4 seconds may not seem like much, but it actually matters for the user experience in day-to-day activities like buying a coffee.

The only advantage I see that Tendermint has over Snowman is that it will enable easy interop with other Tendermint chains. Some will also argue that Tendermint is more tested, but the Cosmos chain is only 1.5 years older than Avalanche, so I don’t see a big difference. Avalanche mainnet launched September 2020 while Cosmos launched March 2019. I think the disadvantages I have mentioned regarding Tendermint are more fundamental than bridges and interop and should take precedence.

1 Like