I’ve been studying Canton recently and I’m wondering how the PBFT used in the GS for the sequencers is safe when a chosen leader for an ordering is malicious. Transactions may be hidden, metadata aren’t and it seems like the leader can prevail consensus in a PBFT. And I believe you choose this leader in a deterministic manner, not randomly. So… How do you handle a malicious leader case in the GS?
Probably better to look at the CometBFT documentation for answers here, since MainNet still relies on CometBFT for the underlying ordering. All leader-related topics start there.
If you’re specifically looking at CantonBFT, that new protocol, expected to go live on MainNet later this year, is based on Narwhal and ISS; the papers on those two protocols would be a good starting point.
Canton will also publish more details about the specific implementation of Narwhal and ISS used in Canton BFT.