If you want a more theoretical review of byzantine consensus protocols, you need to read through the gossip-based protocol literature, in particular byzantine broadcast protocols[1], where consensus is just one powerful primitive among others.
Yeah the broadcast layer is the part where a lot of the byzantine protocols breakdown IMHO. Broadcast storms are very bad. There's also the whole problem of tombstone-ing a proposed block if it doesn't achieve consensus fast enough (which is basically impossible to do as a function of time so you end up doing it as a function of a monotonic counter which has other problems).
Anyways, I love all the byzantine stuff but very little of it is actually practical or fast.
Anyways, I love all the byzantine stuff but very little of it is actually practical or fast.