Endorsements are public, so anyone can see which nodes have been endorsed and when. You simply use a set of the most recent endorsements to determine who the current consensus nodes are for a transaction at the time it was created (and if the time is forged, it doesn't matter).
This works, is reliable and robust for a number of reasons:
1 Only endorsed nodes that were included in final transactions, voted for by a previous set of eligible nodes are selected, so you have a reliable set that everyone can agree. Consensus on the transactions results in consensus of a future agreed set.
2 Providing that the selection set is recent, then you have a very high chance that those nodes are still online and that they will be around to take part in the consensus process. Thus you have a reliable majority available. Only in rare edge cases would a majority of those nodes have all suddenly gone offline.
Two questions:
1) Is is possible that the eligible set of nodes changes so rapidly, that nodes with high latency don't have time to pick up on what the agreed set should be?
2) Doesn't this lead to an ever decreasing set of eligible nodes, since nodes will go offline and only nodes that are eligible are from the previous round?
The exception is FBA (Stellar), but I'm not sure if I 100% align with the philosophy of it, as having nodes pick their own consensus nodes raises a few flags for me.
You are aware of the fact that stellar's consensus was so completely broken that they had to resort to running only one validating node? The reason being that they were unable to deal with forks, which the consensus didn't expect to be possible.
1) No, there is a set interval of 60 seconds (which is also the transaction failure duration) where eligible nodes are valid. So say that the time now is 00:01:00, a set of nodes are valid, at 00:02:00 a different set of nodes are valid based on the endorsements made in the interval 00:00:00 -> 00:01:00. This should allow even the most latent of nodes to keep pace.
2) Hmm I'm not sure how you have come to that conclusion. If nodes go offline, then come online again later, they will receive endorsements again, which will increase the eligible set of nodes again.
Yes I'm aware of that, the FBA algorithm is the replacement for that broken one.