Basic Node Configuration, Why the TPraos protocol?

Why do we use the TPraos protocol in the Basic Node Configuration? Isn’t there more recent Ouroboros protocols ?
What could be the other options and how do they relate to the different networks (testnet, main-net Shelley/ Byron) ?

If I have gotten this wrong I hope someone jumps all over me for being a n00b and gets it all out in the open, since this question has also caused me a spot of bother:

At the time of this writing, the Basic Node Configuration in the official Cardano docs says to use TPraos, but when I had this set as they indicate in config.json none of my nodes were able to download anything past the genesis block (staying at tip point 0 forever).

Later on in the Get configuration files section, at the time of this writing it points to the IOHK Github link which currently has a mainnet-config.json with Protocol: set to Cardano:

"Protocol": "Cardano",

Only when I defined my protocol as Cardano like this did my nodes start syncing up as expected. There’s lots of documentation out there saying that TPraos is the wave of the future but it doesn’t seem to be the protocol everybody’s currently using.

I’d also like to see a document of exactly when & where people are supposed to use any of the available "Protocol": options. The last thing I’d want at this point is for my nodes to suddently break at some apparently random time in the future because we were expected to have been using the TPraos protocol all along somehow.

1 Like