Slot leader notes
In Ouroboros classic, slot leaders are known publicly ahead of time and there is always one slot leader per slot. In Praos, each stakeholder knows which slots they lead ahead of time. Others only find out once they publish a block. There can be multiple slot leaders for a slot or none at all. Praos uses a verifiable random function (VRF) as it’s core randomness generating scheme. Given a private key and an input, a VRF scheme outputs a pseudo-random number and a proof. Anyone with your public key and the proof can verify that the number was produced with the given input but can’t produce the number before that time. In Praos, each epoch has an agreed upon nonce which all participants must use as input to their VRF. For each slot, each participant uses their VRF and the nonce to produce a random number. If the number is less than a threshold value proportional to their stake, then they are a leader for that slot. Since these random numbers are produced independently per participant there can be multiple leaders for a slot or none at all. The nonce for the next epoch is produced from VRF values embedded in the block headers of the preceding epoch. (source)
Since slot leaders aren’t publicly known ahead of time, an attacker can’t see who was a slot leader until after they’ve published a block. An attacker can’t know who specifically to attack in order to control a certain slot ahead of time.