What's the difference between different versions of Ouroboros consensus protocol? I know there are so many discussions on the web, but most of them just repeat the few same sentences and does not provide any insight.

Question: After Ouroboros Classic, Cardano implemented Ouroboros BFT, but they kept the BFT protocol on the Mainnet for only 5 months.
1- What was the problem with Ouroboros Classic that it was replaced by Ouroboros BFT? 2- Why was Ouroboros BFT on the Mainnet only 5 months?

1 Answer 1


Here is a recent blog post by IOHK explaining the different "flavors" of Ouroboros.

Regarding your question/comments - there wasn't anything "wrong" with the Ouroboros-BFT (OBFT) concept of federated servers. As per the original Cardano roadmap, the network was intended to be bootstrapped from a federated setting (where all block production is done by a central entity, in this case IOG), and then transition to a decentralized network (Shelley Era). This transition had to be executed well, because every transition/HFC after this point would be on a decentralized network, with no chance of reverting back to a central point of control.

Without going too deep into the differences between O-Classic and OBFT (because I don't really know them), OBFT was a sort of cleanup of all the lessons learned from Classic that would allow for smooth and stable transition(s) from Byron to Shelley to Goguen and beyond. In other words, it was extremely important that the initial conditions of the system were such that, upon releasing it into the wild, evolving/upgrading the protocol would be as straightforward as it is today. A lot of forethought went into this, and for this reason, the classic to OBFT transition was the only real "Hard Fork" in Cardano's history. It marked the end of Cardano's infancy, and imbued the system with the ability to evolve.

  • Thank you @zhekson for paying attention to this post. However, the link you provided in your answer contains a limited amount of information. For example, it says "It is worth noting that BFT required a larger fraction of honest parties than other Ouroboros versions". But, in Ouroboros BFT paper clearly has been mentioned that the Ouroboros BFT increased the fault tolerant from n/3 (for standard BFTs) to n/2 (like the Classic protocol).
    – R R
    Aug 5, 2022 at 19:28
  • Ouroboros BFT introduced the concept of "federated network of servers". What was wrong in this concept that caused Praos to replace it. Please note that I understand that Praos introduced the VRF concept to prevent adversaries and also, improved the design assumptions from synchronous network (in BFT) to partially synchronous network (in Praos). But, my question goes back to the "federated network of servers" part in BFT that is replaced by Praos?
    – R R
    Aug 5, 2022 at 19:41
  • edited original answer to better address your question/comments. My knowledge on the differences between classic/OBFT is limited, and I am expressing my understanding of the philosophical differences between the two.
    – zhekson
    Aug 5, 2022 at 21:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.